天天看点

zabbix 自动发现tomcat的war包并实现监控

公司有巨量的tomcat服务器,每台机器上面有好几个tomcat, 路径用后缀数字区别,

例如 /usr/local/dir_samba/apache-tomcat-7.0.64-0/webapps 表示8080端口的tomcat

每个tomtcat对应一个端口,每个tomcat都有若干的war包(应用)以下描述用zabbix自动去扫描发现每个tomcat上的war,并自动添加为监控的过程

<code>#!/bin/bash</code>

<code>findtomcatwar()</code>

<code>{</code>

<code>printf</code> <code>'{\n'</code>

<code>printf</code> <code>'\t"data":[ '</code>

<code>for</code> <code>war  </code><code>in</code> <code>0 1 2 3</code>

<code>do</code>

<code>  </code><code>for</code> <code>i </code><code>in</code> <code>`</code><code>ls</code> <code>/usr/local/dir_samba/apache-tomcat-7</code><code>.0.64-${war}</code><code>/webapps</code>  <code>| </code><code>grep</code> <code>-</code><code>v</code> <code>'host-manager\|ROOT\|manager\|.war\|indexes\|examples\|doc'</code><code>`</code>

<code>  </code><code>do</code>

<code>        </code><code>printf</code> <code>'\n\t\t{'</code>

<code>        </code><code>printf</code> <code>"\"{#PORTWARS}\":\"8${war}80:${i}\"}"</code>

<code>    </code><code>printf</code> <code>","</code>

<code>        </code><code>echo</code> <code>$num</code>

<code>  </code><code>done</code>

<code>done</code>

<code>printf</code> <code>'\n\t]\n'</code>

<code>printf</code> <code>'}\n'</code>

<code>}</code>

<code>findtomcatwar| tac|</code><code>sed</code> <code>'4s/.$//'</code><code>|tac</code>

本文转自 superbigsea 51CTO博客,原文链接:http://blog.51cto.com/superbigsea/1745092