[Prometheus từ A đến Z] Phần 04. Giám sát thiết bị mạng Cisco qua snmp với Prometheus

Bài viết chỉ mang tính chất tham khảo và chia sẻ, các trong quá trình làm chắc chắn sẽ có bạn gặp bug. Nếu gặp bug thì vào telegram group ITFORVN để nhờ support từ cộng đồng. Hoặc các bạn thể có truy cập vào nguồn tham khảo để làm theo hướng dẫn chính thống. Ngoài ra bạn có thể tham gia Forum Google [prometheus-users] của nước ngoài để hỏi đáp. 

 

Thân chào các anh em ITFORVN. Ở phần 03, mình có hướng dẫn các bạn sử dụng snmp để giám sát firewall Fortigate. Trong bài này mình hướng dẫn các bạn ứng dụng snmp_exporter để giám sát các thiết bị Cisco.

Như vậy các bạn đã biết cách sử dụng dụng SNMP Exporter Config Generator đển generate ra file config của snmp_exporter nếu đã đọc qua phần 03 của mình. Nếu các bạn nào chưa biết cách sử dụng hoặc quên có thể xem lại tại đây

Bước 01.  Để prometheus có thể thu thập được metric của Cisco bạn phải enable snmp trên những device Cisco.  Để enable snmp bạn sử dụng config sau:

snmp-server community public RO

Bước 02. Tương tự ở phần 03, bây giờ chúng ta sẽ add module cisco vào file generator.yml để tạo ra file config snmp.yml có chứa module cisco.

modules:
########### Cisco 
  cisco:
#   walk: [sysUpTime, interfaces, ifXTable]
   walk:
   - 1.3.6.1.2.1.2.2.1.1
   - 1.3.6.1.2.1.2.2.1.2
   - 1.3.6.1.2.1.2.2.1.10
   - 1.3.6.1.2.1.2.2.1.13
   - 1.3.6.1.2.1.2.2.1.14
   - 1.3.6.1.2.1.2.2.1.16
   - 1.3.6.1.2.1.2.2.1.19
   - 1.3.6.1.2.1.2.2.1.2
   - 1.3.6.1.2.1.2.2.1.20
   - 1.3.6.1.2.1.2.2.1.5
   - 1.3.6.1.2.1.2.2.1.7
   - 1.3.6.1.2.1.2.2.1.8
   - 1.3.6.1.2.1.31.1.1.1.1
   - 1.3.6.1.2.1.31.1.1.1.18
   - 1.3.6.1.4.1.9.9.48.1.1.1.5
   - 1.3.6.1.4.1.9.9.48.1.1.1.6
   - 1.3.6.1.4.1.9.2.1
   - 1.3.6.1.2.1.1.5
   lookups:
     - source_indexes: [ifIndex]
       lookup: ifAlias
     - source_indexes: [ifIndex]
       lookup: ifDescr
     - source_indexes: [ifIndex]
       # Use OID to avoid conflict with Netscaler NS-ROOT-MIB.
       lookup: 1.3.6.1.2.1.31.1.1.1.1 # ifName
   overrides:
     ifAlias:
       ignore: true # Lookup metric
     ifDescr:
       ignore: true # Lookup metric
     ifName:
       ignore: true # Lookup metric
     ifType:
       type: EnumAsInfo
   version: 2
   max_repetitions: 25
   retries: 3
   timeout: 10s
   auth:
    community: public

 trong đó  các dãy số này là :

   – 1.3.6.1.2.1.2.2.1.1

   – 1.3.6.1.2.1.2.2.1.2

OID. Thông tin về OID kiểm tra tại đây . https://cric.grenoble.cnrs.fr/Administrateurs/Outils/MIBS/

   version: 2  tương ứng với snmp v2

   community: snmpmonitor  là community khai báo trong phần enable  snmp của cisco.

Bước 03: Sau đó export mibs và generate ra file snmp.yml

export MIBDIRS=mibs
./generator generate

Tương tự nếu bị thiếu mib bạn có thể download tại đây ftp://ftp.cisco.com/pub/mibs sau đó bỏ vào thư mục mib của generator

Như vậy chúng ta đã có file snmp.yml

Bước 04: Copy file snmp.yml đến thư mục source của snmp_exporter

cp -R /root/go/src/github.com/prometheus/snmp_exporter/generator/snmp.yml /usr/local/snmp_exporter/

Bước 05: Restart và kiểm tra service

systemctl restart snmp_exporter.service
systemctl status snmp_exporter.service

Bước 06: Truy cập vào https://ipprometheus:9116 và điền các thông tin sau:

Hình 01: [Promethues từ A đến Z] Phần 04. Giám sát thiết bị mạng Cisco qua snmp

Target: là ip của cisco

Module: chính là module mà bạn tạo bằng generator cho cisco

  • Nếu xuất ra metric là OK.

Hình 02: [Promethues từ A đến Z] Phần 04. Giám sát thiết bị mạng Cisco qua snmp

Bước 07: Tạo job trong prometheus để giám sát cisco với nội dung job sau:

vi /usr/local/prometheus/prometheus.yml

Nội dung như sau:

################################ CISCO
      - targets: ['10.10.10.2']
         # Core switch 01.
        labels:                           
         hostname: Core-SW1
         device: cisco
         company: ITFORVN
    scrape_interval: 3m
    scrape_timeout : 3m
    metrics_path: /snmp
    params:
      module: [cisco]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 10.10.10.98:9116  # SNMP exporter.

Tương tự nếu bạn muốn thêm nhiều device cisco vào, bạn chỉ cần chèn đoạn target vào là OK.

Trong tất cả các job của prometheus mình đều thêm trường label vào để tiện query vào tạo dashboard trên grafana. Các bạn làm theo mình thì dash board sẽ không bị lổi.

Bước 08: Restart service và kiểm tra lại kết quả: 

Hình 03: [Promethues từ A đến Z] Phần 04. Giám sát thiết bị mạng Cisco qua snmp

Bươc 09: Đăng nhập vào Grafana để tạo dashboard để giám sát thiết bị Cisco

Cách tạo dashboard trong grafana mình có hướng dẫn tại Bước 09 trong bài viết này

Đây là dashboard sau khi đã import vào.

Hình 04: [Promethues từ A đến Z] Phần 04. Giám sát thiết bị mạng Cisco qua snmp

 

Như vậy tương tự cách của mình các bạn có thể ứng dụng nó vào để giám sát các thiết bị mạng của những hãng khác qua việc sử dụng snmp. 

 

Đây là dashboard Cisco của mình  bạn có thể download tại đây.

Về dashboard bạn có thể tham khảo thêm tại đây nhé. https://grafana.com/grafana/dashboards

 

Nguồn tham khảo:

https://github.com/prometheus/snmp_exporter

https://grafana.com/grafana/dashboards/7567

Bài viết chỉ mang tính chất tham khảo và chia sẻ, các trong quá trình làm chắc chắn sẽ có bạn gặp bug. Nếu gặp bug thì vào telegram group ITFORVN để nhờ support từ cộng đồng. Hoặc các bạn thể có truy cập vào nguồn tham khảo để làm theo hướng dẫn chính thống. Ngoài ra bạn có thể tham gia Forum Google [prometheus-users] của nước ngoài để hỏi đáp. 

Tác giả:  Nguyễn Hiếu – ITFORVN.COM

To you support to access:  Nhóm Facebook ITFORVN

Tất cả bài viết về prometheus tại đây.

Giới thiệu về giải pháp giám sát hệ thống Prometheus và Grafana

Phần 01 – Cài đặt Prometheus và Grafana trên CentOS 07

Phần 02 – Giám sát Windows Server với Prometheus

Phần 03 – Giám sát firewall Fortigate với Prometheus

Phần 04 – Giám sát thiết bị mạng Cisco với Prometheus

Phần 05 – Giám sát firewall pfSense® và Linux Server với Prometheus

Phần 06 – Giám sát VMWARE với Prometheus

Phần 07 –  Cấu hình alert trong Prometheus và gửi tin nhắn qua telegram

Đánh giá post

Leave a Reply

Your email address will not be published. Required fields are marked *