标签:源码 state star collate etc direct unit mod ecs
Zabbix proxy 是一个可以从一个或多个受监控设备采集监控数据并将信息发送到 Zabbix server 的进程,主要是代表 Zabbix server 工作。 所有收集的数据都在本地缓存,然后传输到 proxy 所属的 Zabbix server。
部署Zabbix proxy 是可选的,但可能非常有利于分担单个 Zabbix server 的负载。 如果只有代理采集数据,则 Zabbix server 上会减少 CPU 和磁盘 I/O 的开销。
Zabbix proxy 是无需本地管理员即可集中监控远程位置、分支机构和网络的理想解决方案。
Zabbix proxy 需要使用独立的数据库。
下载
cd /tmp && wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.9/zabbix-4.0.9.tar.gz
解压
tar -xzf zabbix-4.0.9.tar.gz
创建用户和组并创建安装目录
sudo groupadd zabbix
sudo useradd -g zabbix zabbix
sudo mkdir /opt/zabbix-proxy
sudo chown zabbix:zabbix /opt/zabbix-proxy
安装依赖包
yum install -y mysql-devel net-snmp net-snmp-devel libssh2-devel
编译安装
cd zabbix-4.0.9
# 如果想使用其它参数和数据库,使用 ./configure --help 查看选项和参数,使用mysql 作为 proxy 的数据库
./configure --prefix=/opt/zabbix-proxy --enable-proxy --with-net-snmp --with-mysql --with-ssh2
make install
Zabbix proxy 是将数据储存在本地,然后传输到 Zabbix Server 的。所以我们需要创建 Zabbix proxy 的数据库。
# 创建数据库
create database zabbix_proxy character set utf8 collate utf8_bin;
# 创建用户
grant all privileges on zabbix_proxy.* to zabbix_fy@localhost identified by 'password';
导入数据,zabbix proxy 不需要将所有的数据库数据都导入,只需要导入 schema.sql
mysql -u zabbix_fy -p --database zabbix_proxy </tmp/zabbix-4.0.9/database/mysql/schema.sql
默认配置文件是 位于 安装目录的./etc/zabbix_proxy.conf
。
默认启用的是主动模式,默认监听端口: 10051。参数详解:官方文档
Server=# 填入zabbix server 的ip
ServerPort= # zabbix server 监听的端口,默认为 10051
Hostname=#zabbix Proxy 的名称
DBHost= # 数据库地址
DBName=zabbix_proxy # 数据库名称
DBUser=zabbix_fy # 用户名
DBPassword=sRW123456 # 密码
ProxyOfflineBuffer=24 # 如果连接不到zabbix-server,数据保存多久。
systemd
服务创建 /usr/lib/systemd/system/zabbix-proxy.service
文件。并添加以下内容:
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target
[Service]
User=zabbix
Group=zabbix
Environment="CONFFILE=/opt/zabbix-proxy/etc/zabbix_proxy.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_proxy.pid
KillMode=control-group
ExecStart=/opt/zabbix-proxy/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.target
启动服务并设置为开机自启
# sudo systemctl restart zabbix-proxy
# sudo systemctl enable zabbix-proxy
开放对应的端口
sudo firewall-cmd --add-port=10051/tcp --permanent
sudo firewall-cmd --reload
这里报的错都是由于依赖包没有安装,导致编译时报错。
错误一
checking for the linux kernel version... unknown family (3.10.0-862.14.4.el7.x86_64)
checking size of void *... 8
checking for mysql_config... no
checking for mariadb_config... no
configure: error: MySQL library not found
解决办法
yum install -y mysql-devel
错误二
checking for Zabbix server/proxy database selection... ok
checking for multirow insert statements... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for net-snmp-config... no
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
解决办法
yum install net-snmp net-snmp-devel -y
错误三
checking for main in -lnetsnmp... yes
checking for localname in struct snmp_session... yes
checking for SSH2 support... no
configure: error: SSH2 library not found
解决办法
yum install libssh2-devel -y
下载
cd /tmp && wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.9/zabbix-4.0.9.tar.gz
解压
tar -xzf zabbix-4.0.9.tar.gz
创建用户和组并创建安装目录
sudo groupadd zabbix
sudo useradd -g zabbix zabbix
sudo mkdir /opt/zabbix-agent
sudo chown zabbix:zabbix /opt/zabbix-agent
编译安装
cd zabbix-4.0.9
./configure --prefix=/opt/zabbix-agent --enable-agent
默认配置文件是 位于 安装目录的./etc/zabbix_agentd.conf
。
我们一般需要更改以下参数:
Server: 设置该值为 Zabbix Server IP.默认为 127.0.0.1
ServerActive:设置该值为 Zabbix Server IP,如果 Zabbix Server 不是使用的默认10051端口,我们可以在此加上端口号,形如:192.168.12.234:11051,默认为127.0.0.1
Hostname :设置为主机的主机名,默认为 zabbix server
LogFileSize=1 日志文件超过 1M 就进行切割。值为 0时表示不切割日志。 默认为 1
EnableRemoteCommands:是否开启远程命令 默认为 0
systemd
服务创建 /usr/lib/systemd/system/zabbix-agent.service
文件。并添加以下内容:
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
User=zabbix
Group=zabbix
Environment="CONFFILE=/opt/zabbix-agent/etc/zabbix_agentd.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/opt/zabbix-agent/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
启动服务并设置为开机自启
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
开放对应的端口
sudo firewall-cmd --add-port=10050/tcp --permanent
sudo firewall-cmd --reload
源码安装官方文档 :点我,官方文档可能没有我这里详细哦。
标签:源码 state star collate etc direct unit mod ecs
原文地址:https://www.cnblogs.com/operationhome/p/11076227.html