日常Zabbix报警案例中,大多都是报警发送邮件,场景里很少有需要报警后执行一个命令(启动服务、清空磁盘空间、关停服务器);而今天就给大家讲讲最近需要做的事:报警后执行远程命令

  刚好zabbix动作中有个远程命令功能,那么就通过它来解决问题。。

  远程命令整个过程: items - triggers - action - remote commands

  配置过程:

  1.创建一个mongodb items

  Configuration - Hosts Items

  wKioL1PN6SjB5IWmAAGqLQRk_Zg461.jpg

  spacer.gif

  2.配置mongodb triggers

  Configuration - Hosts Triggers

  wKioL1PN6U6yzifwAADLF5mn3xs708.jpg

  3.配置远程命令的actions

  Configuraction - Actions

  wKiom1PN6GbRPiw3AAGpMejev9A604.jpg

  条件选择触发器值为PROBLEM、触发器为上面的mongodb触发器spacer.gif

  wKiom1PN6H3iYRcnAAGGwNkM9JM812.jpg

  执行次数为5次,每次间隔60秒

  操作类型为:远程命令

  类型为:自定义脚本

  命令:具体的指令。内容将贴在下面。

  wKiom1PN6JrznY7mAAORPm0zyH8222.jpg

  至此整个过程都配完了,,但是现在mongodb挂了,actions会执行启动mongodb命令么。? 肯定不会。

  远程命令前提条件,需要在配置文件开启远程命令参数,并启动agentd。

  echo 'EnableRemoteCommands=1' /usr/local/zabbix/zabbix_agentd.conf

  /etc/init.d/zabbix_agentd restart

  #注意,远程命令不支持在zabbix agentd active模式。。切记。。

  脚本内容:

  cat /usr/local/mongodb/start_mongod.sh

  #!/bin/bash

  /usr/local/mongodb/mongod -f /usr/local/mongodb/mongod.conf /tmp/start.log

  #注意,zabbix启动用户,需要能执行上述命令,也就是需要sudo赋权

  那么现在,已经全部完成,总结一下配置过程

  1.在agentd配置文件中开启EnableRemoteCommands参数

  2.配置actions里的Remote Comand

  3.Commands里的脚本制作

  故障演示

  干掉mongodb

  #killall mongod

  过了采集时间,zabbix将会把triggers置为problem,同时触发actions。记录里显示如下

  Administration - Audit - Actions

  wKioL1PN6dbCLE6gAAC5ROXttiU457.jpg

  如果配置正确,那么audit一定会产生一条remote commnad记录。

  有误1,Audit无记录,查下配置文件、actions配置

  有误2,Audit有记录,但mongodb却未启动,脚本有问题,调试一下。。

Zabbix报警执行远程命令的更多相关文章

  1. 在地铁上看了zabbix 的书发现 "报警执行远程命令"

    在地铁上看了zabbix 的书发现 "报警执行远程命令" 远程命令整个过程:  items -> triggers -> action -> remote com ...

  2. (29)zabbix执行远程命令

    概述 监控,有的人只把他当做报警使用,出现问题之后打开跑回家打开电脑,巴拉巴拉的处理掉,大多数时候都是一些小问题,为何不让zabbix帮你把这些事情处理掉呢?和朋友具体,收到xx硬盘空间慢了.xx服务 ...

  3. zabbix配置通过远程命令来发送邮件

    1.安装好zabbix后,在/var/log/zabbix可以查看日志. 2.主机通过zabbix-get检查 yum install zabbix-get -y zabbix-get  -s 客户主 ...

  4. Ubuntu 14.10 下SSH执行远程命令

    有些时候需要在远程机器上执行命令,如果每次都等进去挺麻烦的,所以用脚本执行会方便很多.下面介绍一下在shell脚本中执行远程命令. 1,首先写好要运行的脚本 run-command.sh, 加上执行权 ...

  5. 如何使用 PsExec 执行远程命令

    前言 这紧紧只是一篇纯技术分享.我们的程序在运行时需要连接多台目标机器,并拷贝目标机器上特定文件夹中的文件.为了方便访问,要在每台目标机器上建立一个特定用户,所以 PsExec 成了实现此功能的一个方 ...

  6. psexec局域网执行远程命令

    执行远程命令的工具psexec.exe 下载 一.首先,被控制机器必须开启ipc$,以及admin$,否则无法执行 开启ipc$ net share IPC$ 开启admin$ net share A ...

  7. Python中使用os模块执行远程命令

    1. 使用os模块远程执行命令 服务端代码 1 import socket 2 import os 3 4 sh_server = socket.socket() #创建一个socket对象 5 sh ...

  8. Python网络编程03 /缓存区、基于TCP的socket循环通信、执行远程命令、socketserver通信

    Python网络编程03 /缓存区.基于TCP的socket循环通信.执行远程命令.socketserver通信 目录 Python网络编程03 /缓存区.基于TCP的socket循环通信.执行远程命 ...

  9. zabbix在执行docker命令是报错

    系统环境 ubuntu 14.04  x64 安装了zabbix,去监控docker的状态,安装zabbix见我的另外一篇文章 错误如下 WARNING: Error loading config f ...

随机推荐

  1. 注册页面的JSON响应方式详细分析(与前端页面交互方式之一)

    控制器层 需求分析: 访问路径:`/user/reg.do` //自己根据功能需求设定的请求参数:`username=xx&password=xx&&phone=xx& ...

  2. log4j2笔记 #01# Architecture

    索引 Architecture Main Components Logger Hierarchy LoggerContext Configuration Logger LoggerConfig Fil ...

  3. Redis可以用来做什么?(摘自http://www.lianpenglin.cc廉鹏林博客)

    Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」.Redis 以其超高的性能.完美的文档.简洁易懂的 ...

  4. Maven工程打成一个jar包

    1:maven-shade-plugin 插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <a ...

  5. centos6.5编译安装php7

    1.安装依赖软件库: yum install -y libxml2-devel libtool* curl-devel libjpeg-devel libpng-devel freetype-deve ...

  6. topcoder srm 465 div1

    problem1 link 以两个点$p,q$为中心的两个正方形的边长和最大为$2dist(p,q)$,即$p,q$距离的两倍. 也就是两个$p,q$的连线垂直穿过两个正方形的一对边且平分两个正方形. ...

  7. Bootstrap3基础 input-group glyphicon 输入框组与glyphicon图标

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  8. Flask学习【第7篇】:Flask中的wtforms使用

    简介flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装 pip3 install wtforms 简单使用wtforms组件 用 ...

  9. The Mathematics of the Rubik’s Cube

    https://web.mit.edu/sp.268/www/rubik.pdf Introduction to Group Theory and Permutation Puzzles March ...

  10. Visual Studio Code配置Python开发环境

    1.安装Python插件 在VScode界面按Crtl+Shift+P或者F1 输入ext install 直接安装Python,也就是点击它,然后等待,安装好后会提示你重启 2.配置运行Python ...