zabbix执行远程命令

Remote command 最大的好处是什么呢? 是自动。  Zabbix会根据配置的条件,去执行对应的命令,下面看看Remote command的应用场景。

    • 应用无法响应时,自动重启某些应用。
    • 当服务器不响应时,使用IPMI的“reboot”命令重启服务器。
    • 在磁盘要满了的情况下,自动删除一些文件(比如/tmp)。
    • 根据CPU负载,自动进行虚拟机调配。
    • 弹性计算,根据系统情况,新增或删除云节点。

Zabbix无法通过Zabbix Proxy向Zabbix Agent发送,一定要从Zabbix Server 发起。而且,发送的命令长度也有限制,即不能超过255个字符,这个对于一般命令绰绰有余了,只要不是cat某个文件之类的,都足够了。如果在多行写多个命令,Zabbix会按照顺序执行。而且在Remote command中,还支持Macro定义。

Remote command稍显复杂。在Agent上执行的自定义脚本(即Custom scripts)一定要在Zabbix_agentd.conf中预先定义,而且在zabbix_agentd.conf中“EnableRemoteCommands”这一项要设置为1,否则无法远程执行命令。这是必然的,因为Active默认的Zabbix Agent其实根本没有在服务器上安装Zabbix Agent,怎么能发送命令给它执行呢?

对于远程执行命令,权限也是个问题。 默认情况下,Zabbix是没有权限来重启系统服务的,如果Zabbix用户想要有某个权限,需要修改下sudoer文件。

# visudo
    #允许“Zabbix”用户不需要密码就可以运行所有root权限的命令
zabbix ALL=NOPASSWD: ALL
    #允许“zabbix”用户可以在不需要密码的情况下运行/etc/init.d/httpd restart ,即重启apache
zabbix ALL=NOPASSWD: /etc/init.d/httpd restart

1)zabbix_server 登录到 zabbix_proxy的python脚本 restart_tomcat_69.py

时间: 2024-10-12 22:19:22

zabbix执行远程命令的相关文章

Zabbix配置动作执行远程命令和发送邮件

当有事件发生,我们可以根据事件来执行相应的动作,根据事件来源可以分为触发器动作,自动发现动作,自动注册动作,内部事件动作,自动发现动作在之前的自动发现那里讲过了,这里介绍一下触发器动作,当触发器事件达到执行动作的必要条件,会执行相应的动作 1.配置邮件告警动作 首先创建一个触发器动作,触发报警会发送邮件定义动作触发条件定义动作执行的操作,这里是执行发送消息的操作,步骤1-5表示会发送5次消息,默认每次的间隔是30分钟这里我们定义了1-5步执行的操作,就是每隔30分钟,将消息通过'zabbix_s

L15.4 zabbix 自定义执行远程命令与分级报警示例

 zabbix 自定义执行远程命令与分级报警示例 详细选项说明参考之前内容,这里只演示操作过程. 注意事项: operation send message Media Type Email, SMS, Jabber, Script, EZ Texting User remote command (1) 给zabbix定义sudo规则: zabbix ALL=(ALL) ALL (2) 不支持active模式的agent: (3) 不支持代理模式: (4) 命令长度不得超过255个字符: (5)

zabbix action 执行远程命令

今天没事,想研究一下zabbix action执行远程命令,弄了一上午,终于好了.现记录一下,供以后再出现类似问题可以参考.. 首先,我要监控的服务是nginx/mysqld,在要监控的客户端上开启远程执行命令, EnableRemoteCommands=1 然后在客户端上添加权限 命令#visudo 在最后添加 # allows 'zabbix' user to run all commands without password. zabbix ALL=NOPASSWD: ALL #  # a

Zabbix报警执行远程命令

日常Zabbix报警案例中,大多都是报警发送邮件,场景里很少有需要报警后执行一个命令(启动服务.清空磁盘空间.关停服务器):而今天就给大家讲讲最近需要做的事:报警后执行远程命令 首先讲讲需求吧,  遥远的一天,小伙伴们用上了mongodb,而且需要大力使用,日后一些数据存储在mongodb:从生产环境迁移数据进mongodb,那么问题来了,经常听到别人说,mongodb量大就挂了.mongodb有些数据是在程序当中被引用到,白天某个时刻挂了,那么用户.客服.运营就呼唤着了..团队中也在查问题,找

使用 Socket 执行远程命令

编写一个程序,实现客户端能在服务端远程执行命令,并把命令结果在客户端打印出来 服务端:192.168.5.131客户端:192.168.5.134 [[email protected] ~]# cat client.py #!/usr/bin/env python #-*- coding:utf-8 -*- import sys import tab # tab模块用于让客户端支持命令tab补齐,需要自己编写该模块,参考:tab.py import socket s = socket.socke

Zabbix去执行远程命令

远程命令是一个很棒的功能,试想一下,你正在与甜美娇羞的小娘子兴奋的啪啪啪,突然短信来了,提示服务器里存储空间不够用,你还要翻身下床摸索出笔记本来把这些问题处理掉,处理完毕之后又要重新酝酿情绪,太扫兴了!其实这种一两个命令就能搞定的问题就应该交给Zabbix自己去解决. 我们这里就举一个"监控文件大小"的例子:假设我们把/mnt这个文件夹挂载到数据盘上,如果数据盘存储空间不够用,就要求zabbix远程自动删除一些过期的日志文件,只保留一天以内的日志文件. 于是乎,我们先写一个脚本,名字叫

zabbix——远程命令

实验目的: 使用zabbix监控httpd是否正常工作,具体通过监测80端口是否开启 如果httpd没有正常工作,zabbix执行远程命令,重启httpd服务   一.准备工作: 在agent端执行 vim /etc/zabbix/zabbix_agentd.conf //配置agent,允许执行远程命令   service zabbix-agent restart //重启服务生效   cat /etc/sudoers | grep requiretty //查看sudo配置是否要求用户登录t

Zabbix远程命令执行失败

前言 问题 : 手机上收到tomcat server[80] down信息,服务down掉,往往都是有重启操作.重启失败才会报警.如果重启操作执行了,我们就需要查看为何不能启动? Trigger: Tomcat service[80]is down Trigger status: PROBLEM Trigger severity: Disaster Trigger URL: Item values: 1. Tomcat status (192.168.96.200:net.tcp.listen[

zabbix添加自定义item、触发器、图形,并执行远端命令

#前言:     粗一看挺复杂的,其实照着步骤做一下,非常简单! #意图:      agentd端监控的服务down掉时,试图将其重启. #环境:        1.VMware12 . CentOS 7.1 . zabbix 2.4.6     2.zabbix server ip :10.10.100.104     3.zabbix agentd ip:10.10.100.105     4.server端和agentd端分别关闭selinux和firewalld: 4.1.vim /e