根据上篇配置的环境,接下来说明在zabbix agent上执行远程命令是如何完成的。

远程命令受到一些限制:

(1)在agent执行远程命令必须给zabbix用户定义sudu规则:

(2)不支持active模式的agent

(3)不支持代理模式

(4)命令长度不得超过255个字符

(5)可以使用宏

(6)zabbix-server仅执行命令,而不关心命令是否执行成功

修改一下agent的配置文件,vim /etc/zabbix/zabbix_agentd.conf  把EnableRemoteCommands和LogRemoteCommands这两个参数都设置为1,第一个参数表示支持远程命令执行,第二个表示该操作将被记录到日志中。

回到zabbix web gui界面在client主机下定义一个新的item:

此处我设置的数据类型为Boolean,非真(1)即假(0),item key 为监听tcp的80端口。

再为该item定义一个trigger

Expression表示最后一次取值是否为0,如果为0则触发该trigger。

为该trigger定义一个action:

指定了在哪台agent上执行远程命令,注意执行的命令前要添加sudo。

action定义好了

因为执行命令的用户为zabbix。此时该命令还无法执行,还得去sudoer文件去为zabbix用户添加执行权限,在agent端执行命令visudo

添加一行,表示zabbix可以在任何主机(过来请求执行命令的主机)执行任何命令,而不需要密码。

Defaults这个参数表示要求执行命令的用户必须通过tty终端登录了该主机,而执行远程命令的zabbix不会登陆系统,所以必须得注释掉该参数。

手动启动httpd服务发现服务虽然启动了但报了一个错:

vim /etc/hosts

把第一行的主机名修改为client(当前主机名)。停掉httpd服务。这时远程命令就会自动执行了,ss -tnl 查看80端口会被监听了。查看一下日志最后一行显示命令已经执行:

接下来自定义个item key,vim /etc/zabbix/zabbix_agentd.conf

这个目录存放自定义item key的文件, 自定义item key的语法为:UserParameter=key,command或UserParameter=key[*],command,后面的那个[*]表示是可以带参数,参数在command中的调用为$1,$2..

vim /etc/zabbix/zabbix_agentd.d/os.conf

自定义的item key名字为os.memory.free  命令取得的值为空闲的内存数,还得重启agent服务 service zabbix-agent restart。

回到gui界面,重新定义一个item

再为该item定义一个graph

此图下面已经显示所取得平均值了。

接下来再用UserParameter=key[*],command这种语法格式定义item key       vim os.conf

在zabbix服务器上执行mysql -e "show global status" | awk '/Com_select/{print $0}'

取得它的查询次数 mysql -e "show global status" | awk '/Com_select/{print $2}'

在os.conf文件后面定义:vim /etc/zabbix/zabbix_agentd.d/os.conf

print后面加了两个$是为了避免与前面的$冲突,定义完毕,service zabbix-agnet restart,在该agent上安装mysql  yum -y install mysql-server   service mysqld start

mysql   grant all on *.* to 'root'@'%' identified by 'password'    flush  privileges

在zabbix服务器上去使用zbbix_get命令去获取刚刚定义item key

zabbix_get -s 192.168.238.222 -k "Mysql.dml[192.168.238.222,root,password,select]"

回到web页,再为agent定义一个item,监控server上的Com_select  先到server上进行授权  mysql  grant all on *.* to 'root'@'%' identified by 'password';

到web gui上定义item

为该item定义一个graph

点击preview

zabbix提供网络发现功能:network discover,网络发现通常包含两个阶段:discover和actions,在执行网络发现功能前确保server和agent是时间同步的

启动一台新的虚拟机安装agent,启动服务 service zabbix-agent start,回到web gui 在该目录下创建新的发现规则

点击create discovery rule

这里我定义了扫描的ip地址范围191-192(新的agent其ip地址就是191),扫描的时间间隔为10秒(为测试目的,生产环境根据需要定义,太短会消耗很多带宽)使用ping的方式进行扫描

这时Monitoring目录下的Discovery已经发现了该主机了

当主机发现后还得为它定义action,先去定义一个template发现该主机后将该主机链接到该template

定义了template的名字,将该template放在了test组中。

在test组中找到该template为其添加一个application:

再为该application添加一个item

上面的item key我事先已经在该被发现的agent上/etc/zabbix/zabbix_agentd.d/os.conf文件中定义好了 如下:

再为该item定义一个graph

template定义好了,现在去定义action了,在Configuration下的Actions目录下将Event source设定为Discovery

点击Create action

定义好condition,条件就使用我们刚才定义的discovery rule,discovery status 必须是discovered或者Up,而不是lost,下面的A和B这两项必须有

接下来去定义Operations

这样就为一个discovery定义了一个action

可以在Configuration的Host groups中查看到被发现的主机:

还可以在server的mysql中查看

也可以在Monitoring中的Latest data中查看:

接下来说auto-registion,自动注册功能,agent会主动将自己报告给server,而不需要server去扫描整个网络,减轻了网络的负担,新开一台agent虚拟机,记得首先同步一下时间

配置文件有几个选项得修改

上面这个参数在下面action中定义condition有用

上面的ListenIp指定本机的网卡

在Configuration的Actions下将Event source改为Auto registration 点击create action

apache3已经自动注册了

一般我们只是用主动或被动监控其中一种模式。

apache3是主动注册的,我们为它可以定义Zabbix agent(active) 的item

为该item定义一个graph

点击preview

zabbix一些高级功能介绍的更多相关文章

  1. 阿里云Aliplayer高级功能介绍(一):视频截图

    基本介绍 H5 Video是不提供截图的API的, 视频截图需要借助Canvas,通过Canvas提供的drawImage方法,把Video的当前画面渲染到画布上, 最终通过toDataURL方法可以 ...

  2. 阿里云 Aliplayer高级功能介绍(三):多字幕

    基本介绍 国际化场景下面,播放器支持多字幕,可以有效解决视频的传播障碍难题,该功能适用于视频内容在全球范围内推广,阿里云的媒体处理服务提供接口可以生成多字幕,现在先看一下具体的效果: WebVTT格式 ...

  3. 阿里云 Aliplayer高级功能介绍(二):缩略图

    基本介绍 Aliplayer提供了缩略图的功能,让用户在拖动进度条之前知道视频的内容,用户能够得到很好的播放体验,缩略图是显示在Controlbar的上面,并且包含当前的时间,阿里云的媒体处理服务提供 ...

  4. 阿里云 Aliplayer高级功能介绍(四):直播时移

    基本介绍 时移直播基于常规的HLS视频直播,直播推流被切分成TS分片,通过HLS协议向播放用户分发,用户请求的m3u8播放文件中包含不断刷新的TS分片地址:对于常规的HLS直播而言,TS分片地址及相应 ...

  5. 阿里云 Aliplayer高级功能介绍(六):进度条标记

    基本介绍 Aliplayer在进度条上提示时间和缩略图功能外,还可以进行视频内容的提示打点,当然不止是进度条上显示打点的内容,还提供一组接口,方便用户进行打点时间和内容的获取, 基本UI如下图所示: ...

  6. 阿里云 Aliplayer高级功能介绍(五):多语言

    基本介绍 Aliplayer默认支持中文和英文,并且依赖于浏览器的语言设置自动启用中文或英文资源, 除了支持这两种资源外,还提供自定义语言的形式,支持其他国际语言,另外Aliplayer还支持点播服务 ...

  7. 阿里云 Aliplayer高级功能介绍(九):自动播放体验

    基本介绍 经常会碰到客户询问,为什么我设置了autoplay为true,但是没有自动播放,每次都要向客户解释这个是浏览器从用户体验角度考虑做的限制,客户会继续询问那我要怎么做? 针对这个问题Alipl ...

  8. 阿里云 Aliplayer高级功能介绍(七):多分辨率

    基本介绍 网络环境比较复杂.网速不稳定,Aliplayer提供了多分辨率播放的模式,用户可以手工切换分辨率和播放器选择最优分辨率,基本UI如下: Source模式 source的方式指定多个清晰度的地 ...

  9. 阿里云 Aliplayer高级功能介绍(八):安全播放

    基本介绍 如何保障视频内容的安全,不被盗链.非法下载和传播,阿里云视频点播已经有一套完善的机制保障视频的安全播放: 更多详细内容查看点播内容安全播放,H5的Aliplayer对于上面的安全机制都是支持 ...

随机推荐

  1. ubuntu 14.04 安装git server

    版本信息 ubuntu : 14.04.1 git version 1.9.1 perl v5.10.1 ssh OpenSSH_6.6.1p1 本次安装的git server使用gitolite实现 ...

  2. PostgreSQL在Ubuntu上安装指南

    安装环境: Ubuntu 10.04-desktop-i386 PostgreSQL 8.4 1. 安装PostgreSQL 输入如下命令 sudo apt-get install postgresq ...

  3. this.Invoke

    this.Invoke(new Action(() =>      {              }));

  4. Objective-C 2.0的运行时编程

    Objective-C 2.0 的运行时环境叫做Morden Runtime,iOS 和Mac OS X 64-bit 的程序都运行在这个环境,也就是说Mac OS X 32-bit 的程序运行在旧的 ...

  5. 剑指Offer:面试题4——替换空格(java实现)

    问题描述:请实现一个函数,把字符串中的每个空格替换成"%20". 例如: 输入:"We are happy." 输出:"We%20are%20happ ...

  6. 【CImg】简单的畸变矩形矫正

    三个角点确定一个平面,畸变的平面可以看成是不同基底下同一图像的表示 ============================我是分割线============================= 1. ...

  7. 科普:什么是IPV4?什么是IPV6?

    IPv4是Internet Protocol version 4(网际协议版本4)的英文简称,而中文简称为“网协版4”. 目前的全球因特网所采用的协议族是TCP/IP协议族.IP是TCP/IP协议族中 ...

  8. 挣值管理(EVT)

    如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 第二个大计算,根据PV.EV.AC计算出CV.SV.SPI.CPI.ETC.EAC. ...

  9. c# 生成json数据包

    json数据类型,归根到底就是一个字符串,管他里面什么格式,它就是一个字符串来的! 看一个json数据包: { "touser":"OPENID", " ...

  10. 解决wamp mysql数据库出现乱码的问题。

    一般的乱码情况: 如果在控制台上出现這样的乱码,一般在phpmysqladmin上也会出现乱码,因为他们都一样 一个在控制台出现,一个在页面出现. 首先在mysql.exe上输出 mysql>S ...