我对通过 snmp 收集 uWSGI 的统计数据以便在 Cacti 中绘制图表很感兴趣。这些文档我正在使用以下命令启动 uwsgi:
uwsgi -s :3031 --udp 192.168.10.1:2222 --snmp --snmp-community foo --emperor /usr/local/uwsgi/vassals --emperor-tyrant --pidfile /var/run/uwsgi.pid --vacuum
他们提供的示例 snmpget 命令运行良好:
$ snmpget -v2c -c foo 192.168.10.1:2222 1.3.6.1.4.1.35156.17.1.1
SNMPv2-SMI::enterprises.35156.17.1.1 = Counter64: 0
但是,除了这个值之外,我看不到任何其他 snmp“值”。难道我不应该能够从基本 OID 进行 snmpwalk 吗?当我尝试查看公开的值时,我遇到了超时。
snmpwalk -v2c -c foo 192.168.10.1:2222 1.3.6.1.4.1.35156.17
Timeout: No Response from 192.168.10.1:2222
从我参考的文档中:
常规信息由 uWSGI 服务器本身管理。访问 uWSGI SNMP 信息的基本 OID 是 1.3.6.1.4.1.35156.17 (iso.org.dod.internet.private.enterprise.unbit.uwsgi)。常规选项映射到 1.3.6.1.4.1.35156.17.1.x。
我要么对 snmp 总体上不了解,要么对 uWSGI 提供的 snmp 功能不了解。感谢您的帮助。
答案1
“旧” snmp 统计信息仅导出由应用程序通过 api 管理的值。
新的 API 是这个:
http://uwsgi-docs.readthedocs.org/en/latest/Metrics.html
通过 snmp 公开值为 1.3.6.1.4.1.35156.17.3.x
在这两种情况下你都无法行走,而只能获得直接值
答案2
希望这对某些人有所帮助,因为我在任何地方都找不到这些 uwsgi OID;不得不手动将指标文件夹中的指标与一个 OID 进行比较:
工人.X.请求 1.3.6.1.4.1.35156.17.3.X.1
worker.X.delta_requests 1.3.6.1.4.1.35156.17.3.X.2
工人.X.平均响应时间 1.3.6.1.4.1.35156.17.3.X.8
工人.1.总交易 1.3.6.1.4.1.35156.17.3.1.9
工作者.1.rss_大小 1.3.6.1.4.1.35156.17.3.1.11
工人.1.vsz_size 1.3.6.1.4.1.35156.17.3.1.12
忙碌的工人 1.3.6.1.4.1.35156.17.5.3
空闲工人 1.3.6.1.4.1.35156.17.5.4
重载 1.3.6.1.4.1.35156.17.5.5
总请求数 1.3.6.1.4.1.35156.17.1.1
总传输数据 1.3.6.1.4.1.35156.17.5.100
rss_memory_total 1.3.6.1.4.1.35156.17.5.101
vsz_memory_total 1.3.6.1.4.1.35156.17.5.102
平均响应时间 1.3.6.1.4.1.35156.17.5.103