zabbix监控添加主机,报警、监控的设置

简介:

根据使用zabbix这么久的经验,总结了一套zabbix比较实用的添加主机、监控报警的使用流程,供大家参考。

一:添加处理方法,就是如何报警

  打开zabbix的管理------处理方法----create media type:

133646100.png

  我用的是脚本发邮件的方式来报警的,脚本名字为mail.py。指的一提的是脚本存放位置,我的脚本是放在/usr/local/zabbix/bin/目录下面,在这里不写目录的据对路径,直接写脚本名字,他的路径设置是在zabbix服务器端的配置文件中设置的,在zabbix_server.conf配置文件中设置:AlertScriptsPath=/usr/local/zabbix/bin/
二:添加zabbix用户和组,设置其邮箱地址等信息
1:打开zabbix的管理------用户---选择用户组下拉----create user group:

133940586.png

填写个组名,设置需要的权限直接保存就成,其他的不用填写和选择。
2:打开zabbix的管理------用户---选择用户下拉----create user:
填写用户信息

134025919.png

3:添加报警介质,就是报警方式,因为是报警,【信息】那项就不用勾选,信息一般就是服务器信息发生变化时报警,这个一般没有什么意义,所以不勾选,不过你也可以选择,根据个人喜好。类型的话就是选择处理发放中的报警介质,选择你添加的。然后可以保存信息,完成添加用户(Permissions那项没有不填写)。

134102162.png

三:报警触发器触发的动作设置
   当监控项中的触发器达到你设置的报警值之后,需要执行操作来发送邮件等动作。具体设置:

   1:打开zabbix的系统配置---操作---- 选择事件源为触发器------create action:

134147651.jpg

   2:触发条件设置:

134222827.jpg

   3:详细操作设置,即满足触发条件之后执行什么动作,这里一般设置为发邮件之类的,设置收邮件的用户(建议每个组对应一个用户,这样发邮件的时候容易设置发送对象):

134257761.jpg

四:zabbix中常用到的几个key
Zabbix的key可以理解为zabbix的命令,执行这个key可以得到相应的结果。
1:监控端口的:net.tcp.port[,3306]

         /usr/local/zabbix/bin/ -s192.168.8.120 -knet.tcp.port[,3306] 返回1为192.168.8.120的端口3306存在,0为不存在

2:监控进程的:proc.num[mysqld]

        /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[mysqld] 返回值为192.168.8.120中mysqld的进程数量

        /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[] 返回值为192.168.8.120中所有的进程数量

3:查看CPU核数的:system.cpu.num 返回值为服务器CPU的核数

4:查看系统的系统启动时间和当前时间:system.boottime、system.localtime 返回值为系统启动时间和当前时间,为时间戳格式

5:查看系统的简单信息:system.uname 返回值为192.168.8.120的系统信息,类似于linux系统的uname -a命令

6:查看windowns系统当前网卡的进出流量:net.if.out[{HOST.NAME},bytes]、net.if.in[{HOST.NAME},bytes]和linux系统的key:net.if.out[eth0,bytes]、net.if.in[eth0,bytes]一样

        /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.in[192.168.8.120,bytes] 返回值为IP为192.168.8.120的进流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量

        /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.out[192.168.8.120,bytes] 返回值为IP为192.168.8.120的出流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量

7:查看系统内存大小:vm.memory.size[total],返回值单位bytes

8:查看文件的大小: vfs.file.size[file] 如: vfs.file.size[/var/log/syslog] 返回的是/var/log/syslog的大小,单位是:bytes

9:查看文件是否存在:vfs.file.exists[file] 文件如果存在返回1,不存在返回0

10:查看文件的MD5:vfs.file.md5sum[file]查看小文件的MD5,返回为MD5值(好像只有2.0以上的版本有这个key)
11:自动发现网卡并监控流量和自动发现分区及分区挂载情况的两个key:net.if.discovery,vfs.fs.discovery,windows和linux监控模板中都有这模板(2.0以上版本),应用即可
以上是常用的key,其实监控服务器无非就是内存、硬盘占用、CPU负载、流量、服务器和端口等情况。如果要监控其他的可以自定义key来实现,本人喜欢自定义key,写个脚本来返回,得到自己想要的监控结果,zabbix在这块做的非常好,扩展性很强,支持各种脚本来实现自定义的key。
要启用自定义key,需要在客户端的配置文件中启用UnsafeUserParameters=1参数,然后在配置文件的最下面来定义key,如:
UserParameter=free.disk,/usr/local/zabbix/bin/disk.py
free.disk为key的名字,/usr/local/zabbix/bin/disk.py为服务器端调用free.disk这个key时执行的脚本,其结果就是free.disk的返回值。脚本可以是任何可以运行的脚本语言。
五:创建监控模板和监控项
其实在zabbix服务器端安装完成之后,就有许多自带的监控模板,基本上可以满足大众化的监控需求,不过其中有许多是没有必要的监控项或是自己不感兴趣的,比较冗余,所以要做好监控的话,还是自定义模板和监控项,这个监控模板可以修改zabbix系统自带的,也可以自己创建。以下为自己创建监控模板。
1:创建监控模板:

   打开zabbix的系统配置---模板----create template:

   填写模板名字和模板所在组保存即可。

134340848.png

2:创建监控项:

打开zabbix的系统配置---模板---选择对应模板中的监控项---create item:

134419421.jpg

3:创建监控项的触发器:

打开zabbix的系统配置---模板---选择对应模板中的触发器---create trigger:

134455929.jpg

134521804.jpg

这里说明下这个 N 值的大小
比如说我检测被监控端的httpd 进程数为9个,这时这这个N的值就可以设置为 N=9 ,
当last value 最后一次检测的值小于N,也就是小于9时,这个触发器就会被触发。
六:添加主机并应用模板
添加主机有两种方法,一个是手动添加,一个是通过zabbix的自动发现来自动添加主机。
1:手动添加主机
做完以上的设置,添加主机就是很简单的事情了。打开zabbix的系统配置---主机—create host:

134552361.png

在这一步,只填写主机名、显示名、agent接口中的IP地址,选择主机所在组,其他的默认。


134627511.png

选择模板确认并保存主机,其他的选项不需要设置,默认即可
添加完主机如下图,可用性为绿色是正常,红色为不可监控(主要是网络不通或是没有安装zabbix客户端),灰色为正在检测zabbix的状态:

134650497.png

2:通过自动发现自动添加主机:

  打开zabbix的系统配置---自动发现—create discovery rule:

134714485.png

需要添加名称,ip地址段(这个地址段以覆盖你所有IP的最小地址段为好),checks。其中checks最为重要,总共三项,只填写key,这里用system.uname这个key。然后点击添加并保存。这里的意思是zabbix服务器端扫描这个网段中的zabbix客户端(客户端端口默认为10050),扫描到之后取客户端的system.uname值,这个值返回的类似于linux系统中的uname –a命令,值为下面形式:

134741428.png

   这个主要用于发现主机之后把主机自动分配到相应的组(比如linux组或是windowns组)中,并且应用相应的监控模板。
当然,这个key值不一定要用system.uname,也可以用其他的key,首先zabbix客户端支持这个key,在这用这个key可以区分不同类型的主机方便分组应用监控模板。

打开zabbix的系统配置---操作-------事件源下拉选择自动发现—create action:

134844599.png

134854963.png

134907253.png
  这几项的意思是当自动发现通过发现zabbix客户端,并且接收到key的中包含linux字符,即把他添加到linux_servers组中,应用linux_server模板。等一段时间即可查看自动发现的结果。结果可以在zabbix首页中最下面有状态,也可以在zabbix的状态统计---自动发现中查看,可以看到发现了多少,监控了多少。
到此为止,zabbix的监控设置说明完毕。


本文转自 lover00751CTO博客,原文链接:http://blog.51cto.com/wangwei007/1048154,如需转载请自行联系原作者
相关文章
|
2月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
1月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
33 2
zabbix agent集成percona监控MySQL的插件实战案例
|
2月前
|
监控 关系型数据库 MySQL
一文吃透企业级elk技术栈:11. zabbix报警实现
一文吃透企业级elk技术栈:11. zabbix报警实现
|
2月前
|
SQL 监控 分布式数据库
【解锁数据库监控的神秘力量!】OceanBase社区版与Zabbix的完美邂逅 —— 揭秘分布式数据库监控的终极奥秘!
【8月更文挑战第7天】随着OceanBase社区版的普及,企业广泛采用这一高性能、高可用的分布式数据库。为保障系统稳定,使用成熟的Zabbix监控工具对其进行全方位监控至关重要。本文通过实例介绍如何在Zabbix中配置监控OceanBase的方法,包括创建监控模板、添加监控项(如TPS)、设置触发器及图形展示,并提供示例脚本帮助快速上手。通过这些步骤,可以有效监控OceanBase状态,确保业务连续性。
80 0
|
4月前
|
监控 数据库 Docker
Zabbix监控神通数据库教程
**摘要:** 本文介绍了如何使用Docker安装和配置神舟通用数据库,并利用Zabbix进行监控。首先,通过Docker安装数据库镜像,启动容器并映射端口。接着,使用默认凭证连接数据库并验证安装。然后,将数据库的Python模块和库文件复制到主机,并安装Python3.5及相应模块,创建外部检查脚本以实现Zabbix的监控功能。示例展示了查询数据库版本的监控指标配置。最后,提到了监控结果的界面展示,并邀请读者探索更多Zabbix监控技巧。
59 0
Zabbix监控神通数据库教程
|
3月前
|
监控 关系型数据库 应用服务中间件
Linux zabbix监控 软件的安装
Linux zabbix监控 软件的安装
|
5月前
|
监控 前端开发
Zabbix使用外部邮箱服务器发送邮件报警
Zabbix使用外部邮箱服务器发送邮件报警
|
5月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
5月前
|
数据采集 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
245 4
|
10月前
|
监控 关系型数据库 机器人
小白带你学习linux的监控平台zabbix
小白带你学习linux的监控平台zabbix
254 0