cacti监控一个web上的多个tomcat

cacti监控一个web上的多个tomcat

第二部分

2,看到手动在web界面添加cacti的tomcat模板文件,太耗时太麻烦,所以另选途径再构造一份cacti下的tomcat模板文件。

2.1 直接替换tomcat字符串在后面加9500端口

想要弄亲自构建另外一个tomcat监控的模板文件,可以以现在的cacti_host_template_tomcat_server.xml为基础来实现。打开模板文件,可以看到很多标签,先检索到带Tomcat的标签,替换成Tomcat 9500然后保存,在界面加载Import成功后,Console –> Collection Methods –> Data Input Methods里面还是只有一个选项9500 Tomcat Status,原来的Tomcat Status没有了,也就是说原来的Tomcat Status被后来的9500的模板xml直接覆盖了,这一种方式走不通。

2.2 继续从后台的cacti数据库里面的数据进行研究

研究tomcat的模板配置文件,进去cacti后台数据库的模板表里,查看导入的tomcat模板表:

  1. mysql> SELECT * FROM `data_template` WHERE NAME LIKE \‘%tomcat%\’;
  2. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  3. | id | hash | name |
  4. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  5. | 101 | 5a135ee7b52669e39cd51a89a2870f66 | 9300 Tomcat Status |
  6. | 102 | b58769ff71c16b0126014efdf8f5892c | Tomcat Status |
  7. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  8. 2 rows in set (0.00 sec)
  9. mysql>

5a135ee7b52669e39cd51a89a2870f66在xml文件中存在,而且是

<hash_0100125a135ee7b52669e39cd51a89a2870f66>

9500 Tomcat Status

……

其中’hash_01’是标示,中间的’0012’是cacti版本号码,在后面的一系列散乱的字符串’5a135ee7b52669e39cd51a89a2870f66’就是中的后面数字。

分析到这里,想到决定是否新加一个模板的关键应该就是这些hash数据,如果把模板xml里面的hash值换成新的hash值,是否就可以加载成另外一个新的tomcat端口的xml模板呢?试试吧。

2.3 开始构建新的hash值

思路:先找出原有的xml模板中的所有hash值,将后四位截取换成tomcat端口号9500。

2.3.1 在linux下用grep命令获得所有cash值

执行shell命令取得锁喉hash数据行:

  1. [root@mysqlvm2 ~]# more cacti_host_template_tomcat_server.xml |grep hash > cacti_hash.xml

这里的cacti_hash.xml里面包含的内容如下所示:

  1. [root@mysqlvm2 ~]# more cacti_hash2.xml |more
  2. <hash_020012b1ced03706b799b82f1d62146d959500>
  3. <graph_templates>hash_0000121df1e862da7c09e91e3d9ccc3f359500|hash_0000123810995e1194c890f50a09388efc9500|hash_000012cf60b10d60b07078fe1429a0575c9500|hash_000012892489f6e4de56c
  4. 7762e90d52cc39500</graph_templates>
  5. </hash_020012b1ced03706b799b82f1d62146d959500>
  6. <hash_0000121df1e862da7c09e91e3d9ccc3f359500>
  7. <hash_100012aa019bdbe34704dbd5d57a3bccef9500>
  8. <hash_1000121690bcb932496d12d6c31c1614799500>
  9. <task_item_id>hash_08001217cef337fc98ed9edbf507407eb19500</task_item_id>
  10. <gprint_id>hash_060012e9c43831e54eca8069317a2ce8c69500</gprint_id>
  11. </hash_1000121690bcb932496d12d6c31c1614799500>
  12. ……

看到其中还有许多<task_item_id> </gprint_id >等等之类的标签,直接用shell命令

:%s/<task_item_id>//以及 :%s/<\/ gprint _id>//之类的替换命令删除掉,之后所有的xml标签都替换掉了,只剩下所有的hash值。这里注意对于几个用|符号链接起来的hash值,需要单独去掉|符号再换行,确保一个hash值是一行。

最终得到一行一行的hash值的cacti_hash.xml文件。

2.3.2 遍历hash值文件,生成新的hash值xml模板。

原理是写shell脚本遍历cacti_hash.xml文件,遍历hash值,然后去原来的模板文件里面cacti_host_template_tomcat9500_server.xml找到对于的hash值,将后4位替换成tomcat端口号9500,shell命令如下所示:

(1),Copy一个副本xml文件

  1. [root@mysqlvm2 ~]#
  2. cp cacti_host_template_tomcat_server.xml cacti_host_template_tomcat9500_server.xml

(2),写一个循环shell脚本

  1. [root@mysqlvm2 ~]# more cacti2.sh
  2. for i in `cat cacti_hash.xml`
  3. do
  4. echo $i;

  5. port=\‘9500\’;
  6. new_hash=i:0:39port;
  7. echo $new_hash;

  8. sed –i \“s/i/new_hash/\” cacti_host_template_tomcat9500_server.xml
  9. done;
  10. [root@mysqlvm2 ~]#

(3),执行shell命令,生成新的9500模板

[root@mysqlvm2 ~]# sh cacti2.sh

2.4 copy出行的9500端口文件,在界面加载

加载完成后,就会在Console –> Collection Methods –> Data Input Methods里面看到新添加上的9500 Tomcat Status选项,

记得点击9500超链接进去,把Input String换成9500端口的访问连接,这样这个9500端口监控所获取的所有数据都是从9500端口的tomcat服务器上而来,如下图所示:

在Console –> Templates –> Data Templates/Graph Templates上面也可以看到新添加上的9500 Tomcat Status选项,如下图所示:

OK,现在就可以去Console –> Create –> Management –> Graph Management添加tomcat另外一个9500端口的监控选项,点击按钮的时候,记得在Selected Graph Template下拉选框上选择9500标示的模板,添加完后如下所示:

2.5,报错处理

有报错如下:

RRDTool Says:

ERROR: Could not parse line ‘GPRINT::MAX:Maximum\:%8.2lf %s\n’

进去 Console–>Graph Templates —**>**9500 Tomcat – Connection Rate –> Data Source [error_count] –> Item #4: GPRINT (MAX) 打勾选上,如下所示:

去Graphs窗口查看效果,在同一个web-9服务器上,一个基本端口8080一个9500端口的图像都出来了,如下所示:

最后在进入后台cacti数据库去查看下我们的验证:

  1. mysql> SELECT * FROM `data_template` WHERE NAME LIKE \‘%tomcat%\’;
  2. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  3. | id | hash | name |
  4. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  5. | 101 | 5a135ee7b52669e39cd51a89a2870f66 | 9300 Tomcat Status |
  6. | 102 | b58769ff71c16b0126014efdf8f5892c | Tomcat Status |
  7. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  8. 2 rows in set (0.00 sec)
  9. mysql> SELECT * FROM `data_template` WHERE NAME LIKE \‘%tomcat%\’;
  10. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  11. | id | hash | name |
  12. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  13. | 101 | 5a135ee7b52669e39cd51a89a2870f66 | 9300 Tomcat Status |
  14. | 102 | b58769ff71c16b0126014efdf8f5892c | Tomcat Status |
  15. | 104 | 5a135ee7b52669e39cd51a89a2879500 | 9500 Tomcat Status |
  16. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  17. 3 rows in set (0.00 sec)

看id为101以及104的hash值和name描述,hash值后四位从0f66变成9500了。

总结:

所有加载的cacti模板文件中,核心区分点所一个个hash值,如果构造出新的一组hash值,那么加载后就是新的监控选项。

假如你现在一个web服务器上又添加了一个9300的tomcat服务,你只需要把我分享的9500端口的xml中的hash末尾9500替换成9300,那么就又是一个新的xml模板。

以此类推,现在喜欢在一个linux服务器上搭建mysql多实例,那么多实例mysql如何在cacti下监控,也可以用本文中类似的办法构建新的mysql的多端口模板xml文件来重新加载实现。

附件如下:

转载于:https://blog.51cto.com/wwdyl/1558195

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/109724.html原文链接:https://javaforall.cn

本文参与腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

本文分享自作者个人站点/博客:[复制](javascript:void(0)😉

如有侵权,请联系 cloudcommunity@tencent.com 删除。cacti监控一个web上的多个tomcat

第二部分

2,看到手动在web界面添加cacti的tomcat模板文件,太耗时太麻烦,所以另选途径再构造一份cacti下的tomcat模板文件。

2.1 直接替换tomcat字符串在后面加9500端口

想要弄亲自构建另外一个tomcat监控的模板文件,可以以现在的cacti_host_template_tomcat_server.xml为基础来实现。打开模板文件,可以看到很多标签,先检索到带Tomcat的标签,替换成Tomcat 9500然后保存,在界面加载Import成功后,Console –> Collection Methods –> Data Input Methods里面还是只有一个选项9500 Tomcat Status,原来的Tomcat Status没有了,也就是说原来的Tomcat Status被后来的9500的模板xml直接覆盖了,这一种方式走不通。

2.2 继续从后台的cacti数据库里面的数据进行研究

研究tomcat的模板配置文件,进去cacti后台数据库的模板表里,查看导入的tomcat模板表:

  1. mysql> SELECT * FROM `data_template` WHERE NAME LIKE \‘%tomcat%\’;
  2. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  3. | id | hash | name |
  4. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  5. | 101 | 5a135ee7b52669e39cd51a89a2870f66 | 9300 Tomcat Status |
  6. | 102 | b58769ff71c16b0126014efdf8f5892c | Tomcat Status |
  7. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  8. 2 rows in set (0.00 sec)
  9. mysql>

5a135ee7b52669e39cd51a89a2870f66在xml文件中存在,而且是

<hash_0100125a135ee7b52669e39cd51a89a2870f66>

9500 Tomcat Status

……

其中’hash_01’是标示,中间的’0012’是cacti版本号码,在后面的一系列散乱的字符串’5a135ee7b52669e39cd51a89a2870f66’就是中的后面数字。

分析到这里,想到决定是否新加一个模板的关键应该就是这些hash数据,如果把模板xml里面的hash值换成新的hash值,是否就可以加载成另外一个新的tomcat端口的xml模板呢?试试吧。

2.3 开始构建新的hash值

思路:先找出原有的xml模板中的所有hash值,将后四位截取换成tomcat端口号9500。

2.3.1 在linux下用grep命令获得所有cash值

执行shell命令取得锁喉hash数据行:

  1. [root@mysqlvm2 ~]# more cacti_host_template_tomcat_server.xml |grep hash > cacti_hash.xml

这里的cacti_hash.xml里面包含的内容如下所示:

  1. [root@mysqlvm2 ~]# more cacti_hash2.xml |more
  2. <hash_020012b1ced03706b799b82f1d62146d959500>
  3. <graph_templates>hash_0000121df1e862da7c09e91e3d9ccc3f359500|hash_0000123810995e1194c890f50a09388efc9500|hash_000012cf60b10d60b07078fe1429a0575c9500|hash_000012892489f6e4de56c
  4. 7762e90d52cc39500</graph_templates>
  5. </hash_020012b1ced03706b799b82f1d62146d959500>
  6. <hash_0000121df1e862da7c09e91e3d9ccc3f359500>
  7. <hash_100012aa019bdbe34704dbd5d57a3bccef9500>
  8. <hash_1000121690bcb932496d12d6c31c1614799500>
  9. <task_item_id>hash_08001217cef337fc98ed9edbf507407eb19500</task_item_id>
  10. <gprint_id>hash_060012e9c43831e54eca8069317a2ce8c69500</gprint_id>
  11. </hash_1000121690bcb932496d12d6c31c1614799500>
  12. ……

看到其中还有许多<task_item_id> </gprint_id >等等之类的标签,直接用shell命令

:%s/<task_item_id>//以及 :%s/<\/ gprint _id>//之类的替换命令删除掉,之后所有的xml标签都替换掉了,只剩下所有的hash值。这里注意对于几个用|符号链接起来的hash值,需要单独去掉|符号再换行,确保一个hash值是一行。

最终得到一行一行的hash值的cacti_hash.xml文件。

2.3.2 遍历hash值文件,生成新的hash值xml模板。

原理是写shell脚本遍历cacti_hash.xml文件,遍历hash值,然后去原来的模板文件里面cacti_host_template_tomcat9500_server.xml找到对于的hash值,将后4位替换成tomcat端口号9500,shell命令如下所示:

(1),Copy一个副本xml文件

  1. [root@mysqlvm2 ~]#
  2. cp cacti_host_template_tomcat_server.xml cacti_host_template_tomcat9500_server.xml

(2),写一个循环shell脚本

  1. [root@mysqlvm2 ~]# more cacti2.sh
  2. for i in `cat cacti_hash.xml`
  3. do
  4. echo $i;

  5. port=\‘9500\’;
  6. new_hash=i:0:39port;
  7. echo $new_hash;

  8. sed –i \“s/i/new_hash/\” cacti_host_template_tomcat9500_server.xml
  9. done;
  10. [root@mysqlvm2 ~]#

(3),执行shell命令,生成新的9500模板

[root@mysqlvm2 ~]# sh cacti2.sh

2.4 copy出行的9500端口文件,在界面加载

加载完成后,就会在Console –> Collection Methods –> Data Input Methods里面看到新添加上的9500 Tomcat Status选项,

记得点击9500超链接进去,把Input String换成9500端口的访问连接,这样这个9500端口监控所获取的所有数据都是从9500端口的tomcat服务器上而来,如下图所示:

在Console –> Templates –> Data Templates/Graph Templates上面也可以看到新添加上的9500 Tomcat Status选项,如下图所示:

OK,现在就可以去Console –> Create –> Management –> Graph Management添加tomcat另外一个9500端口的监控选项,点击按钮的时候,记得在Selected Graph Template下拉选框上选择9500标示的模板,添加完后如下所示:

2.5,报错处理

有报错如下:

RRDTool Says:

ERROR: Could not parse line ‘GPRINT::MAX:Maximum\:%8.2lf %s\n’

进去 Console–>Graph Templates —**>**9500 Tomcat – Connection Rate –> Data Source [error_count] –> Item #4: GPRINT (MAX) 打勾选上,如下所示:

去Graphs窗口查看效果,在同一个web-9服务器上,一个基本端口8080一个9500端口的图像都出来了,如下所示:

最后在进入后台cacti数据库去查看下我们的验证:

  1. mysql> SELECT * FROM `data_template` WHERE NAME LIKE \‘%tomcat%\’;
  2. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  3. | id | hash | name |
  4. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  5. | 101 | 5a135ee7b52669e39cd51a89a2870f66 | 9300 Tomcat Status |
  6. | 102 | b58769ff71c16b0126014efdf8f5892c | Tomcat Status |
  7. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  8. 2 rows in set (0.00 sec)
  9. mysql> SELECT * FROM `data_template` WHERE NAME LIKE \‘%tomcat%\’;
  10. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  11. | id | hash | name |
  12. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  13. | 101 | 5a135ee7b52669e39cd51a89a2870f66 | 9300 Tomcat Status |
  14. | 102 | b58769ff71c16b0126014efdf8f5892c | Tomcat Status |
  15. | 104 | 5a135ee7b52669e39cd51a89a2879500 | 9500 Tomcat Status |
  16. +–––––+––––––––––––––––––––––––––––––––––+––––––––––––––––––––+
  17. 3 rows in set (0.00 sec)

看id为101以及104的hash值和name描述,hash值后四位从0f66变成9500了。

总结:

所有加载的cacti模板文件中,核心区分点所一个个hash值,如果构造出新的一组hash值,那么加载后就是新的监控选项。

假如你现在一个web服务器上又添加了一个9300的tomcat服务,你只需要把我分享的9500端口的xml中的hash末尾9500替换成9300,那么就又是一个新的xml模板。

以此类推,现在喜欢在一个linux服务器上搭建mysql多实例,那么多实例mysql如何在cacti下监控,也可以用本文中类似的办法构建新的mysql的多端口模板xml文件来重新加载实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是空空呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值