手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

CentOS6.5下Zabbix安装使用学习系列

远程操作被监控机器

[日期:2016-07-21] 来源:Linux社区  作者:hutao722 [字体: ]

  虽然我们已经创建了一个报警系统,但在实际场景中,运维人员从得到报警到实际解决问题有一定的时差,若业务系统没有做高可用,那业务不得不中断,对于某些要求严格的企业级环境,这是不可容忍的,那有没有方法能让zabbix server自动尝试解决问题呢?答案是有的,zabbix server允许通过远程命令的方式对被监控机器进行操作。

  本文将以CentOS6.5为例,演示如何进行远程命令操作。场景为被监控机器是一台运行Nginx的机器,zabbix server监控其80端口,若80端口无法访问了,我们视为Nginx挂了,要求zabbix第一时间启动Nginx。

  首先我们要求agent的配置文件必须要支持远程命令。

vi /usr/local/zabbix/etc/zabbix_agentd.conf
#找到EnableRemoteCommands这一行,修改如下:
### Option: EnableRemoteCommands
#       Whether remote commands from Zabbix server are allowed.
#       0 - not allowed
#       1 - allowed
#
# Mandatory: no
# Default:
# EnableRemoteCommands=0
   EnableRemoteCommands=1

  其次,因为agent是运行于zabbix账号,若要启动Nginx,必须要授权访问,可通过visudo的相应授权来解决。

visudo

#允许zabbix账号可以无密码访问
## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
zabbix  ALL=(ALL)       NOPASSWD:ALL

#允许不需要tty也能操作,因此注释下行
#Defaults    requiretty

  这样客户端的设置就完成了,再看看zabbix server端如何设置。

  我们新建一个Action,当发现被监控机80端口挂了后,触发远程命令动作。

  设置触发条件。

  设置命令动作。

  设置完成后,可以尝试将被监控机器的nginx给停了。

/usr/local/nginx/sbin/nginx -s quit

  等上几分钟后,zabbix server将监控到nginx挂了,并尝试重启,注意的是zabbix server不关心远程命令的执行结果。

  在Events事件中,我们可以看到该远程命令已经被执行。

  在被监控机器上我们再看看80端口是否已经起来。

netstat -tlnp|grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      4071/nginx

  结果说明Nginx确实又起来了。

ZABBIX 的详细介绍请点这里
ZABBIX 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-07/133421.htm

linux
【内容导航】
第1页:源码安装 第2页:yum安装
第3页:agent安装 第4页:mail客户端安装
第5页:如何快速搭建一个报警系统 第6页:zabbix server在内网而邮件发送服务器在外网问题解决
第7页:远程操作被监控机器
相关资讯       ZABBIX  CentOS6.5下安装Zabbix 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款