Sim*_*een 5 linux bash nagios snmp
我需要定期远程检查 Linux 文件系统是否安装在许多服务器上只读。在这种情况下,我可以使用的唯一工具是常用的 CLI 脚本语言(BASH/Perl/Python)、SSH 和 SNMP。
到目前为止,我的想法是:
SNMP 方法是我能想到的最好/最干净的方法,但是我不知道如何执行此操作,因为 CLI SNMP 似乎是一场噩梦,特别是如果我需要通过决策过程来查找基于给定的挂载点。
理想情况下,我想仅使用 BASH(包括 sed/awk/grep 等)和 SNMP 来解决这个问题,但需要一些关于从哪里开始的指导!已经在所有相关服务器上为 v2 安装和配置了 snmpd。
此脚本的最终用途将作为 Nagios 命令。
非常感谢您的帮助!
注意 我们已经有 cacti/nagios 设置监控 100 台服务器,我在最初发布时忘记提及这一点!
在您snmpd.conf
检查 exec 参数时。我用它来远程轮询我的一些 IRC 服务器的用户数,如下所示:
exec usercount-irc /home/irc/usercount-irc.sh
Run Code Online (Sandbox Code Playgroud)
要对此进行轮询,您可以使用 snmpwalk .1.3.6.1.4.1.2021.8,并且会得到如下信息:
# snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.2021.8
UCD-SNMP-MIB::extIndex.1 = INTEGER: 1
UCD-SNMP-MIB::extNames.1 = STRING: usercount-irc
UCD-SNMP-MIB::extCommand.1 = STRING: /home/irc/usercount-irc.sh
UCD-SNMP-MIB::extResult.1 = INTEGER: 0
UCD-SNMP-MIB::extOutput.1 = STRING: 558
UCD-SNMP-MIB::extErrFix.1 = INTEGER: 0
UCD-SNMP-MIB::extErrFixCmd.1 = STRING:
Run Code Online (Sandbox Code Playgroud)
查看http://linux.die.net/man/5/snmpd.conf的扩展代理功能部分以获取更多详细信息!
编辑 1:
UCD-SNMP-MIB:dskTable 包含有关已安装卷和使用情况的信息。它位于 OID .1.3.6.1.4.1.2021.9 下并记录在:
http : //www.oidview.com/mibs/2021/UCD-SNMP-MIB.html
http://www.net-snmp.org/ docs/mibs/ucdavis.html#dskTable
但我现在看到它不包含挂载标志,所以你不能在那里看到只读。嘎。回到上面的脚本以及如何调用它!:P
归档时间: |
|
查看次数: |
5307 次 |
最近记录: |