第七章 :分布式监控与SNMP监控
7.1 分布式监控
7.1.1 作用
分担压力,减轻负载
多机房监控
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
7.1.2 环境说明
zabbix server m01 zabbix proxy cache01 zabbix agent cache01
7.1.3 配置zabbix proxy
第一个里程碑:配置zabbix yum源,并安装proxy
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm yum install zabbix-proxy-mysql -y
第二个里程碑:安装数据库
zabbix proxy也需要数据库,这个数据库不是用于存储监控数据的 只是用于存储配置信息
#安装数据库
yum -y install mariadb-server systemctl start mariadb.service
#建立数据库
mysql create database zabbix_proxy character set utf8 collate utf8_bin; grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix'; exit
#导入数据文件
zcat /usr/share/doc/zabbix-proxy-mysql-3.0.13/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy
#配置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#' /etc/zabbix/zabbix_proxy.conf sed -i 's#Hostname=Zabbix proxy#Hostname=cache01#' /etc/zabbix/zabbix_proxy.conf # Hostname 作为后面添加的代理程序名称,要保持一致
#启动
systemctl restart zabbix-proxy.service
#检查端口
[root@cache01 ~]# netstat -lntup |grep zabbix tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 105762/zabbix_agent tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 85273/zabbix_proxy tcp6 0 0 :::10050 :::* LISTEN 105762/zabbix_agent tcp6 0 0 :::10051 :::* LISTEN 85273/zabbix_proxy
第三个里程碑:修改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
第四个里程碑:web界面添加代理
管理 >> agent代理程序 >> 创建代理
代理程序名称要填写主机名
稍等片刻就能在程序中出现代理
在主机中能发现主机代理
7.2 SNMP监控
7.2.1 使用范围
无法安装agent 很多前辈的监控软件都可以监控各种设备 都是通过snmp监控
snmp simple network manager protocol 简单网络管理协议
简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
7.2.2 安装snmp程序
yum -y install net-snmp net-snmp-utils
7.2.3 配置snmp程序
sed -i.ori '57a view systemview included .1' /etc/snmp/snmpd.conf systemctl start snmpd.service
7.2.4 测试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
7.2.5 在web界面进行配置
添加新的主机,注意使用snmp接口
选择模板,注意使用SNMP的模板
添加完成就能够在主机中看到snmp监控对的主机
7.2.6 附录
##SNMP OID列表 监控需要用到的OID http://www.ttlsa.com/monitor/snmp-oid/ cmdb 资源管理系统