Zabbix 踩坑之旅——zabbix触发重启tomcat
2016-04-17 16:22
676 查看
一、实验需求
公司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
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/7607aafd528f1a67cc86dd9f5e3244c8.png)
② 修改sudoers,给zabbix用户赋予权限,不然zabbix-agent无法执行命令
# sudo visudo
zabbix ALL=NOPASSWD: ALL
zabbix ALL=NOPASSWD: /usr/loacal/catalina.sh start
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/5bd1609d17b4677a782a7d0b8a3350c7.png)
③ 在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
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/b9e28e534a0e1a19e3b38e2c22b7b252.png)
四、开启踩坑之旅——server端
① 先创建一个Host ,直接填入agent端的IP就行
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/348d8b68050a099a108d6a9d03fff89d.png)
② 创建Item,使用內建的Key
"proc.num[<name>,<user>,<state>,<cmdline>]"
通过某用户执行,某进程状态,进程名称来统计进程的数量
name:进程名称(默认"all processes")
user:用户名(默认"all user")
state:进程状态(默认"all"),可选:run,sleep,zomb
cmdline:命令行过滤(使用正则表达式查找进程)
例如: proc.num[,root,all,tomcat] 统计root用户运行匹配tomcat的所有状态的进程。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/8df741223796da03c9cdc264f0706b73.png)
③ 创建Trigger,设定触发条件,下面的表达式意思就是 最近第二次的结果为0就触发告警
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/a69d09fe5c4008b93c5be83026366216.png)
④ 创建Action
Operation type:改为执行远端命令
Target list:选定执行的agent
Type:可以有多种选择,此处是启动tomcat,选择Remote command或ssh既可
Execute on:执行端,默认选择agent端既可
Commands:写入想让agent端执行的命令既可
坑:这里的命令尤为注意,一定要加sudo提升zabbix的权限,不然命令无法执行,并且远程命令执行不会有回复信息的,排错也比较难。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/8ed09d4f8c962f7aff71c9db86a5bdf7.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/a545629eecd4b7a8835a4f31611dc6cb.png)
五、测试
① agent端关闭tomcat
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/c3764cdbd6e4ae058332f14e200bea1a.png)
② server显示为故障,过一会儿就正常了。(正常的图是截完日志再截的,时间上有点久)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/6a2d868bdb07eee6452eb801e59e6119.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/2f4728be0e481be81c31164f62937129.png)
③ 通过日志也可以看出server端恢复了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/d161941f44bbeb08042d5f39b26184ff.png)
总结:关键点总结
① zabbix-agent端:
添加 EnableRemoteCommands=1
修改sudoers,给zabbix授权
② zabbix-server端:
确保触发条件和执行条件正常,远程命令记得添加 sudo
直接参考zabbix官方文档既可
本文出自 “Linux学习记录表” 博客,请务必保留此出处http://pixiuwho.blog.51cto.com/2966916/1764770
公司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
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/7607aafd528f1a67cc86dd9f5e3244c8.png)
② 修改sudoers,给zabbix用户赋予权限,不然zabbix-agent无法执行命令
# sudo visudo
zabbix ALL=NOPASSWD: ALL
zabbix ALL=NOPASSWD: /usr/loacal/catalina.sh start
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/5bd1609d17b4677a782a7d0b8a3350c7.png)
③ 在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
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/b9e28e534a0e1a19e3b38e2c22b7b252.png)
四、开启踩坑之旅——server端
① 先创建一个Host ,直接填入agent端的IP就行
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/348d8b68050a099a108d6a9d03fff89d.png)
② 创建Item,使用內建的Key
"proc.num[<name>,<user>,<state>,<cmdline>]"
通过某用户执行,某进程状态,进程名称来统计进程的数量
name:进程名称(默认"all processes")
user:用户名(默认"all user")
state:进程状态(默认"all"),可选:run,sleep,zomb
cmdline:命令行过滤(使用正则表达式查找进程)
例如: proc.num[,root,all,tomcat] 统计root用户运行匹配tomcat的所有状态的进程。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/8df741223796da03c9cdc264f0706b73.png)
③ 创建Trigger,设定触发条件,下面的表达式意思就是 最近第二次的结果为0就触发告警
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/a69d09fe5c4008b93c5be83026366216.png)
④ 创建Action
Operation type:改为执行远端命令
Target list:选定执行的agent
Type:可以有多种选择,此处是启动tomcat,选择Remote command或ssh既可
Execute on:执行端,默认选择agent端既可
Commands:写入想让agent端执行的命令既可
坑:这里的命令尤为注意,一定要加sudo提升zabbix的权限,不然命令无法执行,并且远程命令执行不会有回复信息的,排错也比较难。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/8ed09d4f8c962f7aff71c9db86a5bdf7.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/a545629eecd4b7a8835a4f31611dc6cb.png)
五、测试
① agent端关闭tomcat
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/c3764cdbd6e4ae058332f14e200bea1a.png)
② server显示为故障,过一会儿就正常了。(正常的图是截完日志再截的,时间上有点久)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/6a2d868bdb07eee6452eb801e59e6119.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/2f4728be0e481be81c31164f62937129.png)
③ 通过日志也可以看出server端恢复了
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/11/d161941f44bbeb08042d5f39b26184ff.png)
总结:关键点总结
① zabbix-agent端:
添加 EnableRemoteCommands=1
修改sudoers,给zabbix授权
② zabbix-server端:
确保触发条件和执行条件正常,远程命令记得添加 sudo
直接参考zabbix官方文档既可
本文出自 “Linux学习记录表” 博客,请务必保留此出处http://pixiuwho.blog.51cto.com/2966916/1764770
相关文章推荐
- Error running Tomcat8: Address localhost:1099 is already in use
- eclipse maven项目中使用tomcat插件部署项目
- SSH框架整合常见异常错误
- tomcat启动报加载mvc-dispatcher-servlet.xml失败错误
- tomcat7-maven-plugin使用
- linux tomcat8 配置 jmx监控
- 文章标题
- struts2框架下Tomcat不能加载css、js和图片等静态资源的解决办法
- tomcat启动速度很慢,一直在加载hibernate映射文件!
- HAProxy负载均衡与keepalived搭建高可用负载均衡web(Nginx/PHP/Tomcat)集群 推荐
- Eclipse中将maven工程发布在tomcat里启动
- ssh项目启动tomcat很慢问题
- Tomcat与Apache 的关系详解
- JNDI定义tomcat资源
- MyEclipse创建JavaWeb应用(配置Tomcat)
- day08_2Tomcat概述
- Server Tomcat v8.0 Server at localhost failed to start. 问题解决方法?
- 在Windows下安装Tomcat服务器
- Web工程目录和tomcat目录
- Mac下安装Tomcat及配置