Zabbix Proxy代理概述及部署方案

2019-03-05 15:55:37 浏览数 (1)

概述

Zabbix Proxy简介

  • Zabbix Proxy是一个可以从一个或多个受监控设备采集监控数据并将信息发送到Zabbix Server的进程,主要是代表Zabbix Server工作。 Proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给Server,这样就不会因为服务器的任何临时通信问题而丢失数据。

Zabbix Proxy的特点

  • 使用独立的数据库
  • 有利于分担单个Zabbix Server的负载,减少 CPU 和磁盘 I/O 的开销
  • 无需本地管理员即可集中监控远程位置、分支机构和网络的理想解决方案
  • 本质上,Zabbix Proxy 只是一个数据收集器,它不计算触发器、不处理事件、不发送报警

Zabbix Proxy使用场景

  • 监控远程区域设备
  • 监控本地网络不稳定区域
  • Zabbix监控上千设备时,使用它来减轻Server的压力
  • 简化分布式监控的维护

其运行架构可用下图表示

安装

安装基础编译环境

代码语言:javascript复制
[root@hns-zabbix-proxy ~]# yum groupinstall "Development tools"
[root@hns-zabbix-proxy ~]# yum -y install wget tree

获取zabbix源码包

代码语言:javascript复制
[root@hns-zabbix-proxy ~]# wget -P /usr/src/ http://192.168.20.55/packages/zabbix/zabbix-3.4.8.tar.gz
[root@hns-zabbix-proxy ~]# cd /usr/src/
[root@hns-zabbix-proxy src]# tar xf zabbix-3.4.8.tar.gz 
[root@hns-zabbix-proxy src]# cd zabbix-3.4.8

创建zabbix用户

代码语言:javascript复制
[root@hns-zabbix-proxy zabbix-3.4.8]# groupadd -r zabbix
[root@hns-zabbix-proxy zabbix-3.4.8]# useradd -r -g zabbix -s /sbin/nologin -M zabbix

创建Zabbix数据库

  • 安装MySQL Server
代码语言:javascript复制
[root@hns-zabbix-proxy zabbix-3.4.8]# yum -y install mysql-server 
[root@hns-zabbix-proxy zabbix-3.4.8]# chkconfig --add mysqld
[root@hns-zabbix-proxy zabbix-3.4.8]# chkconfig mysqld on 
[root@hns-zabbix-proxy zabbix-3.4.8]# chkconfig mysqld --list 
mysqld              0:off    1:off    2:on    3:on    4:on    5:on    6:off
[root@hns-zabbix-proxy zabbix-3.4.8]# service mysqld start 
[root@hns-zabbix-proxy zabbix-3.4.8]# mysql_secure_installation #密码:Proxy@zabbix
[root@hns-zabbix-proxy zabbix-3.4.8]# service mysqld restart 
  • 导入数据库架构

Zabbxi数据库必须在Zabbix服务器和代理安装的时候创建。对于Zabbix proxy而言,只需导入数据库架构(schema),而Zabbix server数据库在建立数据库架构(schema)后,还需要数据集(dataset,具体表现为 images.sql 和 data.sql)

代码语言:javascript复制
[root@hns-zabbix-proxy zabbix-3.4.8]# mysql -uroot -p
Enter password: 

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> grant all privileges on zabbix_proxy.* to proxy@localhost identified by 'Proxy@zabbix';
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> exit 
Bye

[root@hns-zabbix-proxy zabbix-3.4.8]# mysql -uproxy -p zabbix_proxy < database/mysql/schema.sql #导入数据库架构
Enter password: 
[root@hns-zabbix-proxy zabbix-3.4.8]# mysql -uproxy -p #验证是否导入成功 
Enter password: 

MariaDB [(none)]> show databases ;
 -------------------- 
| Database           |
 -------------------- 
| information_schema |
| zabbix_proxy       |
 -------------------- 
2 rows in set (0.002 sec)

MariaDB [(none)]> use zabbix_proxy
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [zabbix_proxy]> show tables ; #截取部分
 ---------------------------- 
| Tables_in_zabbix_proxy     |
 ---------------------------- 
| acknowledges               |
| actions                    |
| alerts                     |
| application_discovery      |
| application_prototype      |

...

MariaDB [(none)]> exit 
Bye

编译Zabbix Proxy

  • 安装zabbix相关编译依赖
代码语言:javascript复制
[root@hns-zabbix-proxy zabbix-3.4.8]# yum -y install mysql-devel openssl-devel pcre-devel zlib-devel net-snmp-devel libcurl-devel libxml2-devel libssh2-devel
  • 编译
代码语言:javascript复制
[root@hns-zabbix-proxy zabbix-3.4.8]# ./configure --prefix=/usr/local/zabbix_proxy --enable-proxy --enable-agent --with-net-snmp --with-ssh2  --enable-ipv6 --with-libcurl --with-libxml2 --with-mysql=/usr/bin/mysql_config
[root@hns-zabbix-proxy zabbix-3.4.8]# make install 

配置PATH变量及开机自启

  • 查看Zabbix Proxy程序结构
代码语言:javascript复制
[root@hns-zabbix-proxy zabbix-3.4.8]# cd /usr/local/zabbix_proxy/
[root@hns-zabbix-proxy zabbix_proxy]# tree bin sbin
bin
├── zabbix_get
└── zabbix_sender
sbin
├── zabbix_agentd
└── zabbix_proxy

0 directories, 4 files
[root@hns-zabbix-proxy zabbix_proxy]# pwd
/usr/local/zabbix_proxy
  • 配置PATH变量
代码语言:javascript复制
[root@hns-zabbix-proxy zabbix_proxy]# echo "export PATH=/usr/local/zabbix_proxy/bin:/usr/local/zabbix_proxy/sbin:$PATH" >> /etc/profile.d/zabbix_proxy.sh
[root@hns-zabbix-proxy zabbix_proxy]# source /etc/profile.d/zabbix_proxy.sh
  • 配置开机自启动
代码语言:javascript复制
#配置proxy上的agentd为开机自启动
[root@hns-zabbix-proxy zabbix_proxy]# echo "/usr/local/zabbix_proxy/sbin/zabbix_proxy" >> /etc/rc.d/rc.local 
[root@hns-zabbix-proxy zabbix_proxy]# chmod  x /etc/rc.d/rc.local
[root@hns-zabbix-proxy zabbix_proxy]# cat /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/usr/local/zabbix_proxy/sbin/zabbix_proxy

查看和编辑配置文件

代码语言:javascript复制
[root@hns-zabbix-proxy zabbix_proxy]# vi etc/zabbix_proxy.conf
    Server=192.168.20.70
    Hostname=hns-zabbix-proxy
    DBHost=localhost
    DBName=zabbix_proxy
    DBUser=proxy
    DBPassword=Proxy@zabbix
    DBPort=3306

[root@hns-zabbix-proxy zabbix_proxy]# vi etc/zabbix_agentd.conf 
    Server=127.0.0.1 #配置为zabbix server
    ServerActive=127.0.0.1
    Hostname=hns-zabbix-proxy
[root@hns-zabbix-proxy zabbix_proxy]# zabbix_proxy 
[root@hns-zabbix-proxy zabbix_proxy]# zabbix_agentd 
[root@hns-zabbix-proxy zabbix_proxy]# ss -tnl #看到10051端口则代表Proxy运行正常
State       Recv-Q Send-Q              Local Address:Port                Peer Address:Port 
LISTEN      0      128                            :::10050                         :::*     
LISTEN      0      128                             *:10050                          *:*     
LISTEN      0      128                            :::10051                         :::*     
LISTEN      0      128                             *:10051                          *:*     
LISTEN      0      50                              *:3306                           *:*     
LISTEN      0      128                            :::22                            :::*     
LISTEN      0      128                             *:22                             *:*     

0 人点赞