Võ Đức Chính
Intern
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.
Trong file generator.yml, bạn tạo block auths như sau:
Trước đó trên switch phải mở SNMPv3 với các thông tin về authen như trên.
Kiểm tra các file hiện có trong mibs/ :
docker run --rm -v "${PWD}:/opt" my-snmp-generator generate
Kiểm tra file snmp.yml đã sinh ra chưa:
Nội dung file snmp.yml sẽ được sinh ra rất chuẩn:
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.
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:- Truy cập trang web: https://mibs.observium.org/
- Gõ từ khóa thuộc tính bạn muốn thu thập (ví dụ: sysName, cpuUtilisation, fanStatus, freeMemory...).
- Trang web sẽ trả về tên Object Name chính xác và chọn vào nó.
- 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
- 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:
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:
Kiểm tra các file hiện có trong mibs/ :
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
Kiểm tra file snmp.yml đã sinh ra chưa:
Nội dung file snmp.yml sẽ được sinh ra rất chuẩn:
Đính kèm
Bài viết liên quan
Bài viết mới