zabbix组件:这些组件可以根据自身需求配置于不同的主机上。

zabbix-server
zabbix-database
zabbix-agent
zabbix-web
zabbix-proxy

监控系统的四大功能:数据采集,数据存储、报警、数据可视化
zabbix的完整监控配置流程大体由如下步骤组成:

Host group------>Hosts------>Applications----> Items ------>Triggers---->Events---->Actions ----->User group ---->Users ---->Medias

添加主机到zabbix server:

1、discovery:在定义号被监控的主机后可以不用自己手动添加,而是通过discovery添加,这时zabbix serevr主动去发现监控主机
2、auto_registrion:被监控主机自动向zabbix server注册请求被监控。

####创建主机组:

在Confguration/Host groups/ 点击 Create HostGroup。

写入组名,可以选择是否将模板应用于主机组,创建完成后点击Add

zabbix添加监控主机失败 配置zabbix监控主机_数据


然后就可以看到我们创建的主机组了,这里我创建的模板为空,主机为空

zabbix添加监控主机失败 配置zabbix监控主机_数据_02

####创建主机:Configuration/Hosts下点击Create Hosts

Host name:标记的是主机的地址,如果写的是域名或主机名的化需要用DNS进行解析。并且此处尽量于agent配置文件中定义的Hostname保持一致,否则在某些情况下sever端可能无法识别被监控主机。

zabbix添加监控主机失败 配置zabbix监控主机_自定义_03

####如何删除一个主机:

选择该主机,点击Delect

zabbix添加监控主机失败 配置zabbix监控主机_自定义_04

添加一个主机,在将主机加入主机组时,如果Other groups下有我们需要的主机组,选择该主机组,点击左箭头,就将ok了,向右箭头表示移除该主机组。

zabbix添加监控主机失败 配置zabbix监控主机_自定义_05


zabbix添加监控主机失败 配置zabbix监控主机_触发器_06

在Agent interfaces处,如果我们填入的是ip,则在Connect to处选择IP

zabbix添加监控主机失败 配置zabbix监控主机_触发器_07

如果选用snmp这种方式来监控,那就得确保你的被监控端支持snmp这种机制,并且监听了161端口。

zabbix添加监控主机失败 配置zabbix监控主机_数据_08


然后在被监控端安装net-snmp包

[root@serevr8 ~]# yum install net-snmp -y

开启snmpd服务。

[root@serevr8 ~]# systemctl start snmpd

点击最下方的Add提交。

点击Name(例如这里是server-8)还可以继续对其配置

zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_09


例如我们想给该主机添加模板,点击server-8,选择Templates

zabbix添加监控主机失败 配置zabbix监控主机_自定义_10


选择Select,然后选择我们想要添加的模板

zabbix添加监控主机失败 配置zabbix监控主机_触发器_11


选择Add

zabbix添加监控主机失败 配置zabbix监控主机_触发器_12

然后就可以在Linked templates上看到我们添加的模板了

zabbix添加监控主机失败 配置zabbix监控主机_数据_13


所有模板添加完成后点击Update提交就OK了

####查看可用的key

MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> select key_,type from items\G;

使用zabbix-get获取key值

[root@server7 ~]# zabbix_get -h  #查看帮助
[root@server7 ~]# zabbix_get -s 172.25.44.8 -k  "system.cpu.load[percpu,avg1]"   #查看该key所对应的值

每一个key所对应的值叫做item,多个item可以归类为一个由“application“定义的逻辑组

####创建一个key

例如我们要对server-8这台主机添加自定义key

我们先删除这台主机上的模板,Unlink表示取消关联,Unlink and clear表示取消关联并清除之前收集到的数据。

zabbix添加监控主机失败 配置zabbix监控主机_数据_14

删除模板后然后添加item,选择item

zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_15


选择Create item

zabbix添加监控主机失败 配置zabbix监控主机_自定义_16


添加items,编辑完信息点击Add即可

zabbix添加监控主机失败 配置zabbix监控主机_数据_17


已经添加了

zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_18


zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_19

####自定义Graph :
Configuration/Hosts
Percentile line (left):在纵轴的80%处做一条水平线。在Items处选择Add添加item,选择Preview可以进行预览。完成后选择Add即可。

zabbix添加监控主机失败 配置zabbix监控主机_触发器_20

然后就可以在Monitoring/Graphs下看到图了

zabbix添加监控主机失败 配置zabbix监控主机_自定义_21

####定义trigger:
{<server>:<key>.<function>(<parameter>)}<operator><constant> server:主机名称;
key:主机上关系的相应监控项的key;
function:评估采集到的数据是否在合理范围内 时所使用的函数,其评估过程可以根据采用的数据、当前时间及其它因素进行。
parameter:函数参数

名称中可以使用宏(变量):
{HOST.HOST},{HOST.NAME}…
举例:
{www.wtt.com:system.cpu.load[all,avg1].last(0)}>3 表示www.wtt.com上所有CPU的过去一分钟内的平均负载的最后一次取值大于3时所触发状态变换。

触发器等级用来标记事件的严重性
zabbix支持如下所表示的等级

SEVERITY

DEFINITION

COLOUR

Not classified #无类别

unknown severity

grey

Information

For information purpose

Light green

Warning

Be warnd

Yellow

Average

Average problem

Orange

High

Something important has happend

Red

Disaster

Disaster. Financial,etc

Bright red

Trigger存在依赖关系,A出现故障,依赖A的所有主机通常也是有故障的。这样在发送警报时只需发送A故障的警报,不需要把所有的主机的故障警报都发送。

Dependencies定义该触发器依赖的Trigger。

zabbix添加监控主机失败 配置zabbix监控主机_数据_22


在Expression处可以点Add添加一个item为其创建触发器

zabbix添加监控主机失败 配置zabbix监控主机_触发器_23


zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_24


我这里将50调整成了71000

zabbix添加监控主机失败 配置zabbix监控主机_自定义_25


然后可以在Graps上看到橙红色的线,表示触发值

zabbix添加监控主机失败 配置zabbix监控主机_触发器_26

####定义报警方式:

Administration/Media types

点击Email选择以邮件的方式发送报警

zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_27


选择网本机发邮件

zabbix添加监控主机失败 配置zabbix监控主机_自定义_28

也可以自定义报警:

Create media type

zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_29


选择Administration/Users,选择Create user

zabbix添加监控主机失败 配置zabbix监控主机_数据_30

在Media下,点击add,然后点击Add

zabbix添加监控主机失败 配置zabbix监控主机_触发器_31


然后用户就被添加进来了

zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_32


这样报警可以给zabbix user1,zabbix user1关联的帐号是root@localhost,这样root@localhost就可以收到信息了。

####接下来创建操作Action

Action有两类:

Send message 和 remote command

其实Action可以分为以下部分

Action
	message
	condiction
		event:
			trigger
			discovery:Service down,Service up,Host up,Host down ,Service Discovered,Service Lost,Host Discovered,Host Lost
				
	operation
		send message
		 	Media type:Email ,SMS,,Jabber,Script,EZ Texting
		 		#Script:Alert Script .所有用于警告的脚本都应放置于特定目录下:AlertScriptPath=/usr/lib/zabbix/alertscript  
		 		在zabbix_server.conf中指明。
		 		脚本中可用$1,$2,$3来调用action web配置页面中的邮件收件人地址,Default Subject,Default Message。
		 		新放入的脚本只有在重启zabbix后才能被启用
	Remote command(给zabbix用户定义速度哦规则:zabbix ALL=(ALL) ALL)  
		远程命令不至持Active(主动模式)的agent。也不支持代理模式哦!,命令长度不超过255个字符,可以使用宏,zabbix server仅执行命令,不检测命令是否执行成功
		前提:zabbix-agent要配置成支持远程执行命令:在配置文件中将EnableRemoteCommands=1
		注意:
		(1)命令需要填写成 sudo systemctl start httpd 格式。
		(2)需要注释掉 Defaults requiretty

zabbix添加监控主机失败 配置zabbix监控主机_触发器_33


在web页面的Administration/Media types下点击Create media type。

然后在Type处选择Script

zabbix添加监控主机失败 配置zabbix监控主机_自定义_34


在此处填入信息

zabbix添加监控主机失败 配置zabbix监控主机_触发器_35

在Administration/Users下更改用户接受邮件的方式。

zabbix添加监控主机失败 配置zabbix监控主机_自定义_36


zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_37


####创建Action

Configuration/Actions,点击Create action

zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_38


zabbix添加监控主机失败 配置zabbix监控主机_触发器_39


zabbix添加监控主机失败 配置zabbix监控主机_自定义_40


zabbix添加监控主机失败 配置zabbix监控主机_自定义_41

####Remote Command

agent端

zabbix添加监控主机失败 配置zabbix监控主机_触发器_42

visudo

# Refuse to run if unable to disable echo on the tty.
# Defaults requiretty

创建 application(http service)

zabbix添加监控主机失败 配置zabbix监控主机_zabbix添加监控主机失败_43


创建item

zabbix添加监控主机失败 配置zabbix监控主机_自定义_44


创建Trigger

zabbix添加监控主机失败 配置zabbix监控主机_数据_45


创建Graph

zabbix添加监控主机失败 配置zabbix监控主机_触发器_46


创建Action

zabbix添加监控主机失败 配置zabbix监控主机_数据_47


zabbix添加监控主机失败 配置zabbix监控主机_自定义_48


然后手动停掉agent端的httpd服务之后会自动重启

zabbix添加监控主机失败 配置zabbix监控主机_自定义_49