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服务。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从泛型获取类不起作用   位运算符Java。从字节数组中不符合字节边界的位提取整数   java如何修补Log4j2 0天漏洞   IntelliJ IDEA并不认为我的java文件是可运行的,而是希望运行类文件。有没有关于如何修复的想法?   java javacc:未能编译语法文件(.jj)   javaehcache分布式多通道   java在Android中使用正则表达式进行解析   Android应用的java JSON数据解析   swing在Java中将JLabel放在JLabel上   java将MongoTemplate传递给自定义存储库实现   java在另一个JVM中获取加载的类   java Deeplearning4j:生成随机INDARY作为多层网络的输入   lwjgl渲染中的java移动渲染器   java静态哈希映射内存问题