net snmp pass_用于监视zenoss的持久脚本。
zenoss-snmp-module的Python项目详细描述
此项目提供了一个用于监视zenoss的net snmp pass_persist脚本。如果 您不熟悉net snmp的pass_persist选项,它允许 在配置的 基老。
目前,zenoss snmp模块为提供的zenoss-process提供支持- MIB公司。有关MIB提供的功能,请参阅以下snmptranslate命令:
$ snmptranslate -Tp ZENOSS-PROCESS-MIB::zenossProcessMIB +--zenossProcessMIB(3) | +--zenSystemTable(1) | | | +--zenSystemEntry(1) | | Index: zenSystemName | | | +-- -R-- String zenSystemName(1) | Textual Convention: DisplayString | Size: 0..255 | +--zenProcessTable(2) | | | +--zenProcessEntry(1) | | Index: zenSystemName, zenProcessName | | | +-- -R-- String zenProcessName(1) | Textual Convention: DisplayString | Size: 0..255 | +--zenProcessMetricTable(3) | +--zenProcessMetricEntry(1) | Index: zenSystemName, zenProcessName, zenProcessMetricName | +-- -R-- String zenProcessMetricName(1) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- String zenProcessMetricValue(2) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- String zenProcessMetricCyclesSinceUpdate(3) Textual Convention: DisplayString Size: 0..255 $ snmpwalk -v2c -c public localhost ZENOSS-PROCESS-MIB::zenossProcessMIB ZENOSS-PROCESS-MIB::zenSystemName."localhost" = STRING: localhost ZENOSS-PROCESS-MIB::zenProcessName."localhost"."zenhub" = STRING: zenhub ZENOSS-PROCESS-MIB::zenProcessName."localhost"."zenwebtx" = STRING: zenwebtx ZENOSS-PROCESS-MIB::zenProcessName."localhost"."zencommand" = STRING: zencommand ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenhub"."services" = STRING: services ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenhub"."totalTime" = STRING: totalTime ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenhub"."totalEvents" = STRING: totalEvents ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenhub"."invalidations" = STRING: invalidations ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenhub"."totalCallTime" = STRING: totalCallTime ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenhub"."workListLength" = STRING: workListLength ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenwebtx"."devices" = STRING: devices ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenwebtx"."dataPoints" = STRING: dataPoints ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenwebtx"."eventCount" = STRING: eventCount ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenwebtx"."cyclePoints" = STRING: cyclePoints ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenwebtx"."queuedTasks" = STRING: queuedTasks ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenwebtx"."runningTasks" = STRING: runningTasks ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zenwebtx"."eventQueueLength" = STRING: eventQueueLength ZENOSS-PROCESS-MIB::zenProcessMetricName."localhost"."zencommand"."eventQueueLength" = STRING: eventQueueLength ZENOSS-PROCESS-MIB::zenProcessMetricValue."localhost"."zenwebtx"."devices" = STRING: 0.0 ZENOSS-PROCESS-MIB::zenProcessMetricValue."localhost"."zenwebtx"."dataPoints" = STRING: 0.0 ZENOSS-PROCESS-MIB::zenProcessMetricValue."localhost"."zenwebtx"."eventCount" = STRING: 0.0 ZENOSS-PROCESS-MIB::zenProcessMetricValue."localhost"."zenwebtx"."cyclePoints" = STRING: 0.0 ZENOSS-PROCESS-MIB::zenProcessMetricValue."localhost"."zenwebtx"."queuedTasks" = STRING: 0.0 ZENOSS-PROCESS-MIB::zenProcessMetricValue."localhost"."zenwebtx"."runningTasks" = STRING: 0.0 ZENOSS-PROCESS-MIB::zenProcessMetricValue."localhost"."zenwebtx"."eventQueueLength" = STRING: 0.0 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenhub"."services" = STRING: 2.35 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenhub"."totalTime" = STRING: 2.35 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenhub"."totalEvents" = STRING: 2.35 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenhub"."invalidations" = STRING: 2.35 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenhub"."totalCallTime" = STRING: 2.35 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenhub"."workListLength" = STRING: 2.35 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenwebtx"."devices" = STRING: 0.48 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenwebtx"."dataPoints" = STRING: 0.48 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenwebtx"."eventCount" = STRING: 0.48 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenwebtx"."cyclePoints" = STRING: 0.48 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenwebtx"."queuedTasks" = STRING: 0.48 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenwebtx"."runningTasks" = STRING: 0.48 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zenwebtx"."eventQueueLength" = STRING: 0.45 ZENOSS-PROCESS-MIB::zenProcessMetricCyclesSinceUpdate."localhost"."zencommand"."eventQueueLength" = STRING: 0.12
用法
要安装Zenoss SNMP模块,必须运行以下命令:
sudo easy_install -U zenoss-snmp-module
一旦安装,zenoss-snmp-module脚本就为 帮助您配置它。有关安装 关联MIB和配置SNMPD:
# Install ZENOSS-PROCESS-MIB. zenoss-snmp-module --mib | sudo tee /usr/share/snmp/mibs/ZENOSS-PROCESS-MIB.txt # Add pass_persist line to snmpd.conf. zenoss-snmp-module --snmpd | sudo tee -a /etc/snmp/snmpd.conf # Restart snmpd service. sudo service snmpd restart
更改snmpd.conf后,必须重新启动snmpd服务。那你应该 可以使用以下命令进行测试:
# Walk the entire zenossProcessMIB. snmpwalk -mALL -v2c -c public localhost zenossProcessMIB
尝试下面的snmpwalk命令以获得更具体的结果:
# Only show metric values for the zenwebtx proces on the localhost collector. snmpwalk -mALL -v2c -c public localhost 'zenProcessMetricValue."localhost"."zenwebtx"' # Show how many cycles it's been since each metric was updated. snmpwalk -mALL -v2c -c public localhost 'zenProcessMetricCyclesSinceUpdate."localhost"'
您需要知道这些值的oid,以便与zenoss进行轮询。使用 命令来发现给定值的oid。请注意 因为这些oid只是编码的系统、进程和度量名称,所以它们将 从任何系统返回预期的数据,可以认为是永久性的:
# Translate from name to OID. snmptranslate -On 'ZENOSS-PROCESS-MIB::zenProcessMetricValue."localhost"."zenwebtx"."queuedTasks"'
故障排除
通常,zenoss snmp模块是从snmpd内部运行的。这就很难了 排除故障。要在snmpd之外测试脚本,可以运行 zenoss-snmp-module作为根。如果一切正常的话 似乎什么也没做。
以下面的会话为例:
# zenoss-snmp-module PING PONG DUMP {'1.1.1.9.108.111.99.97.108.104.111.115.116': {'type': 'STRING', 'value': 'localhost'}, ... snipped ...
停止snmpd服务并在前台运行也很有用 仅启用有用的调试:
sudo service snmpd stop sudo snmpd -fV -Lo -Ducd-snmp/pass_persist -Doutput
测试完成后,请确保启动snmpd服务。