zabbix action的简单用法

本文主要介绍action(动作)实现进程出现问题自动恢复的功能

以下以apache进程为例

192.168.10.74为zabbix客户端

首先在客户端配置,要允许zabbix server的脚本在zabbix agent执行,必须在zabbix agent开启一个参数

[[email protected] ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep -B 7 EnableRemoteCommands=1
### Option: EnableRemoteCommands
#Whether remote commands from Zabbix server are allowed.
#0 - not allowed
#1 - allowed
#
# Mandatory: no
# Default:
EnableRemoteCommands=1

默认为0,设置为1后重新启动zabbix_agentd。

因为我们要测试httpd服务在挂掉之后能重新启动,所以必须要给zabbix用户能重启httpd服务器的权限。在暴露密码的情况下sudo是最好的选择。

visudo
zabbix  ALL=NOPASSWD:/etc/init.d/httpd restart

只给zabbix重启httpd服务器的权限,客户端这边就设置完成。下面我们来配置下zabbix server

配置->动作->触发器 点击"创建动作"

动作那页在名称那行命名即可,以下是“条件”

A和B两个条件是默认的,C条件必须加上去。这样就能在触发器linux httpd出现“问题”的时候执行这个action.

在“操作”页面如下配置

选择主机192,168.10.74,类型为自定义脚本,命令里面写上需要执行的脚本即可。这样action就设置完成,我们来测试下它是否可以正常触发。

我们先关闭http服务

[[email protected] ~]# /etc/init.d/httpd stop
Stopping httpd:                                            [  OK  ]

触发器linux httpd已经报错,仔细观察下后面那个绿色的1,鼠标放上去

我们来查看下服务器的httpd服务是否已经启动

[[email protected] ~]# /etc/init.d/httpd status
httpd (pid  7451) is running...

这样一个简单的action就实现了。

作为运维,当你在假期吃着火锅唱着歌的时候突然收到一条服务器故障的短信时那是多么的扫兴。这时你就会发现action真是个好东西啊!

时间: 2024-10-25 16:22:44

zabbix action的简单用法的相关文章

Android WIFI 简单用法

随着Wifi的普及,在开发App的时候对wifi的考虑越来越多了.例如程序的升级在wifi下可以省很多流量,在通信软件中的视频通话.可以实现高画质的传输等等,Android提供了WifiManager类来帮助开发者们管理Wifi.下面就简单来说一下WifiManager的简单用法把. 权限: 为了使用WfiManager 我们需要在Androidmanifest.xml 加入权限: //本例中使用了前两个.具体请按照需要添加权限. <uses-permission android:name=&quo

UIDatePicker的简单用法

// 初始化UIDatePickerUIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 200, 320, 216)];// 设置时区[datePicker setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];// 设置当前显示时间[datePicker setDate:tempDate animated:YES];// 设置显示最大时间

android-service的简单用法

service是android开发中的四大组件之一,下面来介绍service的简单用法 1.需要新建一个service类,该类继承与service接口,需要实现onBind方法,这个方法之后介绍 2.创建intent对象,设置intent的目标为新建的service的类,启动service的方法有两种用startservice方法和bindservice方法 两种方法的不同在于startservice在启动服务之后,关闭当前的activity之后service还在系统后台运行 bindservi

Django的ModelForm简单用法

Django中内置了Form和Model两个类,有时候页面的表单form类与Model类是一一对应,因此分别定义Form类和Model类会比较麻烦,最简单的方式就是通过Model来生成一个Form类,Django内置的ModelForm就是为此而生的.下面以一个简单的例子来说明它的简单用法. 基本需求 收集用户的日本报名信息 其中JLPT的日语等级分为N1,N2,N3,N4,N5:所以需要一个选择器. 用户需要手动输入姓名,因此需要一个输入框. 在Project中新建一个app $ python

IOS 中block结构的简单用法

自从block出现之后,很多API都开始采用这样的结构,由此可见,block确实有许多优势存在,这里将一些简单用法总结如下: 一.如何声明一个block变量 我们通过^符号来声明block类型,形式如下: void (^myBlock)(); 其中第一个void是返回值,可以是任意类型,中间括号中^后面的是这个block变量的名字,我把它命名为myBlock,最后一个括号中是参数,如果多参数,可以写成如下样式: int (^myBlock)(int,int); 同样,你也可以给参数起名字: in

SQL*Plus break与compute的简单用法

SQL*Plus break与compute的简单用法在SQL*Plus提示符下输出求和报表,我们可以借助break与compute两个命令来实现.这个两个命令简单易用,可满足日常需求,其实质也相当于在编写SQL语句时使用分组及聚合函数.不同的是在报表中的分组的最下方或整个报表的最下方我们可以得到如sum,avg以及自定义的聚合字样. 一.break用法:help break BREAK ----- Specifies where changes occur in a report and th

iOS block-base 动画简单用法+关键帧动画设置线性变化速度的问题

本文转载至 http://www.tuicool.com/articles/aANBF3m 时间 2014-12-07 20:13:37  segmentfault-博客原文  http://segmentfault.com/blog/alan/1190000002411296 iOS的各种动画相漂亮,相信这是吸引很多人买iPhone的原因之一.不仅如此,这还是吸引我做iOS开发的一大原因,因为在iOS上给界面实现一些像样的动画实在是太轻松了! 这里就介绍一下iOS的block-based an

Android中资源文件中的字符串数组string-array简单用法

在Android中,用string-array是一种简单的提取XML资源文件数据的方法. 例子如下: 把相应的数据放到values文件夹的strings.xml文件里,或是其他自定义的xml中都可以,以下操作方法相同. <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="sports"> <item>足球<

expect简单用法

1 #!/usr/expect/bin/expect -f 2 3 4 set loginuser [lrange $argv 0 0] 5 set loginpass [lrange $argv 1 1] 6 set ipaddr [lrange $argv 2 2] 7 set port [lrange $argv 3 3] 8 set timeout [lrange $argv 4 4] 9 set from [lrange $argv 5 5] 10 set to [lrange $ar