设为首页 收藏本站
查看: 668|回复: 0

[经验分享] Zabbix 踩坑之旅——zabbix触发重启tomcat

[复制链接]

尚未签到

发表于 2018-12-1 11:08:12 | 显示全部楼层 |阅读模式
  一、实验需求
  公司tomcat服务经常自动崩溃,导致业务中断,暂时用zabbix对其执行监控,在tomcat崩溃时能够先自动启动,保证业务尽快恢复正常。

  

  二、准备环境
  系统环境:CentOS 6.5
  IP地址:
  zabbix-server: 192.168.239.128
  zabbix-agent: 192.168.239.130
  

  zabbix的服务端和客户端的安装此处都以rpm包安装,配置略过。agent端上安装好tomcat。
  

  三、开启踩坑之旅——agent端
  ① 修改zabbix-agent配置文件,修改后重启生效
  # vim /etc/zabbix/zabbix_agentd.conf
  EnableRemoteCommands=1    开启agent端远程命令执行功能
  # sudo server zabbix-agent restart

  ② 修改sudoers,给zabbix用户赋予权限,不然zabbix-agent无法执行命令
  # sudo visudo
  zabbix ALL=NOPASSWD: ALL
  zabbix ALL=NOPASSWD: /usr/loacal/catalina.sh start

  ③ 在tomcat启动脚本中添加jdk的环境变量,不然仍有可能启动不起来。
     (超级大坑,被坑了俩礼拜才找到问题)
  # vim /usr/local/tomcat/bin/catalina.sh        # 添加jdk环境变量
  export JAVA_HOME=/usr/java/latest
  export PATH=$PATH:$JAVA_HOME/bin
  export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

  

  四、开启踩坑之旅——server端
   ① 先创建一个Host ,直接填入agent端的IP就行

  ② 创建Item,使用內建的Key
         "proc.num[,,,]"
         通过某用户执行,某进程状态,进程名称来统计进程的数量
            name:进程名称(默认"all processes")
            user:用户名(默认"all user")
            state:进程状态(默认"all"),可选:run,sleep,zomb
            cmdline:命令行过滤(使用正则表达式查找进程)
         例如: proc.num[,root,all,tomcat]   统计root用户运行匹配tomcat的所有状态的进程。
  

  ③ 创建Trigger,设定触发条件,下面的表达式意思就是 最近第二次的结果为0就触发告警

  ④ 创建Action
  Operation type:改为执行远端命令
  Target list:选定执行的agent
  Type:可以有多种选择,此处是启动tomcat,选择Remote command或ssh既可
  Execute on:执行端,默认选择agent端既可
  Commands:写入想让agent端执行的命令既可
   坑:这里的命令尤为注意,一定要加sudo提升zabbix的权限,不然命令无法执行,并且远程命令执行不会有回复信息的,排错也比较难。


  五、测试
  ① agent端关闭tomcat


  ② server显示为故障,过一会儿就正常了。(正常的图是截完日志再截的,时间上有点久)


   ③ 通过日志也可以看出server端恢复了

  

  总结:关键点总结
  ① zabbix-agent端:
  添加 EnableRemoteCommands=1
  修改sudoers,给zabbix授权
  ② zabbix-server端:
  确保触发条件和执行条件正常,远程命令记得添加 sudo
  

  直接参考zabbix官方文档既可




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-641909-1-1.html 上篇帖子: 问题:Cannot find /usr/local/tomcat7/bin/setclasspath.sh 下篇帖子: TOMCAT无法启动,错误内容“找不到指定的模块”
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表