Zabbix监控第四章
1.1.5,配置监控服务器主机
1.1.5.1,手工配置添加监控设备zabbix-agent
案例配置centos7系列操作系统agent 监控端,如下操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | rpm -Uvh <a href="https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm">https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm</a> yum clean all yum install zabbix-agent -y cd /etc/zabbix vim zabbix_agentd.conf PidFile=/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.10.2.52 #配置server连接地址 ServerActive=10.10.2.52<br /> HostnameItem=system.hostname #自动检查本机服务器hostname名称 Include=/etc/zabbix/zabbix_agentd.d/*.conf</p> <p>systemctl restart zabbix-agent systemctl enable zabbix-agent |
如上图操作,下载官方仓库yum源,清理缓存,安装zabbixa-gent服务,配置zabbix_agentd.conf服务文件,启动设置开机自动启动,检查启动状态以及端口【10050】进程是否运行成功。
1.1.5.2,手工配置zabbix-UI界面添加监控服务器设备
如上图操作,在UI-web zabbix 界面选择配置,主机,创建主机,或者点击存在监控的主机然后在进去全克隆主机,在修改主机名称以及客户端IP地址,端口信息,然后在点击提交添加等待几分钟看一下是否监控到服务器,如果上监控是会有一个绿色的监控指标【ZBX, SNMP,JMX,IPMI】,这说明添加监控项目服务器成功。
1 2 3 4 5 6 7 8 | 配置指令如下 PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.10.2.52 #指定zabbix server ServerActive=10.10.2.52 #指定zabbix server存活active规则 HostnameItem=system.hostname Include=/etc/zabbix/zabbix_agentd.d/*.conf |
如上图所示,首先选择自动发现,配置发现规则取一个有意义的名称,配置自动发现IP范围池,更新检测时间根据实际情况进行调整,在配置检测协议内型如ssh,rdp,协议端口等,惟一全部选择IP地址,确认等待几分钟,点击检测查看主机就有主机资产设备,配置agent服务ServerActive,指向zabbix server 服务配置动作左上角选择发现动作,在创建动作同时取一个有意义的名称动作【条件,自动发现状态,等于上up 】,【操作,细节添加主机,添加主机群组,连接主机组模版 某某agent实现主机监控指标等参数】,确定等待几分钟就已经条件主机。
1.1.5.4,跨机房异地监控
zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据,汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力,此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都,集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
1.1.5.5,应用场景
监控远程区域设备,监控本地网络不稳定区域,当 zabbix 监控上千设备时,使用它来减轻 server 的压力,简化分布式监控的维护,【注意】:zabbix_proxy的数据库必须与zabbix_server的数据库分开。不过可以同时在server端创建zabbix数据库与zabbix_proxy数据库,记得授权即可。
1.1.5.6,操作配置proxy主动模式实践如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | rpm -Uvh <a href="https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm">https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm</a> yum clean all yum install zabbix-proxy -y cd /usr/share/doc/zabbix-proxy-mysql-5.0.42 zcat schema.sql.gz |tee /root/schema.sql #解压写入zabbix schema sql 框架 CREATE DATABASE <code>zabbix-proxy</code> CHARACTER SET 'utf8' COLLATE 'utf8_bin'; create user 'zabbix-proxy'@'localhost' identified by 'zabbix1235812%'; create user 'zabbix-proxy'@'%' identified by 'zabbix1235812%'; grant all privileges on <code>zabbix-proxy</code>.<em> to 'zabbix-proxy'@'localhost'; grant all privileges on <code>zabbix-proxy</code>.</em> to 'zabbix-proxy'@'%'; exit mysql -h 10.147.20.129 -u zabbix-proxy -pzabbix1235812% use zabbix-proxy source schema.sql mysql -h 10.147.20.129 -u zabbix-proxy -pzabbix1235812% source schema.sql exit</p> <p>cat zabbix_proxy.conf |grep -Ev "^$|#" ProxyMode=0 </p> <h1>【ProxyMode=0 #主动模式】,【# ProxyMode=1 #被动模式】默认官方主动模式</h1> <p>Server=10.147.20.129 Hostname=Zabbix-proxy-guangdo-idc LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid SocketDir=/var/run/zabbix DBHost=10.147.20.129 DBName=zabbix-proxy DBUser=zabbix-proxy DBPassword=zabbix1235812% HeartbeatFrequency=60 #多久进行一次心跳检测 ConfigFrequency=60 #代理多久从server获取一次配置变化 DataSenderFrequency=3 #代理收集到数据后,多久向seever发送一次 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 StatsAllowedIP=127.0.0.1 systemctl start zabbix-proxy.service systemctl enable zabbix-proxy.service systemctl status zabbix-proxy.service</p> <p>cat /etc/zabbix/zabbix_agentd.conf |grep -Ev "^$|#" PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.2.220 ServerActive=192.168.2.220 HostnameItem=system.hostname Include=/etc/zabbix/zabbix_agentd.d/*.conf</p> <p>systemctl start zabbix-agent.service systemctl enable zabbix-agent.service systemctl status zabbix-agent.service |
Proxy默认为主动模式, 也就是proxy收集数据,然后主动把数据推送到zabbix server,在主动模式中,配置检索的时间,心跳,数据发送频率是由每个proxy在配置文件中独立定义的。
1.1.5.7,配置主动模式异地机房UI 代理
如上图所示,在zabbix UI界面管理中心创建代理,agent 代理程序名称,需要取名配置proxy的一致,同时选择主动式,然后确认,配置自动发现,以及动作自动添加主机和,筛选主机条件,关联模版,等待几分钟就自动添加主机,192.168.2.x 系列是广东内网服务器,10.10.2.x系列贵阳内网服务器,技术异地组网实现的,ZeroTier+haproxy-MySQL,做7层负载均衡代理,同时感谢广东的朋友,实现异地监控。
1.1.5.8,操作配置proxy被动模式实践如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | cat zabbix_server.conf |grep -Ev '^$|#' LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBHost=10.10.2.51 DBName=zabbix DBUser=zabbix DBPassword=zabbix1235812% SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 UnreachablePeriod=600 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts FpingLocation=/usr/bin/fping Fping6Location=/usr/bin/fping6 LogSlowQueries=3000 StartProxyPollers=5 # 开启代理轮询进程 ProxyConfigFrequency=60 # 配置发送给代理的刷新时间 ProxyDataFrequency=3 # 从代理收集数据的间隔时间 StatsAllowedIP=127.0.0.1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ProxyMode=1 Server=10.147.20.129 Hostname=Zabbix-proxy-guangdo-idc LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid SocketDir=/var/run/zabbix DBHost=10.147.20.129 DBName=zabbix-proxy DBUser=zabbix-proxy DBPassword=zabbix1235812% SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 StatsAllowedIP=127.0.0.1 |
被动模式:是Server启用代理轮询进程,周期性的从被动代理获取数据,在被 动模式中,配置检索的时间、数据发送频率是由Server来定义的,创建数据库等都不变,主要是需要修改server和proxy的配置文件。
1.1.5.9,配置被动模式异地机房UI 代理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | global log /dev/log local0 log /dev/log local1 notice chroot /usr/sbin stats socket /var/run/haproxy-admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon nbproc 1 defaults log global timeout connect 5000 timeout client 10m timeout server 10m listen admin_stats bind 0.0.0.0:8448 mode http log 127.0.0.1 local0 err stats refresh 30s stats uri /status stats realm welcome login\ Haproxy stats auth admin:123456 stats hide-version stats admin if TRUE listen zabbix-monitor01-server #贵阳代理负载均衡 server 数据库模型,同广东内网互联互通能力 bind 0.0.0.0:10051 mode tcp option tcplog balance source server zabbix-monitor-001 10.10.2.52:10051 check inter 2000 fall 2 rise 2 weight 1</p> <p>listen mysql-databases #贵阳代理负载均衡 MySQL 数据库模型,同广东内网互联互通能力 bind 0.0.0.0:3306 mode tcp option tcplog balance source server zabbix-databases-001 10.10.2.51:3306 check inter 2000 fall 2 rise 2 weight 1</p> <p>listen zabbix-monitor02 #广东代理负载均衡 proxy 同贵阳内网互联互通能力 bind 0.0.0.0:10053 mode tcp option tcplog balance source server zabbix-monitor-002 10.147.20.124:10051 check inter 2000 fall 2 rise 2 weight 1 |