使用 Zabbix-proxy 监控 Centos7

简介

Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。
可用于监视各种网络服务、服务器和网络机器等状态,
官方站点:https://www.zabbix.com
添加 zabbix 监控主要用到 zabbix 的主动模式或被动模式;主动模式分为 agent 的主动和 proxy 的主动,主动和被动都是针对 zabbix 的 agent 和 proxy 来说的;所谓主动,就是 agent 或 proxy 主动向服务器请求监控项并报告监控数据,被动则是 agent 和 proxy 监听端口等待服务器来取相应的监控项和监控数据。
本文将介绍如何使用 zabbix 的 proxy 的主动模式添加主机的方法。
proxy 的主动模式是在 server 端控制的,server 在收到 proxy 的注册时,可以选择其监控的模式,建议使用主动模式。
好处有两点:
proxy 主动收集数据,减轻 server 端压力。
proxy 不需要映射端口,只需要 proxy 能够连接 server 端即可,增加安全性。


zabbix proxy 主动模式图示

75214-38pdid0lfqe.png


环境准备

zabbix-server(本文不介绍zabbix-server的部署)

主机名:zabbix-server
IP:10.18.193.10

zabbix-proxy

主机名:dev-of-runfa-20
IP:10.18.193.20

zabbix-agent

主机名:dev-of-runfa-25
IP:10.18.193.25


前置条件

关闭防火墙或开放对应端口
关闭selinux


开始部署

在 zabbix-proxy 端部署并配置数据库

此处为了方便,直接使用 yum 安装 mariadb,在这之前最好先安装 epel 源
此处创建了 zabbix 库,zabbix 用户,密码也是 zabbix

[[email protected] ~]# yum -y install epel-*
[[email protected] ~]# yum -y install mariadb-server.x86_64
[[email protected] ~]# systemctl start mariadb.service 
[[email protected] ~]# systemctl enable mariadb.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[[email protected] ~]# mysql -uroot
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to [email protected] identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit;
Bye
在 zabbix-proxy 端部署并配置启动 zabbix-proxy

使用官方 zabbix 来安装 zabbix-proxy

[[email protected] ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[[email protected] ~]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base epel extras remi remi-safe updates zabbix zabbix-non-supported
Cleaning up list of fastest mirrors
[[email protected] ~]# yum -y install zabbix-proxy-mysql
[[email protected] ~]# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -pzabbix zabbix
[[email protected] ~]# vim /etc/zabbix/zabbix_proxy.conf
Server=10.18.193.10 
#zabbix-server 端的对外 IP 地址
ServerPort=10051 
#zabbix-server 端的对外服务端口
Hostname=proxy 
#这个很重要,可以理解为 proxy 的识别码之类的
DBHost=localhost 
#数据库,使用本地,也可以使用 ip
DBName=zabbix
#数据库名
DBUser=zabbix
#连接数据库的用户
DBPassword=zabbix
#连接数据库的密码
ConfigFrequency=300
#同步配置文件的时间
DataSenderFrequency=30
#proxy 端向 server 端发送数据的时间,单位是秒
[[email protected] ~]# systemctl start zabbix-proxy.service 
[[email protected] ~]# systemctl status zabbix-proxy.service 
● zabbix-proxy.service - Zabbix Proxy
   Loaded: loaded (/usr/lib/systemd/system/zabbix-proxy.service; disabled; vendor preset: disabled)
   Active: active (running) since 五 2019-06-14 23:45:08 CST; 7s ago
  Process: 26646 ExecStart=/usr/sbin/zabbix_proxy -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 26648 (zabbix_proxy)
   CGroup: /system.slice/zabbix-proxy.service
           ├─26648 /usr/sbin/zabbix_proxy -c /etc/zabbix/zabbix_proxy.conf
           ├─26653 /usr/sbin/zabbix_proxy: configuration syncer [synced config 0 bytes in 0.001654 sec, idle 300 sec]
           ├─26654 /usr/sbin/zabbix_proxy: heartbeat sender [sending heartbeat message failed in 0.010068 sec, idle 60 sec]
           ├─26655 /usr/sbin/zabbix_proxy: data sender [sent 0 values in 0.001370 sec, idle 1 sec]
           ├─26656 /usr/sbin/zabbix_proxy: housekeeper [startup idle for 30 minutes]
           ├─26657 /usr/sbin/zabbix_proxy: http poller #1 [got 0 values in 0.000692 sec, idle 5 sec]
           ├─26658 /usr/sbin/zabbix_proxy: discoverer #1 [processed 0 rules in 0.001117 sec, idle 60 sec]
           ├─26659 /usr/sbin/zabbix_proxy: history syncer #1 [processed 0 values in 0.000025 sec, idle 1 sec]
           ├─26660 /usr/sbin/zabbix_proxy: history syncer #2 [processed 0 values in 0.000023 sec, idle 1 sec]
           ├─26661 /usr/sbin/zabbix_proxy: history syncer #3 [processed 0 values in 0.000054 sec, idle 1 sec]
           ├─26662 /usr/sbin/zabbix_proxy: history syncer #4 [processed 0 values in 0.000024 sec, idle 1 sec]
           ├─26663 /usr/sbin/zabbix_proxy: self-monitoring [processed data in 0.000041 sec, idle 1 sec]
           ├─26665 /usr/sbin/zabbix_proxy: task manager [processed 0 task(s) in 0.000802 sec, idle 5 sec]
           ├─26666 /usr/sbin/zabbix_proxy: poller #1 [got 0 values in 0.000014 sec, idle 5 sec]
           ├─26667 /usr/sbin/zabbix_proxy: poller #2 [got 0 values in 0.000026 sec, idle 5 sec]
           ├─26668 /usr/sbin/zabbix_proxy: poller #3 [got 0 values in 0.000017 sec, idle 5 sec]
           ├─26669 /usr/sbin/zabbix_proxy: poller #4 [got 0 values in 0.000026 sec, idle 5 sec]
           ├─26670 /usr/sbin/zabbix_proxy: poller #5 [got 0 values in 0.000036 sec, idle 5 sec]
           ├─26671 /usr/sbin/zabbix_proxy: unreachable poller #1 [got 0 values in 0.000017 sec, idle 5 sec]
           ├─26672 /usr/sbin/zabbix_proxy: trapper #1 [processed data in 0.000000 sec, waiting for connection]
           ├─26673 /usr/sbin/zabbix_proxy: trapper #2 [processed data in 0.000000 sec, waiting for connection]
           ├─26674 /usr/sbin/zabbix_proxy: trapper #3 [processed data in 0.000000 sec, waiting for connection]
           ├─26675 /usr/sbin/zabbix_proxy: trapper #4 [processed data in 0.000000 sec, waiting for connection]
           ├─26676 /usr/sbin/zabbix_proxy: trapper #5 [processed data in 0.000000 sec, waiting for connection]
           └─26677 /usr/sbin/zabbix_proxy: icmp pinger #1 [got 0 values in 0.000024 sec, idle 5 sec]

6月 14 23:45:08 dev-of-runfa-20 systemd[1]: Starting Zabbix Proxy...
6月 14 23:45:08 dev-of-runfa-20 systemd[1]: Started Zabbix Proxy.
在 zabbix-agent 端部署并配置启动 zabbix-agent

使用官方 zabbix 来安装 zabbix-agent

[[email protected] ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[[email protected] ~]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base epel extras remi remi-safe updates zabbix zabbix-non-supported
Cleaning up list of fastest mirrors
[[email protected] ~]# yum -y install zabbix-agent
[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=10.18.193.20
#zabbix-proxy IP 地址
ServerActive=10.18.193.20
#zabbix-proxy IP 地址
Hostname=10.18.193.25
#zabbix-agent IP 地址或主机名,这里的信息将在 zabbix-server 自动添加主机的时候显示
[[email protected] ~]# systemctl start zabbix-agent.service 
[[email protected] ~]# systemctl status zabbix-agent.service 
● zabbix-agent.service - Zabbix Agent
   Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled)
   Active: active (running) since 五 2019-06-14 23:55:51 CST; 5s ago
  Process: 31294 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 31296 (zabbix_agentd)
   CGroup: /system.slice/zabbix-agent.service
           ├─31296 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
           ├─31297 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
           ├─31298 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ├─31299 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ├─31300 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
           └─31301 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

6月 14 23:55:51 dev-of-runfa-25 systemd[1]: Starting Zabbix Agent...
6月 14 23:55:51 dev-of-runfa-25 systemd[1]: PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after start.
6月 14 23:55:51 dev-of-runfa-25 systemd[1]: Started Zabbix Agent.
在 zabbix-server web 界面配置

配置好之后将能使 zabbix-server 能监控 zabbix-proxy 所代理的 zabbix-agent
添加了 agent 代理程序后,你可以在 配置-主机 看到 zabbix-server 已经把 zabbix-agent 主机自动添加了
此时你只需要给这台主机添加合适的 监控模板 就可以了
26106-7uv74dugjf.png
09105-3sqq6s79kdu.png
34530-gpqb3306q36.png
20777-l75dg029z4a.png


zabbixlinuxCentos7zabbix-proxy

我来吐槽

*

*