首页 > 网络 > 其他 > 正文
zabbix远程命令(remote command)配置
2017-05-16       个评论      
收藏    我要投稿

1、zabbix远程命令(remote command):

1.1 功能:

重启服务;

通过IPMI接口重启服务器;

任何自定义脚本可以完成的功能:清理磁盘空间,虚拟机实例迁移等等;

1.2 相关属性:

Tatget list:远程命令执行的目标主机,可以实当前主机、其他主机或主机组

Type:命令类型

IPMI:IPMI命令;

Custom script:自定义脚本,可以选择其是在zabbix server上还是zabbix agent上执行;

SSH:通过ssh执行命令,需要提供目标主机上的用户账号、相关的认证方式及认证所需额外信息;

Telnet:通过Telnet执行命令,需要指定用户名、口令及远程主机telnet服务监听的端口

Global script:全局脚本,执行"Administration-->Scripts"定义的脚本的其中之一;

Commands:要执行的命令

2、使用的前提条件

在agent需要完成的配置:

(1)zabbix用户有所需要管理的权限(基于sudo授权)

~]#visudo

#%wheelALL=(ALL)NOPASSWD:ALL

zabbixALL=(ALL)NOPASSWD:ALL

#Defaultsrequiretty#注释该行

关于该配置的说明:

1) Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端(不需要从终端登录就可以执行命令)

# su - zabbix -c 'sudo /usr/bin/systemctl restart httpd.service'

2) Defaults requiretty, 修改为 Defaults:nobody !requiretty,表示仅nobody用户不需要控制终端(仅nobody用户不需要从终端登录就可以执行命令)

(2)agent进程要允许执行远程命令;

~]#vim/etc/zabbix/zabbix_agentd.conf

EnableRemoteCommands=1#开启远程命令

###Option:LogRemoteCommands

#Enableloggingofexecutedshellcommandsaswarnings.

#0-disabled

#1-enabled

#

#Mandatory:no

#Default:

#LogRemoteCommands=0

LogRemoteCommands=1#记录日志

(3)重启服务

~]#systemctlrestartzabbix-agent.service

(4)zabbix用户可登陆

~]#mkdir/var/lib/zabbix#创建家目录,可不做

~]#grep"^zabbix"/etc/passwd

zabbix:x:996:994:ZabbixMonitoringSystem:/var/lib/zabbix:/sbin/nologin

~]#usermod-s/bin/bashzabbix

~]#grep"^zabbix"/etc/passwd

zabbix:x:996:994:ZabbixMonitoringSystem:/var/lib/zabbix:/bin/bash

3、探测tcp的80端口,如果tcp的80端口没有监听,则自动重启nginx服务器

在被监控主机安装nginx

~]#yuminstall-ynginx

~]#systemctlrestartnginx.service#启动服务

在zabbix web上配置item和trigger,收集监控数据和设置触发器

item:

wKioL1kT2gmw2pnJAAN3q2ZtLZ4894.jpg

trigger:

wKiom1kT2guwd7WrAAMixqLMi5A275.jpg

Action配置,重点是Operation details的配置:

wKioL1kT2omBwQx6AAM2-NhrlwU968.jpg
wKioL1kT2orTOavNAAKHHdH3hN8140.jpg

验证:

停止nginx服务

~#]su-zabbix-c"sudo/usr/bin/systemctlstopnginx.service"

#该方法可以验证zabbix在没有登录终端的情况下是否可以执行命令

会有如下报错,不影响使用,不用理会:

Errorcreatingtextualauthenticationagent:Erroropeningcurrentcontrollingterminalfortheprocess(`/dev/tty'):Nosuchdeviceoraddress(polkit-error-quark,0)

在Monitoring的Triggers里可以看到触发的监控项,

在Events里可以看到触发的事件,已经提示的Action:

wKiom1kT3CThDUqDAAGN2cmU-Dc574.jpg

在可以在agent host上/var/log/zabbix/zabbix_agentd.log目录查看操作日志(可以通过日志查找错误原因):

4620:20170511:111934.635Executingcommand'/usr/bin/systemctlrestartnginx.service'

在agent host上发现80端口已经重新监听:

[root@wlm~]#ss-tnl|grep80

LISTEN0128*:80*:*

LISTEN0128:::80:::*

在zabbix web上的告警也已经解除了。

点击复制链接 与好友分享!回本站首页
上一篇:DNS服务器介绍(二)——主从复制和区域转发
下一篇:eclipse中Java Web导入到IntelliJ IDEA 并且配置Tomcat(超级详细)
相关文章
图文推荐
文章
推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站