SIEM/Log Management [SNMP_EXPORTER] Cách tự tạo cấu hình generator.yml cho snmp_exporter

Em xin chia sẻ cách tự tạo file generator.yml để build ra file cấu hình snmp.yml cho Prometheus snmp_exporter. Cách này đặc biệt hữu ích khi bạn muốn chủ động chỉ định chính xác những thông số (Object Name) nào cần thu thập cho một thiết bị mạng cụ thể.
Em sẽ lấy ví dụ với thiết bị Switch của Allied Telesis sử dụng giao thức SNMPv3.

Bước 1: Khai báo thông tin xác thực (auths)​

Với các thiết bị dùng SNMPv1 hoặc v2c (cộng đồng public) thì đơn giản, nhưng với SNMPv3, chúng ta cần khai báo chi tiết các phương thức mã hóa để bảo mật.
Trong file generator.yml, bạn tạo block auths như sau:
  • version: 3: Chỉ định dùng SNMP phiên bản 3.
  • security_level: Tùy thiết bị cấu hình. Ở đây mình dùng authPriv (Yêu cầu cả xác thực Auth và mã hóa dữ liệu Priv).
  • auth_protocol / password: Giao thức băm (thường là SHA hoặc MD5) và mật khẩu xác thực.
  • priv_protocol / priv_password: Giao thức mã hóa (thường là AES hoặc DES) và mật khẩu mã hóa.
Trong file generator.yml, bạn tạo block auths như sau:
1775730836333.png

Trước đó trên switch phải mở SNMPv3 với các thông tin về authen như trên.

Bước 2: Tìm kiếm Object Name và tải MIB (modules)​

Mỗi module sẽ đại diện cho một loại thiết bị. Ở phần walk, thay vì điền cả một nhánh OID bằng số khó nhớ thì điền tên chữ (Object Name) hơn cho trực quan. Cách em làm như sau:
  1. Truy cập trang web: https://mibs.observium.org/
    1775731291761.png
  2. Gõ từ khóa thuộc tính bạn muốn thu thập (ví dụ: sysName, cpuUtilisation, fanStatus, freeMemory...).
    1775731320551.png
  3. Trang web sẽ trả về tên Object Name chính xác và chọn vào nó.
  4. Nhìn vào phần thông tin chi tiết trên web, xem Object đó thuộc file MIB nào và nó có IMPORTS (yêu cầu) các file MIB gốc nào khác không. Hãy tải toàn bộ các file MIB liên quan đó về và cho vào thư mục mibs/ của bạn. Ví dụ ở đây muốn lấy sysName thì phải tải SNMPv2-CONF, SNMPv2-SMI và SNMPv2-TC
    1775731663479.png
  5. Sau đó truy cập trang web: https://mibbrowser.online/ để tải các file mib cần import và cả file mib chứ object name em vừa tìm kiếm và chọn Download as MIB:
    1775731735719.png

Bước 3: Cấu hình generator.yml hoàn chỉnh​

Sau khi đã nhặt được danh sách các Object Name, ráp chúng vào phần walk của module. Dưới đây là file generator.yml hoàn chỉnh của em:
1775731855203.png

Kiểm tra các file hiện có trong mibs/ :
1775731932290.png

Bước 4: Chạy lệnh Generate để tạo snmp.yml​

Sau khi đã có file generator.yml và thư mục mibs/ chứa đủ file MIB của hãng, bạn đứng tại thư mục đó và chạy lệnh Docker sau:
docker run --rm -v "${PWD}:/opt" my-snmp-generator generate
1775732049205.png

Kiểm tra file snmp.yml đã sinh ra chưa:
1775732088408.png

Nội dung file snmp.yml sẽ được sinh ra rất chuẩn:
1775732217255.png
 

Đính kèm

  • 1775731435776.png
    1775731435776.png
    143.5 KB · Lượt xem: 0
  • 1775731173637.png
    1775731173637.png
    181.6 KB · Lượt xem: 0
Back
Top