تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يوضح هذا المستند كيفية نشر مكدس Telgraf و FlowDB و Grafana (TIG) وربطه مع المحول Catalyst 9800.
يوضح هذا المستند قدرات الواجهات البرامجية ل Catalyst 9800 من خلال عملية تكامل معقدة. يهدف هذا المستند إلى توضيح كيف يمكن تخصيص هذه المكونات بالكامل استنادا إلى أي حاجة إليها وتقديمها كمدخرين للوقت اليومي. يعتمد النشر الذي يتم عرضه هنا على gRPC ويقدم تكوين بيانات تتبع الاستخدام لجعل البيانات اللاسلكية من المادة حفازة 9800 متوفرة في أي حزمة ملاحظات من Telgraf و FlowDB و Grafana (TIG).
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
في هذا المثال، يتم تكوين القياس عن بعد على قائمة تحكم في الوصول إلى النقل (9800-CL) باستخدام اتصال GRPC لدفع المعلومات على تطبيق TeleGraf الذي يخزنها في قاعدة بيانات FlowDB. هنا، تم إستخدام جهازين،
لا يركز دليل التكوين هذا على نشر هذه الأجهزة بالكامل بل على التكوينات المطلوبة على كل تطبيق لإرسال معلومات 9800 واستقبالها وتقديمها بشكل صحيح.
قبل الانتقال إلى جزء التكوين، تأكد من تشغيل مثيل "التدفق" بشكل صحيح. يمكن القيام بذلك بسهولة باستخدام systemctl status
الأمر، إذا كنت تستخدم برنامج لينوكس.
admin@tig:~$ systemctl status influxd
● influxdb.service - InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-06-14 13:06:18 UTC; 2 weeks 5 days ago
Docs: https://docs.influxdata.com/influxdb/
Main PID: 733 (influxd)
Tasks: 15 (limit: 19180)
Memory: 4.2G
CPU: 1h 28min 47.366s
CGroup: /system.slice/influxdb.service
└─733 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
على سبيل المثال، لعمل هذا المثال، يحتاج Telgraf إلى قاعدة بيانات لتخزين القياسات وكذلك مستخدم للاتصال بهذه القاعدة. يمكن إنشاء هذه بسهولة من واجهة سطر الأوامر (CLI) الخاصة ب FlowDB، باستخدام الأوامر التالية:
admin@tig:~$ influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> create database TELEGRAF
> create user telegraf with password 'YOUR_PASSWORD'
قاعدة البيانات التي تم إنشاؤها الآن، يمكن تكوين TeleGraf لتخزين المقاييس فيها بشكل صحيح.
يوجد تكوينان فقط من Telgraf مثيران للاهتمام لهذا المثال لعمله. /etc/telegraf/telegraf.conf
يمكن عمل هذا (كالعادة للتطبيقات التي تعمل على Unix) من ملف التكوين.
الاول يعلن المخرج مستخدم تلجراف. وكما ذكرنا سابقا، يتم إستخدام FlowDB هنا ويتم تكوينها في قسم الإخراج من telegraf.conf
الملف كما يلي:
###############################################################################
# OUTPUT PLUGINS #
###############################################################################
# Output Plugin InfluxDB
[[outputs.influxdb]]
## The full HTTP or UDP URL for your InfluxDB instance.
# ##
# ## Multiple URLs can be specified for a single cluster, only ONE of the
# ## urls will be written to each interval.
urls = [ "http://127.0.0.1:8086" ]
# ## The target database for metrics; will be created as needed.
# ## For UDP url endpoint database needs to be configured on server side.
database = "TELEGRAF"
# ## HTTP Basic Auth
username = "telegraf"
password = "YOUR_PASSWORD"
يرشد هذا الأمر عملية Telgraf لتخزين البيانات التي تتلقاها في FlowDB التي تعمل على المضيف نفسه على المنفذ 8086 ولاستخدام قاعدة البيانات التي تسمى "Telgraf" (بالإضافة إلى بيانات الاعتماد telegraf/YOUR_PASSWORD للوصول إليها).
إذا كان أول ما تم إعلانه هو تنسيق المخرجات، الثاني هو، بطبيعة الحال، المدخل الأول. لإعلام Telgraf بأن البيانات التي تتلقاها تأتي من جهاز Cisco باستخدام القياس عن بعد، يمكنك إستخدام الوحدة النمطية للإدخال Cisco_Telemetry_mdt". لتكوين هذا، تحتاج فقط إلى إضافة هذه الأسطر في /etc/telegraf/telegraf.conf
الملف:
###############################################################################
# INPUT PLUGINS #
###############################################################################
# # Cisco model-driven telemetry (MDT) input plugin for IOS XR, IOS XE and NX-OS platforms
[[inputs.cisco_telemetry_mdt]]
# ## Telemetry transport can be "tcp" or "grpc". TLS is only supported when
# ## using the grpc transport.
transport = "grpc"
#
# ## Address and port to host telemetry listener
service_address = ":57000"
# ## Define aliases to map telemetry encoding paths to simple measurement names
[inputs.cisco_telemetry_mdt.aliases]
ifstats = "ietf-interfaces:interfaces-state/interface/statistics"
وهذا يجعل تطبيق TeleGraf الذي يعمل على المضيف (على المنفذ الافتراضي 57000) قادرا على فك ترميز البيانات المستلمة الواردة من عنصر التحكم في الشبكة المحلية اللاسلكية (WLC).
بمجرد حفظ التكوين، تأكد من إعادة تشغيل Telgraf لتطبيقه على الخدمة. تأكد أيضا من إعادة تشغيل الخدمة بشكل صحيح:
admin@tig:~$ sudo systemctl restart telegraf
admin@tig:~$ systemctl status telegraf.service
● telegraf.service - Telegraf
Loaded: loaded (/lib/systemd/system/telegraf.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-07-03 17:12:49 UTC; 2min 18s ago
Docs: https://github.com/influxdata/telegraf
Main PID: 110182 (telegraf)
Tasks: 10 (limit: 19180)
Memory: 47.6M
CPU: 614ms
CGroup: /system.slice/telegraf.service
└─110182 /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d
وكما ذكرنا، يتم تنظيم القياسات على أجهزة Cisco كما على العديد من الأجهزة الأخرى وفقا لنموذج YANG. يمكن العثور على طرازات Cisco YANG المحددة لكل إصدار من IOS XE (المستخدم على 9800) هنا، وخاصة طراز IOS XE Dublin 17.12.03 المستخدم في هذا المثال.
في هذا المثال، نركز على تجميع مقاييس إستخدام وحدة المعالجة المركزية (CPU) من مثيل 9800-CL المستخدم. من خلال فحص نموذج YANG ل Cisco IOS XE Dublin 17.12.03، يمكن للمرء تحديد الوحدة النمطية التي تحتوي على إستخدام وحدة المعالجة المركزية (CPU) لوحدة التحكم، وخاصة للثوان الخمس الأخيرة. وهذه أجزاء من وحدة المعالجة المركزية (CPU) من Cisco-IOS-XE-process-cpu-oper، تحت تجميع إستخدام وحدة المعالجة المركزية (صفحة خمس ثوان).
يعتمد إطار عمل طلب اتصال GRPC على NETCONF للعمل بنفس الطريقة. لذلك، هذا سمة ينبغي كنت مكنت على ال 9800 وهذا تحقق ب يركض هذا أمر:
WLC(config)#netconf ssh
WLC(config)#netconf-yang
بمجرد ظهور XPaths (a.k.a، XML Paths Language) للمقاييس المحددة من طراز YANG، يمكن تكوين اشتراك في القياس عن بعد بسهولة من واجهة سطر الأوامر (CLI) طراز 9800 لبدء دفقها إلى مثيل TeleGraf المكون في الخطوة 2. ويتم القيام بذلك من خلال تنفيذ هذه الأوامر:
WLC(config)#telemetry ietf subscription 101
WLC(config-mdt-subs)#encoding encode-kvgpb
WLC(config-mdt-subs)#filter xpath /process-cpu-ios-xe-oper:cpu-usage/cpu-utilization/five-seconds
WLC(config-mdt-subs)#source-address 10.48.39.130
WLC(config-mdt-subs)#stream yang-push
WLC(config-mdt-subs)#update-policy periodic 100
WLC(config-mdt-subs)#receiver ip address 10.48.39.98 57000 protocol grpc-tcp
في كتلة الرمز هذه، يتم أولا تحديد اشتراك بيانات تتبع الاستخدام بالمعرف 101. يمكن أن يكون معرف الاشتراك أي رقم بين <0-2147483647> طالما أنه لا يتداخل مع اشتراك آخر. تم تكوين هذا الاشتراك، بهذا الترتيب:
/process-cpu-ios-xe-oper:cpu-usage/cpu-utilization/five-seconds
).والآن بعد أن بدأت وحدة التحكم في إرسال البيانات إلى شركة Telgraf وتخزينها في قاعدة بيانات تدفق TelgrafDB، فقد حان الوقت لتكوين Grafana للسماح لها باستعراض هذه المقاييس.
من واجهة المستخدم الرسومية الخاصة بك، انتقل إلى المنزل > الاتصالات > توصيل البيانات واستخدم شريط البحث للعثور على مصدر بيانات تدفق البيانات.
حدد نوع مصدر البيانات هذا واستخدم الزر "إنشاء مصدر بيانات تدفق البيانات" لتوصيل Grafana وقاعدة بيانات TELEGRAPH التي تم إنشاؤها في الخطوة 1.
تعبئة النموذج الذي يظهر على الشاشة، قم بتوفير:
يتم تنظيم مرئيات Grafana في لوحات المعلومات. لإنشاء لوحة معلومات تحتوي على المرئيات Catalyst 9800 Metrics Visual، انتقل إلى الصفحة الرئيسية > لوحات المعلومات واستخدم زر "لوحة معلومات جديدة"
يؤدي ذلك إلى فتح لوحة المعلومات الجديدة التي تم إنشاؤها. انقر فوق رموز التروس للوصول إلى معلمة لوحة المعلومات وتغيير اسمها. في المثال، يتم إستخدام "بيانات تتبع إستخدام Catalyst 9800". بمجرد تنفيذ ذلك، أستخدم الزر "حفظ لوحة المعلومات" لحفظ لوحة المعلومات.
الآن، بعد إرسال البيانات واستقبالها وتخزينها بشكل صحيح وأن غرافانا لديها إمكانية الوصول إلى موقع التخزين هذا، حان الوقت لإنشاء تصور لها.
من أي لوحة معلومات Grafana الخاصة بك، أستخدم الزر "إضافة" وحدد "عرض" من القائمة التي تظهر لإنشاء عرض لمقايسك.
هذا يفتح لوحة التحرير من ال يخلق مرئيات:
من هذه اللوحة، حدد
بمجرد ضغط زر "حفظ/تطبيق" من الشكل السابق، فإن المرئيات التي تظهر إستخدام وحدة المعالجة المركزية الخاصة بوحدة التحكم Catalyst 9800 عبر الوقت يتم إضافتها إلى لوحة المعلومات. يمكن حفظ التغييرات التي تم إجراؤها على لوحة المعلومات باستخدام زر أيقونة القرص المرن.
Building configuration...
Current configuration : 112215 bytes
!
! Last configuration change at 14:28:36 UTC Thu May 23 2024 by admin
! NVRAM config last updated at 14:28:23 UTC Thu May 23 2024 by admin
!
version 17.12
[...]
aaa new-model
!
!
aaa authentication login default local
aaa authentication login local-auth local
aaa authentication dot1x default group radius
aaa authorization exec default local
aaa authorization network default group radius
[...]
vlan internal allocation policy ascending
!
vlan 39
!
vlan 1413
name VLAN_1413
!
!
interface GigabitEthernet1
switchport access vlan 1413
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet2
switchport trunk allowed vlan 39,1413
switchport mode trunk
negotiation auto
no mop enabled
no mop sysid
!
interface Vlan1
no ip address
no ip proxy-arp
no mop enabled
no mop sysid
!
interface Vlan39
ip address 10.48.39.130 255.255.255.0
no ip proxy-arp
no mop enabled
no mop sysid
[...]
telemetry ietf subscription 101
encoding encode-kvgpb
filter xpath /process-cpu-ios-xe-oper:cpu-usage/cpu-utilization
source-address 10.48.39.130
stream yang-push
update-policy periodic 1000
receiver ip address 10.48.39.98 57000 protocol grpc-tcp
[...]
netconf-yang
# Configuration for telegraf agent
[agent]
metric_buffer_limit = 10000
collection_jitter = "0s"
debug = true
quiet = false
flush_jitter = "0s"
hostname = ""
omit_hostname = false
###############################################################################
# OUTPUT PLUGINS #
###############################################################################
# Configuration for sending metrics to InfluxDB
[[outputs.influxdb]]
urls = ["http://127.0.0.1:8086"]
database = "TELEGRAF"
username = "telegraf"
password = "Wireless123#"
###############################################################################
# INPUT PLUGINS #
###############################################################################
###############################################################################
# SERVICE INPUT PLUGINS #
###############################################################################
# # Cisco model-driven telemetry (MDT) input plugin for IOS XR, IOS XE and NX-OS platforms
[[inputs.cisco_telemetry_mdt]]
transport = "grpc"
service_address = "10.48.39.98:57000"
[inputs.cisco_telemetry_mdt.aliases]
ifstats = "ietf-interfaces:interfaces-state/interface/statistics"
### Welcome to the InfluxDB configuration file.
reporting-enabled = false
[meta]
dir = "/var/lib/influxdb/meta"
[data]
dir = "/var/lib/influxdb/data"
wal-dir = "/var/lib/influxdb/wal"
[retention]
enabled = true
check-interval = "30m"
#################################### Server ####################################
[server]
http_addr = 10.48.39.98
domain = 10.48.39.98
من جانب عنصر التحكم في الشبكة المحلية اللاسلكية (WLC)، فإن أول شيء للتحقق من ذلك هو أن العمليات المتعلقة بالواجهات البرامجية قيد التشغيل.
#show platform software yang-management process
confd : Running
nesd : Running
syncfd : Running
ncsshd : Running <-- NETCONF / gRPC Dial-Out
dmiauthd : Running <-- For all of them, Device Managment Interface needs to be up.
nginx : Running <-- RESTCONF
ndbmand : Running
pubd : Running
gnmib : Running <-- gNMI
بالنسبة ل NETconf (المستخدم بواسطة اتصال gRPC خارجي)، يمكن أن يساعد هذا الأمر أيضا في التحقق من حالة العملية.
WLC#show netconf-yang status
netconf-yang: enabled
netconf-yang candidate-datastore: disabled
netconf-yang side-effect-sync: enabled
netconf-yang ssh port: 830
netconf-yang turbocli: disabled
netconf-yang ssh hostkey algorithms: rsa-sha2-256,rsa-sha2-512,ssh-rsa
netconf-yang ssh encryption algorithms: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,aes256-cbc
netconf-yang ssh MAC algorithms: hmac-sha2-256,hmac-sha2-512,hmac-sha1
netconf-yang ssh KEX algorithms: diffie-hellman-group14-sha1,diffie-hellman-group14-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group16-sha512
بمجرد التحقق من حالة العملية، يوجد تحقق آخر مهم وهو حالة اتصال القياس عن بعد بين Catalyst 9800 ومستلم Telgraf. ويمكن عرضه باستخدام الأمر "show telemetry connection all".
WLC#show telemetry connection all
Telemetry connections
Index Peer Address Port VRF Source Address State State Description
----- -------------------------- ----- --- -------------------------- ---------- --------------------
28851 10.48.39.98 57000 0 10.48.39.130 Active Connection up
إذا كان اتصال بيانات تتبع الاستخدام قيد التشغيل بين عنصر التحكم في الشبكة المحلية اللاسلكية (WLC) وجهاز الاستقبال، فيمكن أيضا التأكد من أن الاشتراكات التي تم تكوينها صحيحة باستخدام الأمرshow telemetry ietf subscription all brief
.
WLC#show telemetry ietf subscription all brief
ID Type State State Description
101 Configured Valid Subscription validated
يوفر الإصدار المفصل من هذا الأمر، show telemetry ietf subscription all detail
مزيد من المعلومات حول الاشتراكات ويمكن أن يساعد في الإشارة إلى مشكلة من التكوين الخاص به.
WLC#show telemetry ietf subscription all detail
Telemetry subscription detail:
Subscription ID: 101
Type: Configured
State: Valid
Stream: yang-push
Filter:
Filter type: xpath
XPath: /process-cpu-ios-xe-oper:cpu-usage/cpu-utilization
Update policy:
Update Trigger: periodic
Period: 1000
Encoding: encode-kvgpb
Source VRF:
Source Address: 10.48.39.130
Notes: Subscription validated
Named Receivers:
Name Last State Change State Explanation
-------------------------------------------------------------------------------------------------------------------------------------------------------
grpc-tcp://10.48.39.98:57000 05/23/24 08:00:25 Connected
تقوم وحدة التحكم Catalyst 9800 بإرسال بيانات gRPC إلى منفذ جهاز الاستقبال الذي تم تكوينه لكل اشتراك في بيانات تتبع الاستخدام.
WLC#show run | include receiver ip address
receiver ip address 10.48.39.98 57000 protocol grpc-tcp
للتحقق من اتصال الشبكة بين عنصر التحكم في الشبكة المحلية اللاسلكية (WLC) وجهاز الاستقبال على هذا المنفذ الذي تم تكوينه، تتوفر العديد من الأدوات.
من عنصر التحكم في الشبكة المحلية اللاسلكية (WLC)، يمكن إستخدام برنامج Telnet على جهاز الاستقبال الذي تم تكوينه IP/port (هنا 10.48.39.98:57000) للتحقق من أن هذا الجهاز مفتوح ويمكن الوصول إليه من وحدة التحكم نفسها. إن لا يكون حركة مرور يكون يمنع، ميناء ينبغي ظهرت كمفتوح في الإنتاج:
WLC#telnet 10.48.39.98 57000
Trying 10.48.39.98, 57000 ... Open <-------
بدلا من ذلك، يمكن للمرء إستخدام NMAP من أي مضيف لضمان أن المستقبل تعرض بشكل صحيح على المنفذ الذي تم تكوينه.
$ sudo nmap -sU -p 57000 10.48.39.98
Starting Nmap 7.95 ( https://nmap.org ) at 2024-05-17 13:12 CEST
Nmap scan report for air-1852e-i-1.cisco.com (10.48.39.98)
Host is up (0.020s latency).
PORT STATE SERVICE
57000/udp open|filtered unknown
Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds
2024/05/23 14:40:36.566486156 {pubd_R0-0}{2}: [mdt-ctrl] [30214]: (note): **** Event Entry: Configured legacy receiver creation/modification of subscription 101 receiver 'grpc-tcp://10.48.39.98:57000'
2024/05/23 14:40:36.566598609 {pubd_R0-0}{2}: [mdt-ctrl] [30214]: (note): Use count for named receiver 'grpc-tcp://10.48.39.98:57000' set to 46.
2024/05/23 14:40:36.566600301 {pubd_R0-0}{2}: [mdt-ctrl] [30214]: (note): {subscription receiver event='configuration created'} received for subscription 101 receiver 'grpc-tcp://10.48.39.98:57000'
[...]
2024/05/23 14:40:36.572402901 {pubd_R0-0}{2}: [pubd] [30214]: (info): Collated data collector filters for subscription 101.
2024/05/23 14:40:36.572405081 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Creating periodic sensor for subscription 101.
2024/05/23 14:40:36.572670046 {pubd_R0-0}{2}: [pubd] [30214]: (info): Creating data collector type 'ei_do periodic' for subscription 101 using filter '/process-cpu-ios-xe-oper:cpu-usage/cpu-utilization'.
2024/05/23 14:40:36.572670761 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Creating crimson data collector for filter '/process-cpu-ios-xe-oper:cpu-usage/cpu-utilization' (1 subfilters) with cap 0x0001.
2024/05/23 14:40:36.572671763 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Need new data collector instance 0 for subfilter '/process-cpu-ios-xe-oper:cpu-usage/cpu-utilization'.
2024/05/23 14:40:36.572675434 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Creating CRIMSON periodic data collector for filter '/process-cpu-ios-xe-oper:cpu-usage/cpu-utilization'.
2024/05/23 14:40:36.572688399 {pubd_R0-0}{2}: [pubd] [30214]: (debug): tree rooted at cpu-usage
2024/05/23 14:40:36.572715384 {pubd_R0-0}{2}: [pubd] [30214]: (debug): last container/list node 0
2024/05/23 14:40:36.572740734 {pubd_R0-0}{2}: [pubd] [30214]: (debug): 1 non leaf children to render from cpu-usage down
2024/05/23 14:40:36.573135594 {pubd_R0-0}{2}: [pubd] [30214]: (debug): URI:/cpu_usage;singleton_id=0 SINGLETON
2024/05/23 14:40:36.573147953 {pubd_R0-0}{2}: [pubd] [30214]: (debug): 0 non leaf children to render from cpu-utilization down
2024/05/23 14:40:36.573159482 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Timer created for subscription 101, sensor 0x62551136f0e8
2024/05/23 14:40:36.573166451 {pubd_R0-0}{2}: [mdt-ctrl] [30214]: (note): {subscription receiver event='receiver connected'} received with peer (10.48.39.98:57000) for subscription 101 receiver 'grpc-tcp://10.48.39.98:57000'
2024/05/23 14:40:36.573197750 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Starting batch from periodic collector 'ei_do periodic'.
2024/05/23 14:40:36.573198408 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Building from the template
2024/05/23 14:40:36.575467870 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Created dbal batch:133, for crimson subscription
2024/05/23 14:40:36.575470867 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Done building from the template
2024/05/23 14:40:36.575481078 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Executing batch:133 for periodic subscription
2024/05/23 14:40:36.575539723 {pubd_R0-0}{2}: [mdt-ctrl] [30214]: (note): {subscription id=101 receiver name='grpc-tcp://10.48.39.98:57000', state='connecting'} handling 'receiver connected' event with result 'e_mdt_rc_ok'
2024/05/23 14:40:36.575558274 {pubd_R0-0}{2}: [mdt-ctrl] [30214]: (note): {subscription receiver event='receiver connected'} subscription 101 receiver 'grpc-tcp://10.48.39.98:57000' changed
2024/05/23 14:40:36.577274757 {ndbmand_R0-0}{2}: [ndbmand] [30690]: (info): get__next_table reached the end of table for /services;serviceName=ewlc_oper/capwap_data@23
2024/05/23 14:40:36.577279206 {ndbmand_R0-0}{2}: [ndbmand] [30690]: (debug): Cleanup table for /services;serviceName=ewlc_oper/capwap_data cursor=0x57672da538b0
2024/05/23 14:40:36.577314397 {ndbmand_R0-0}{2}: [ndbmand] [30690]: (info): get__next_object cp=ewlc-oper-db exit return CONFD_OK
2024/05/23 14:40:36.577326609 {ndbmand_R0-0}{2}: [ndbmand] [30690]: (debug): yield ewlc-oper-db
2024/05/23 14:40:36.579099782 {iosrp_R0-0}{1}: [parser_cmd] [26295]: (note): id= A.B.C.D@vty0:user= cmd: 'receiver ip address 10.48.39.98 57000 protocol grpc-tcp' SUCCESS 2024/05/23 14:40:36.578 UTC
2024/05/23 14:40:36.580979429 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Batch response received for crimson sensor, batch:133
2024/05/23 14:40:36.580988867 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Green response: Result rc 0, Length: 360, num_records 1
2024/05/23 14:40:36.581175013 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Green Resp cursor len 63
2024/05/23 14:40:36.581176173 {pubd_R0-0}{2}: [pubd] [30214]: (debug): There is no more data left to be retrieved from batch 133.
2024/05/23 14:40:36.581504331 {iosrp_R0-0}{2}: [parser_cmd] [24367]: (note): id= 10.227.65.133@vty1:user=admin cmd: 'receiver ip address 10.48.39.98 57000 protocol grpc-tcp' SUCCESS 2024/05/23 14:40:36.553 UTC
[...]
2024/05/23 14:40:37.173223406 {pubd_R0-0}{2}: [pubd] [30214]: (info): Added queue (wq: tc_inst 60293411, 101) to be monitored (mqid: 470)
2024/05/23 14:40:37.173226005 {pubd_R0-0}{2}: [pubd] [30214]: (debug): New subscription (subscription 101) monitoring object stored at id 19
2024/05/23 14:40:37.173226315 {pubd_R0-0}{2}: [pubd] [30214]: (note): Added subscription for monitoring (subscription 101, msid 19)
2024/05/23 14:40:37.173230769 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Stats updated for Q (wq: tc_inst 60293411, 101), total_enqueue: 1
2024/05/23 14:40:37.173235969 {pubd_R0-0}{2}: [pubd] [30214]: (debug): (grpc::events) Processing event Q
2024/05/23 14:40:37.173241290 {pubd_R0-0}{2}: [pubd] [30214]: (debug): GRPC telemetry connector update data for subscription 101, period 1 (first: true)
2024/05/23 14:40:37.173257944 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Encoding path is Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization
2024/05/23 14:40:37.173289128 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Creating kvgpb encoder
2024/05/23 14:40:37.173307771 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Creating combined parser
2024/05/23 14:40:37.173310050 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Beginning MDT yang container walk for record 0
2024/05/23 14:40:37.173329761 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Dispatching new container [data_node: name=Cisco-IOS-XE-process-cpu-oper:cpu-usage, type=container, parent=n/a, key=false]
2024/05/23 14:40:37.173334681 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Container 'Cisco-IOS-XE-process-cpu-oper:cpu-usage' started successfully
2024/05/23 14:40:37.173340313 {pubd_R0-0}{2}: [pubd] [30214]: (debug): add data in progress
2024/05/23 14:40:37.173343079 {pubd_R0-0}{2}: [pubd] [30214]: (debug): GRPC telemetry connector continue data for subscription 101, period 1 (first: true)
2024/05/23 14:40:37.173345689 {pubd_R0-0}{2}: [pubd] [30214]: (debug): (grpc::events) Processing event Q
2024/05/23 14:40:37.173350431 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Dispatching new container [data_node: name=cpu-utilization, type=container, parent=Cisco-IOS-XE-process-cpu-oper:cpu-usage, key=false]
2024/05/23 14:40:37.173353194 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Deferred container cpu-utilization
2024/05/23 14:40:37.173355275 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Container 'cpu-utilization' started successfully
2024/05/23 14:40:37.173380121 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Dispatching new leaf [name=five-seconds, value=3, parent=cpu-utilization, key=false]
2024/05/23 14:40:37.173390655 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Leaf 'five-seconds' added successfully
2024/05/23 14:40:37.173393529 {pubd_R0-0}{2}: [pubd] [30214]: (debug): add data in progress
2024/05/23 14:40:37.173395693 {pubd_R0-0}{2}: [pubd] [30214]: (debug): GRPC telemetry connector continue data for subscription 101, period 1 (first: true)
2024/05/23 14:40:37.173397974 {pubd_R0-0}{2}: [pubd] [30214]: (debug): (grpc::events) Processing event Q
2024/05/23 14:40:37.173406311 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Dispatching new leaf [name=five-seconds-intr, value=0, parent=cpu-utilization, key=false]
2024/05/23 14:40:37.173408937 {pubd_R0-0}{2}: [pubd] [30214]: (debug): Leaf 'five-seconds-intr' added successfully
2024/05/23 14:40:37.173411575 {pubd_R0-0}{2}: [pubd] [30214]: (debug): add data in progress
[...]
مثل أي نظام قاعدة بيانات آخر، يأتي FlowDB مع واجهة سطر الأوامر (CLI) التي يمكن إستخدامها للتحقق من تلقي المقاييس بشكل صحيح بواسطة Telgraf وتخزينها في قاعدة البيانات المعرفة. وتنظم قاعدة بيانات التدفق مقاييس، تسمى نقاط، إلى قياسات منظمة بدورها كسلسلة. يمكن إستخدام بعض الأوامر الأساسية المقدمة هنا للتحقق من نظام البيانات على جانب FlowDB والتأكد من وصول البيانات إلى هذا التطبيق.
أولا، يمكنك التحقق من أن السلسلة، القياسات وبنيتها (المفاتيح) تم توليدها بشكل صحيح. يتم إنشاء هذه تلقائيا بواسطة Telgraf و FlowDB استنادا إلى بنية RPC المستخدمة.
ملاحظة: بالطبع، هذا الهيكل قابل للتخصيص بالكامل من تكوينات Telgraf و FlowDB. ومع ذلك، يتم ذلك خلف نطاق دليل التكوين هذا.
$ influx
Connected to http://localhost:8086 version 1.6.7~rc0
InfluxDB shell version: 1.6.7~rc0
> USE TELEGRAF
Using database TELEGRAF
> SHOW SERIES
key
---
Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization,host=ubuntu-virtual-machine,path=Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization,source=WLC,subscription=101
> SHOW MEASUREMENTS
name: measurements
name
----
Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization
> SHOW FIELD KEYS FROM "Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization"
name: Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization
fieldKey fieldType
-------- ---------
cpu_usage_processes/cpu_usage_process/avg_run_time integer
cpu_usage_processes/cpu_usage_process/five_minutes float
cpu_usage_processes/cpu_usage_process/five_seconds float
cpu_usage_processes/cpu_usage_process/invocation_count integer
cpu_usage_processes/cpu_usage_process/name string
cpu_usage_processes/cpu_usage_process/one_minute float
cpu_usage_processes/cpu_usage_process/pid integer
cpu_usage_processes/cpu_usage_process/total_run_time integer
cpu_usage_processes/cpu_usage_process/tty integer
five_minutes integer
five_seconds integer
five_seconds_intr integer
one_minute integer
بمجرد توضيح بنية البيانات (عدد صحيح أو سلسلة أو قيمة منطقية، ...)، يمكن للمرء الحصول على عدد نقاط البيانات التي يتم تخزينها على هذه القياسات المستندة إلى حقل معين.
# Get the number of points from "Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization" for the field "five_seconds".
> SELECT COUNT(five_seconds) FROM "Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization"
name: Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization
time count
---- -----
0 1170
> SELECT COUNT(five_seconds) FROM "Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization"
name: Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization
time count
---- -----
0 1171
# Fix timestamp display
> precision rfc3339
# Get the last point stored in "Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization" for the field "five_seconds".
> SELECT LAST(five_seconds) FROM "Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization"
name: Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization
time last
---- ----
2024-05-23T13:18:53.51Z 0
> SELECT LAST(five_seconds) FROM "Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization"
name: Cisco-IOS-XE-process-cpu-oper:cpu-usage/cpu-utilization
time last
---- ----
2024-05-23T13:19:03.589Z 2
إذا زاد عدد النقاط لحقل معين وطابع الوقت لآخر تكرار، فمن الجيد أن يستلم مكدس TIG ويخزن بشكل صحيح البيانات المرسلة من خلال عنصر التحكم في الشبكة المحلية اللاسلكية (WLC).
للتحقق من أن مستقبل Telgraf يحصل على بعض المقاييس من وحدة التحكم ويتحقق من تنسيقها، يمكنك إعادة توجيه مقاييس Telgraf إلى ملف مخرجات على المضيف. يمكن أن يكون هذا مفيدا للغاية عندما يتعلق الأمر باستكشاف أخطاء الاتصال البيني بالأجهزة وإصلاحها. لتحقيق ذلك، ما عليك سوى الاستفادة من المكون الإضافي للإخراج "file" من Telgraf، القابل للتكوين من /etc/telegraf/telegraf.conf
.
# Send telegraf metrics to file(s)
[[outputs.file]]
# ## Files to write to, "stdout" is a specially handled file.
files = ["stdout", "/tmp/metrics.out", "other/path/to/the/file"]
#
# ## Use batch serialization format instead of line based delimiting. The
# ## batch format allows for the production of non line based output formats and
# ## may more efficiently encode metric groups.
# # use_batch_format = false
#
# ## The file will be rotated after the time interval specified. When set
# ## to 0 no time based rotation is performed.
# # rotation_interval = "0d"
#
# ## The logfile will be rotated when it becomes larger than the specified
# ## size. When set to 0 no size based rotation is performed.
# # rotation_max_size = "0MB"
#
# ## Maximum number of rotated archives to keep, any older logs are deleted.
# ## If set to -1, no archives are removed.
# # rotation_max_archives = 5
#
# ## Data format to output.
# ## Each data format has its own unique set of configuration options, read
# ## more about them here:
# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
data_format = "influx"
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
1.0 |
10-Jun-2024 |
الإصدار الأولي |