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 agent的Hostname=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的大部分功能均已完成!