zabbix 功能之自动化监控(agent主动注册与server自动发现)

  

 

 

一:自动化监控可以实现主机开机自动发现自动关联模板,不需要人工发现与干预,自动化模式可以有客户端zabbix agent自动注册到zabbix server,或由zabbix server扫描到zabbix agent后添加到监控组,具体如下:

1.1:zabbix agent注册到zabbix server的方式:

1.zabbix agent自动注册:
#zabbix agent启动后主动添加到zabbix server
2.zabbix server主动发现:
#由zabbi server主动扫描发现
3.通过zabbix api自动添加

1.2:自动注册前提条件:

1.知道server是谁(zabbix server IP
2.告诉server我是谁(zabbixagent 主机名)
3.有自己的特征码(是linux还是windows系统,)

2:zabbix agent自动注册方式实现:

2.1:zabbix agent配置文件:

# grep “^[a-Z]”  /etc/zabbix/zabbix_agentd.conf  

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0 #不启动zabbix agent客户端端口
ServerActive=192.168.0.26 #指定zabbix server服务器地址
Hostname=hfnginx.example.com  #本机主机名,主动模式下每个agent不能相同
HostMetadataItem=system.uname #zabbix agent特征,通过item获取
Include=/etc/zabbix/zabbix_agentd.d/*.conf

2.2:在zabbix server创建规则:

#所谓规则就是zabbix server自定义的一种机制,当遇到什么样的数据能匹配什么样的机制就匹配什么样的动作。

1.4.1#configration-actions-Auto registration-create action
 

2.3:配置条件:

#所谓条件,就是满足了zabbix server的某种自定义的机制

 

2.4:配置操作:

#所谓操作,就是满足了zabbix server自定义的机制下一步的动作

2.5:启动或重启zabbix agent服务:

/etc/init.d/zabbix-agent  restart #刚配置完成zabbix agent不重启是因为zabbix server还没有配置完成。

2.6:隔几分钟在zabbix server上检查是否将主机hfnginx.example.com 自动添加并可以采集数据:

2.6.1:查看主机是否添加:

 

2.6.2:查看是否采集数据并出图:

 

 

#关于zabbix agent主动注册模式的排错:

1.找不到错误日志就开debug
2.等几分钟,也许是网络延迟
3.确认填写正确的HostMetadataItem=system.uname,即要确认自己写的agent特征是符合zabbix server要求的 
4.ServerActive=x.x.x.x IP地址配置Zabbib server正确 5.管理zabbix agent的模板是主动模式的
6.网络是相同的
7.不排除其他未考虑到的临时问题

3.zabbix server自动发现zabbix agent机制:

#zabbix server扫描指定的地址范围,将符合扫描此地址范围内的所有IP地址

#可以创建action,当主机down的时候就讲监控关闭等操作

3.1:zabbix agent配置:

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
DebugLevel=4
Server=192.168.0.26 #zabbix server的地址
Hostname=Zabbix server #Hostname与zabbix server保持一致
HostMetadataItem=system.uname  #zabbix agent特征,通过item获取
Include=/etc/zabbix/zabbix_agentd.d/*.conf

3.2:添加discovery:

#configration-discovery:

 

3.3:创建动作:

#configration-actions-create action:

3.3.1:创建action:
 

3.2.2:制定条件:

 

3.3.3:指定操作:

 

3.4:重启zabbix agent客户端,等几分钟查看是否添加agent:

3.4.1:添加的zabbix agent:

 

3.4.2:查看是否有图形:

 

#主机名是ip地址,不便于区分运行的业务

3.5:zabbix server自动发现zabbix agent的日志:

 

#关于排错:

1.zabbix agent的模式配置正确,即使用Server=zabbix server,确认启动10050端口
2.zabbix agentHostname=Zabbix serve 
3.zabbix agent特征配置正确
4.zabbix server设置的发现IP地址范围正确
5.zabbix server设置的方法正确
6.zabbix server设置的操作正确

4.配置zabbix server通过zabbix proxy自动扫描发现zabbix agent:

4.1:zabbix proxy设置:

ProxyMode=1
Server=zabbixhf.chinacloudapp.cn
Hostname=South-proxy1
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
DebugLevel=4
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix_proxy2
DBUser=proxy
DBPassword=proxy
ProxyLocalBuffer=0
ProxyOfflineBuffer=1
ConfigFrequency=5
DataSenderFrequency=60
StartPollers=5
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=30
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

 4.2:zabbix agent配置:

4.2.1:方式1:

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.0.5
Hostname=Zabbix server
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/

4.2.2:方式2:

#为测试是否受Hostname的影响,因此写了两个不同方式的Hostname,测试是否有影响!

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.0.5
Hostname=Zabbix server
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/ 

4.3:创建通过proxy 自动被动发现zabbix agent的discovery策略:

4.3.1:创建zabbix proxy:

 

4.3.1:创建discovery:

#configration-discovery-create discovery rule: 

 

#这里的扫描网段不要写的太大,否则zabbix server会一遍遍的扫描:

 

#zabbix agent端发送特征码的debug日志,server端请求特征码后zabbix agent进行回复:

 

4.3.2:创建规则:

 

4.3.3:创建条件:

4.3.4:创建操作:
 

4.4:等几分钟查看是否添加zabbix agent并出图:

4.4.1:添加的主机:

#这个过程很长,大约等待了十几分钟才添加成功,下面出图的时间更长,大约有一个多小时时间才出图,期间要涉及到zabbix proxy与zabbix server之间的数据交互时间,因此如果配置正确而日志有没有报错的情况下,那就一个字,“等”!。

4.4.2:查看图形:

 

5.配置zabbix agent通过zabbix proxy主动注册到zabbix server:

5.1:配置zabbix server的proxy功能,zabbix server只添加一个proxy即可,因为是agent主动联系server的所以就不需要discovery了。

#administration-proxies-create proxy:

 

5.2:配置action:

#configration-actions:

 

5.2.1:定义条件:
 

5.2.2:定义操作:

 

5.3:配置zabbix server:

 

[root@nginx zabbix-proxy-mysql-3.0.3]# grep "^[a-Z]" /etc/zabbix/zabbix_proxy.conf 
ProxyMode=0 #主动模式
Server=zabbixhf.chinacloudapp.cn
Hostname=South-proxy1
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
DebugLevel=4
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix_proxy4 #数据库换了四次了,因为做了不同模式的代理,每换一次模式就换一次数据库,避免出错
DBUser=proxy
DBPassword=proxy
ProxyLocalBuffer=0
ProxyOfflineBuffer=1
ConfigFrequency=5
DataSenderFrequency=60
StartPollers=5
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=30
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

 5.4:zabbix agent配置:

5.4.1:zabbix agent1:

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
ServerActive=192.168.0.5 #主动模式的zabbix proxy
StartAgents=0
Hostname=proxy-tomcat-active
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d

5.4.2:zabbix agent2:

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
DebugLevel=4
StartAgents=0
ServerActive=192.168.0.5
Hostname=South-proxy-logstash
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/

 5.5:过一段时间查看主机是否自动注册并出图:

5.5.1:主机添加成功:

 
5.5.2:查看图形:

#至此,关于zabbix server的大部分功能均已完成!

posted @ 2020-02-18 10:33  是烫的不是自来卷  阅读(869)  评论(0编辑  收藏  举报