公司有巨量的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