我有很多服务器上运行。 每个服务器有很多应用程序 每个应用程序都有类似于/etc/somedir1 , /etc/somedir2的目录,每个目录中都有许多.html文件。 应用程序生存级别显示为可用的.html文件数量。 越多越好。 .html文件将不时删除。 144或更less的.html文件被认为是关键的,我会手动添加更多.html文件。
服务器数量正在增长,未来将很难。
我想要一台服务器(如M / Monit)监视的所有服务器,基于特定目录中剩余的.html文件数量。
M / Monit看起来不错,但AFAIK,它只监视服务器的生活和相关的服务。
我能想到的一件事是ls | wc -l ls | wc -l然后scp到监视器服务器。 但是我不知道如何使其显示在监视器服务器上,就像其他服务器监视工具一样。
任何想法都欢迎
有些选项适合你:
编写一个简单的脚本来计算指定目录中* .html文件的数量:
COUNT =`ls“$ 1”/ *。html | wc -l`
如果[$ COUNT -lt $ 3]; 然后
回声“确定 - $ 1中的HTML文件的数量是$ COUNT”
退出0
elif [$ COUNT -ge $ 3 -a $ COUNT -lt $ 5]; 然后
回声“警告 - $ 1中的HTML文件的数量是$ COUNT”“
出口1
其他
echo“Critical - $ 1中的html文件的数量是$ COUNT”“
2号出口
科幻
并在nrpe.conf中用以下方法调用它:
command[number_of_html_files]=/path/to/html_count.sh /etc/somedir1 -w 121 -c 141
创build一个html_count_gmetric.sh文件如下:
/usr/bin/gmetric --name html_count --value `ls "$1"/*.html | wc -l` --type uint32 --unit files
并把它放到一个cron工作中:
* * * * * /path/to/html_count_gmetric.sh /etc/somedir1
它会为你创build一个图表。
我们考虑使用monit,但结束了更强大,但更难以configuration的Nagios。 Nagios当然可以做你想做的,虽然可能写一个shell脚本发出正确types的退出代码。
不知道你在监视什么,这很难说。
你可以做的是使用snmpd来监视它。 你可以告诉它调用一个脚本并返回结果作为一个snmp值。 使用这种方法可能是最简单的,特别是如果你已经build立了snmpd。
正如其他人所说的,为此编写一个nagios插件将是微不足道的。 或者,如果你不想启动一个nagios实例,可以写一个perl / python脚本,用inotify来观察目录,跟踪文件数量并根据需要发出适当的信号(闪光枪等等)。
如果scp到所有服务器,然后将wc结果存储到文件/数据库/ rrd /等。 每x分钟运行一次cronjob。 而在监控方面你只是显示来自files / database / rrd的结果