業(yè)務(wù)需求
因為公司需要監(jiān)控遠程客戶機,但server端無法主動連接agent端,客戶端可以連接公司ip
公司有固定ip,可以開放某個端口給zabbixserver,客戶機agent端可以主動通過外網(wǎng)連接公司服務(wù)器,但沒有固定ip
查過資料,zabbix可以提供以下幾種解決方案:
1、agent(active) 采集模式(create item)
2、trapper 采集模式(create item),需要安裝zabbix-sender,使用腳本啟動命令,執(zhí)行sender
3、安裝proxy,此次使用proxy的方式
基礎(chǔ)環(huán)境
zabbix-server -->zabbix-proxy -->zabbix-agent
| 主機 | IP地址 |
|---|---|
| zabbix-server | 10.0.0.1 |
| zabbix-proxy | 192.168.40.130 |
| zabbix-agent | 192.168.10.1 |
| ...... | ...... |
安裝與配置
默認(rèn)已存在zabbix-server,此處略去zabbix-server的安裝步驟
- 安裝zabbix-proxy
配置源并修改源地址
curl -o zabbix-release-4.0-1.el7.noarch.rpm https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirror.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo
直接yum安裝
注意zabbix-proxy與server都需要數(shù)據(jù)庫,不能安裝在一臺機器內(nèi),數(shù)據(jù)會出現(xiàn)沖突,而且proxy本身也有為server減壓的作用,放在一起更增添server機器的負(fù)擔(dān)
yum install -y zabbix-proxy zabbix-proxy-mysql zabbix-agent
##這里直接也把agent也安裝了,畢竟proxy自身也需要監(jiān)控
- 配置數(shù)據(jù)庫
mysql> create database zabbix_proxy character set utf8; # 創(chuàng)建數(shù)據(jù)庫
mysql> grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix'; # 創(chuàng)建授權(quán)用戶
mysql> use proxydb;
mysql> show tables;
導(dǎo)入數(shù)據(jù)
mysql -uzabbix -pzabbix zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-*/schema.sql
出現(xiàn)報錯:
[root@localhost ~]# mysql -uzabbix -pzabbix zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-/create/schema.sql-bash: /usr/share/doc/zabbix-proxy-mysql-/create/schema.sql: 沒有那個文件或目錄
進入目錄
cd /usr/share/doc/zabbix-proxy-mysql-4.0.20/發(fā)現(xiàn)是一個壓縮包
-rw-r--r--. 1 root root 13224 4月 27 20:59 schema.sql.gz
解決辦法:
要么解壓然后導(dǎo)入,要么使用zcat導(dǎo)入
1.zcat /usr/share/doc/zabbix-proxy-mysql-4.0.20/schema.sql.gz | mysql -uzabbix -p zabbix #未實踐使用,可能會有其他報錯,但很好解決,這里不演示
2.先解壓gunzip schema.sql.gz,進入數(shù)據(jù)庫導(dǎo)入
MariaDB [zabbix_proxy]> use zabbix_proxy
MariaDB [zabbix_proxy]> source /usr/share/doc/zabbix-proxy-mysql-4.0.20/schema.sql;
- 修改配置文件
vim /etc/zabbix/zabbix_proxy.conf
[root@zdzc ~]# cat /etc/zabbix/zabbix_proxy.conf |egrep -v "^$|^#"
Server=10.0.0.1 #server地址
Hostname=proxy #proxy的hostname,在web端網(wǎng)頁配置時需要用到
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=localhost #數(shù)據(jù)庫,使用本地,也可以使用ip
DBName=zabbix_proxy #數(shù)據(jù)庫名稱,創(chuàng)建zabbix-proxy的mysql的數(shù)據(jù)庫名稱
DBUser=zabbix #數(shù)據(jù)庫用戶
DBPassword=zabbix #數(shù)據(jù)密碼
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
啟動并設(shè)置開機自啟
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
-
web端配置
image.png

完成添加,然后再創(chuàng)建主機,創(chuàng)建主機時選擇自己設(shè)置的proxy地址

