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

編寫網絡設備采集模板

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

nt01

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

nt02

基礎參數說明

agents:配置收集信息的地址、端口和协议;

格式:agents = ["<scheme://><hostname>:<port>"]

scheme:协议类型,默认使用 UDP 协议。目前支持 udp、udp4、udp6、tcp、tcp4、tcp6。

hostname:收集的地址。

port:收集地址的端口号。

示例:

agents = ["udp://127.0.0.1:161"] 表示使用 UDP 协议,连接到本地 127.0.0.1 地址的端口 161。

agents = ["tcp://127.0.0.1:161"] 表示使用 TCP 协议,连接到本地 127.0.0.1 地址的端口 161。

如果使用网络设备进行采集

配置文件可以这样写,自动调用网络设备采集中的相应字段。

[[instances]]
agents = ["{{.Schema}}://{{.IP}}:{{.Port}}"]
interval_times = 1
timeout = "{{.Timeout}}s"
version = {{.Version}}
#retries = 3
max_repetitions=15
disable_up = true
{{.Auth}}

如下图所示,可以将配置中填写的字段进行映射,在采集时,自动调取变量对应的值。

{{.IP}} == IP

{{.Schema}} == SNMP 協議

{{.Port}} == SNMP 端口

{{.Timeout}} == 超時時間(秒)

{{.Version}} == SNMP 版本

{{.Auth}} == Community

ne09

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:具體實例

如何解析 OID

我们使用标准的 MIB 库 RFC1213-MIB 举例(根据实际需求更换 MIB 库)。RFC1213-MIB 是默认的 MIB 库之一,它包含了各种设备状态、网络接口信息、系统资源等的管理和监控项。

使用 snmpwalk -v2c -c public 127.0.0.1 命令可以查看设备的所有 OID,您可以根据需要将 OID 填入配置文件中。

nt08

保存好模板后,就可以在实时查询中查看指标了。

nt05

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

nt05

排錯分析:

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

正常網絡設備返回值:

nt06

網絡設備無返回值:

nt07

排錯方向:

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