• zabbix远程命令-监控进程停掉后自动重启应用


    实验环境:Redhat7.2、zabbix4.2

    Agent主机:192.168.112.118

    实验内容:zabbix远程命令重启应用,以httpd为例

    zabbix远程命令可以做到的:

    重启应用(Apache、nginx、MySQL等)

    使用IPMI接口重启服务器

    自动释放磁盘空间(删除老文件,清除/tmp目录等等)

    CPU过载时将一个虚拟机迁移到另外一台物理服务器

    云环境下,一台服务器CPU硬盘内存其他硬件资源不足的情况下,可以自动添加过去

    配置

    1. 设置zabbix客户端用户的sudo权限(其他用户需要root权限的需要sudo)

    [root@linux ~]# visudo

    Defaults:zabbix         !requiretty   ####不需要提示终端登录

    zabbix  ALL=(ALL)       NOPASSWD:ALL   ####设置zabbix用户免密码登陆

    2. 在客户端配置支持远程命令

    EnableRemoteCommands = 1

    3.重启客户端

    [root@linux ~]# systemctl restart zabbix-agent

    4.手动检测终端可用性

    在server端执行命令

    zabbix_get -s 192.168.112.118 -k "system.run[df -h]"

    检测到内容,说明终端可用

    5.执行命令,获取客户端httpd状态

    [root@linux ~]# zabbix_get -s 192.168.112.118 -k "system.run[sudo systemctl status httpd]"

    执行命令报错

    权限不足,报这个错时首先查看防火墙状态

    防火墙已关闭,再次查看selinux状态

    Selinux是开启状态,临时关闭selinux

    [root@linux ~]# setenforce 0

    再次到终端执行命令

    发现此时httpd的状态为开启状态

    可以执行命令将其关闭

    zabbix_get -s 192.168.112.118 -k "system.run[sudo systemctl stop httpd]"

    6.在验证远程命令的可用性之后,在zabbix前端页面添加监控项,设置触发器,并添加执行远程命令的动作。

    7.添加监控项:

    自定义名称,类型为zabbix客户端,键值为proc.num[,,,httpd],其他自定义,点击添加。

    8.添加触发器

    自定义名称和严重性,表达式选择监控项.last()<1

    9.创建动作,创建一个动作命名为进程状态

    创建新的触发条件,选择触发器名称等于8所设置的触发器,

    操作:自定义操作步骤持续时间,默认标题,和消息内容(消息内容可以根据自己需要而设置)

    创建操作步骤:选择远程命令

    sudo systemctl restart httpd

    执行命令的同时要通知到责任人,添加新的,发送消息。更新后更新。

    最后记得永久关闭selinux

  • 相关阅读:
    Remove Element
    Binary Tree Inorder Traversal
    Symmetric Tree
    Roman to Integer
    Search Insert Position
    Reverse Integer
    Pascal's Triangle
    Merge Sorted Array
    Same Tree
    Visual Studio Code 做PHP开发
  • 原文地址:https://www.cnblogs.com/yigehezi/p/11230545.html
Copyright © 2020-2023  润新知