zabbix执行远程命令
系统环境[root@node1 ~]# cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core)[root@node1 ~]# uname -r3.10.0-862.el7.x86_64防火墙,selinux已关闭zabbix版本 3.4服务端...
·
系统环境
[root@node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@node1 ~]# uname -r
3.10.0-862.el7.x86_64
防火墙,selinux已关闭
zabbix版本 3.4
服务端 | 192.168.231.130 node1 | zabbix-server、zabbix-agent | 作为服务端,也最为客户端,监控本地 |
客户端 | 192.168.231.131 node2 | zabbix-agent | 客户端 |
一、概述
zabbix可以通过远程发送执行命令或脚本来对部分服务故障进行修复。
例:
- 重启应用(Apache、nginx、MySQL 等等)
- 使用 IPMI 接口重启服务器
- 自动释放磁盘空间(删除老文件,清除/tmp 目录等等)
- CPU 过载时将一个虚拟机迁移到另外一台物理服务器
- 云环境下,一台服务器 CPU\硬盘\内存\其他硬件资源不足的情况下,可以自动添加过去
二、配置
zabbix客户端配置
1.设置zabbix客户端用户权限
visudo
#添加
Defaults:zabbix !requiretty #不需要终端登录
zabbix ALL=(ALL) NOPASSWD:ALL #设置zabbix用户拥有所有权限并且免密码登录
2.zabbix客户端配置文件开启对远程命令的支持
vim /etc/zabbix/zabbix_agentd.conf
#修改值为1
EnableRemoteCommands=1
3.重启zabbix客户端
systemctl restart zabbix-agent.service
4.zabbix服务端测试:
zabbix_get -s 192.168.231.131 -k "system.run[sudo df -h]"
5.在这里检测node2,zabbix客户端/etc/zabbix目录中是否有1.txt文件,没有就触发脚本
在node2中创建touch.sh脚本
chmod +x touch.sh
zabbix-web界面配置
创建监控项
依次点击配置->主机->node2(zabbix客户端) 、监控项
创建触发器
当1.txt不存在时触发器触发
打开表达式构造器->编辑
创建动作
配置->动作->创建动作
点击操作->选择远程命令->新的(选择主机)->最后先点击小号添加,否则不生效
其中目标是添加zabbix客户端
三、测试
告警并解决
node2中/etc/zabbix目录中1.txt被创建
查看动作日志,动作被执行
更多推荐
已为社区贡献2条内容
所有评论(0)