夜莺-Nightingale
夜莺V6
项目介绍 架构介绍
快速开始
黄埔营
安装部署
升级
采集器
使用手册
API
数据库表结构
FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵
第2章:探索PromQL
第3章:Prometheus告警处理
第4章:Exporter详解
第5章:数据与可视化
第6章:集群与高可用
第7章:Prometheus服务发现
第8章:监控Kubernetes
第9章:Prometheus Operator
参考资料

編寫網絡設備采集模板

在采集模板中點擊右上角“新增”即可新增自定義采集模板。

nt01

下面是 SNMP 設備的自定義采集配置示例和基本參數說明。

nt02

基礎參數說明

community:從設備配置文件或管理界面獲取的參數,通常設置為 “public”。

nt03

agent_host_tag:用於標識設備 IP 的標籤名稱。

nt04

retries:SNMP 請求失敗時系統重試的次數。

max_repetitions:SNMP 一次請求中最多請求對象的數量。注意:此值越高,可能會減少請求次數,但也可能增加網絡負載。

獲取 Scalar 數據類型:這些數據點在 MIB 中由單個 OID 標識。

# 獲取 Scalar 數據
# CPU 系統態使用率
[[instances.field]]
oid = "1.3.6.1.4.1.2021.11.9.0"
name = "cpu_usage_sys"
# CPU 用戶態使用率
[[instances.field]]
oid = "1.3.6.1.4.1.2021.11.10.0"
name = "cpu_usage_user"
# 設備空閒記憶體
[[instances.field]]
oid = "1.3.6.1.4.1.2021.4.6.0"
name = "mem_free"

獲取 Table 類數據:包括多列數據和多個索引。Categraf 將自動檢索 Table 中的所有索引字段作為時序數據的標籤,並自動獲取所有數據列作為指標上報。

# 獲取 Table 類數據
[[instances.table]]
oid = "IF-MIB::ifTable"
name = "interface"

[[instances.table.field]]
oid = "IF-MIB::ifDescr"
name = "ifDescr"
# 有些列可能不是數值,比如 ifDescr 就是字符串,這個列無需作為指標上報,應該作為標籤上報更合適,所以有個 is_tag=true 的配置。
is_tag = true

OID:用於唯一標識網絡管理協議(如 SNMP)中每個管理對象的標識符。它是一種標準化的編號系統,用於識別管理信息庫(MIB)中的對象及其層次結構。

  • 樹狀結構:OID 表示分層的命名系統,每個節點都是一個數字,代表樹的一個層次。
  • 從根節點開始:所有 OID 都從根節點(0)開始,然後逐級向下。

例如,OID 1.3.6.1.2.1.1.3.0 可分解為:

  • 1:ISO 標識符
  • 3:組織編號
  • 6:企業編號
  • 1:管理編號
  • 2:標準編號
  • 1:MIB-II
  • 1:系統組
  • 3:系統運行時間
  • 0:具體實例

保存模板後,可以在即時查詢中查看指標。

nt05

排錯分析:

如果配置完成後未能查看到相關指標,可以在網絡設備上執行以下相關命令確認是否有返回值。

正常網絡設備返回值:

nt06

網絡設備無返回值:

nt07

排錯方向:

  • OID 路徑是否正確,不同設備和廠商可能會有不同的 OID 來表示相同的對象;
  • SNMP 是否正確加載了相關的 MIB 模塊;
  • 網絡設備是否使用私有 OID,這些 OID 可能需要配置特定的 MIB 模塊或特定的硬件或軟件支持;
  • 檢查 SNMPD 配置文件中的字符串(public)權限和優先級順序問題。
开源版
Flashcat
Flashduty