zabbix自动发现与自动注册及SNMP监控
自动发现与自动注册
自动发现:zabbix Server主动发现所有客户端,然后将客户端登记自己的小本本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多。
自动注册:zabbix agent主动到zabbix Server上报到,登记;缺点agent有可能找不到Server(配置出错)
主动与被动模式
被动模式:默认,都是站在agent立场说话 agent被server抓取数据
主动模式:都是站在agent立场说话 agent主动将数据发送给server
两种模式都是在agent上的配置文件配置
自动发现(被动模式)
自动发现:zabbix server主动发现所有客户端,然后将客户端添加到监控中
缺点:zabbix server压力大(网段大,客户端多),时间消耗多
配置过程
第一步、zabbix server安装完毕
第二步、zabbix agent安装完毕,Server=172.16.1.61(完成)
第三步、网页上配置自动发现规则
可以创建自动发现规则,可以修改默认的:
编辑自动发现规则:
在ip范围内输入ip,注意格式; 延迟在实际的生产环境中要大一些,实验环境可以小一些
在动作中找到自动发现,进行修改:
主要在操作中添加这两项:
加条件,让发现更精准
添加主机、启用主机
然后就等着客户端就好了,最好在自动发现完成后,关闭自动发现。
自动注册(主动模式)
自动注册:zabbix agent主动到zabbix server上报道
缺点:agent可能找不到server(配置出错)
配置过程
第一步、zabbix server安装完毕
第二步、zabbix agent安装完毕,需要额外增加的配置
修改的地方:
vim /etc/zabbix/zabbix_agentd.conf ServerActive=172.16.1.61 # Hostname=Zabbix server HostnameItem=system.hostname systemctl restart zabbix-agent.service netstat -tunlp|grep zabbix
第三步、服务端hosts解析
[root@m01 ~]# echo "172.16.1.21 cache01" >> /etc/hosts
第四步、网页上配置自动注册
在动作中找到自动注册,并创建动作:
起个名称就可以,条件不用改
动作中添加以下动作:
分布式监控及SNMP监控
- 分担压力,降低负载
- 多机房监控
zabbix Server ===》 zabbix agent (只能同一个局域网监控)
分担压力,降低负载
zabbix Server ===》 zabbix proxy ===》zabbix agent1 agent2 agent3 。。。 172.16.1.61 172.16.1.21 172.16.1.0/24 ===》 zabbix proxy ===》zabbix agent4 agent5 agent6 。。。
多机房监控
zabbix Server(北京) ==》 zabbix proxy(每个机房搭建) ==》 zabbix agent 122.71.240.233/172.16.1.61 122.71.241.11/172.16.2.21 172.16.2.0/24
配置过程
第一步、在代理机cache01安装zabbix proxy
[root@cache01 ~]# yum -y install zabbix-proxy-mysql
第二步、配置zabbix proxy,并在zabbix网页登记
zabbix proxy也需要数据库,这个数据库不是用于存储监控数据的,只是用于存储配置信息
安装数据库
[root@cache01 ~]# yum -y install mariadb-server [root@cache01 ~]# systemctl start mariadb.service
mysql--建库、创建用户授权
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye
导入数据文件
[root@cache01 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.0.13/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy
改配置文件
sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf sed -i 's#Server=127.0.0.1#Server=172.16.1.61#g' /etc/zabbix/zabbix_proxy.conf sed -i 's#Hostname=Zabbix proxy#Hostname=cache01#g' /etc/zabbix/zabbix_proxy.conf systemctl restart zabbix-proxy.service
第三步、agent指向proxy
[root@cache01 ~]# grep ^Server /etc/zabbix/zabbix_agentd.conf Server=172.16.1.61 ServerActive=172.16.1.61 [root@cache01 ~]# sed -i 's#172.16.1.61#172.16.1.21#g' /etc/zabbix/zabbix_agentd.conf [root@cache01 ~]# grep ^Server /etc/zabbix/zabbix_agentd.conf Server=172.16.1.21 ServerActive=172.16.1.21 [root@cache01 ~]# systemctl restart zabbix-agent.service
网页操作
管理中找到agent代理程序,创建代理
起个名称
查看监控中的是否出现时长了
SNMP监控
无法安装agent 很多前辈的监控软件都可以监控各种设备 都是通过snmp监控
snmp (simple network manager protocol) 简单网络管理协议
简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
安装snmp
[root@m01 ~]# yum -y install net-snmp net-snmp-utils
配置snmp
[root@m01 ~]# sed -i.ori '57a view systemview included .1' /etc/snmp/snmpd.conf [root@m01 ~]# systemctl start snmpd.service [root@m01 ~]# netstat -tunlp|grep 161 udp 0 0 0.0.0.0:161 0.0.0.0:* 7603/snmpd
使用SNMP
[root@m01 ~]# snmpwalk -v 2c -c public 127.0.0.1 sysname SNMPv2-MIB::sysName.0 = STRING: m01
# snmpwalk 类似 zabbix_get # -v 2c 指定使用snmp协议的版本 snmp分为v1 v2 v3 # -c public 指定暗号 # sysname 类似zabbix的key
snmp网址: http://www.ttlsa.com/monitor/snmp-oid/
网页配置
创建主机中起个名称,将agent代理程序的接口移除,添加SNMP接口的
在模板中,选择有SNMP名称的linux系统模板,然后添加
##SNMP OID列表 监控需要用到的OID http://www.ttlsa.com/monitor/snmp-oid/ cmdb 资源管理系统