zabbix执行远程命令

系统环境

    [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客户端用户权限

扫描二维码关注公众号,回复: 5633485 查看本文章

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被创建

查看动作日志,动作被执行

猜你喜欢

转载自blog.csdn.net/yuanfangPOET/article/details/86586166