zabbix远程命令(remote command)配置
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 # %wheel ALL=(ALL) NOPASSWD: ALL zabbix ALL=(ALL) NOPASSWD: ALL # Defaults requiretty# 注释该行
关于该配置的说明:
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 # Enable logging of executed shell commands as warnings. # 0 - disabled # 1 - enabled # # Mandatory: no # Default: # LogRemoteCommands=0 LogRemoteCommands=1# 记录日志
(3)重启服务
~]# systemctl restart zabbix-agent.service
(4)zabbix用户可登陆
~]# mkdir /var/lib/zabbix# 创建家目录,可不做 ~]# grep "^zabbix" /etc/passwd zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin ~]# usermod -s /bin/bash zabbix ~]# grep "^zabbix" /etc/passwd zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/bin/bash
3、探测tcp的80端口,如果tcp的80端口没有监听,则自动重启nginx服务器
在被监控主机安装nginx
~]# yum install -y nginx ~]# systemctl restart nginx.service # 启动服务
在zabbix web上配置item和trigger,收集监控数据和设置触发器
item:
trigger:
Action配置,重点是Operation details的配置:
验证:
停止nginx服务
~#] su - zabbix -c "sudo /usr/bin/systemctl stop nginx.service" # 该方法可以验证zabbix在没有登录终端的情况下是否可以执行命令 会有如下报错,不影响使用,不用理会: Error creating textual authentication agent: Error opening current controlling terminal for the process (`/dev/tty'): No such device or address (polkit-error-quark, 0)
在Monitoring的Triggers里可以看到触发的监控项,
在Events里可以看到触发的事件,已经提示的Action:
在可以在agent host上/var/log/zabbix/zabbix_agentd.log目录查看操作日志(可以通过日志查找错误原因):
4620:20170511:111934.635 Executing command '/usr/bin/systemctl restart nginx.service'
在agent host上发现80端口已经重新监听:
[root@wlm ~]# ss -tnl | grep 80 LISTEN 0 128 *:80 *:* LISTEN 0 128 :::80 :::*
在zabbix web上的告警也已经解除了。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux克隆引发的网卡启动失败多种解决方案
故障现象: 最近在公司测试环境克隆了几个Linux系统,重启之后发现,网卡eth0都不见了 于是检查了网卡配置,最终想到以下几种解决方案,网卡启动信息如图所示: [root@test3 ~]# service network restart Shutting down loopback insterface: [ OK ] Bringing up loopback insterface: [ OK ] Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED] 方法一: [root@test3 ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules [root@test3 ~]# init 6 [root@test3 ~]# service network restart Sh...
- 下一篇
在CentOS 7上使用RPM包安装MySQL 5.7
shell> wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tarshell> tar xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tarshell> sudo yum install mysql-community-{server,client,common,libs}-* shell> vi /etc/my.cnf validate_password_policy=LOW :wq shell> sudo service mysqld start shell> sudo grep 'temporary password' /var/log/mysqld.log shell> mysql_secure_installation shell> mysql -u root -p
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Red5直播服务器,属于Java语言的直播服务器