原文鏈接:https://www.cnblogs.com/irockcode/p/6754659.html
環境:
因為公司需要監控遠程客戶機,但server端無法主動連接agent端,客戶端可以連接公司ip,公司有固定ip,可以開放某個端口給zabbixserver,客戶機agent端可以主動通過外網連接公司服務器,但沒有固定ip,查過zabbix,可以有多種方法設定agent端主動連接server端,方式如下
- agent(active) 采集模式(create item)
- trapper 采集模式(create item),需要安裝zabbix-sender,使用腳本啟動命令,執行sender
- 還有安裝proxy,這是我后來實驗成功,也是最理想的
講道理,agent(active)模式應該是最簡單,最合適的,配置好對應的agent端,打開active模式,克隆模板,修改item-->type,選擇active模式,具體的等實驗成功再說,實踐證明,是口以的,傳送門:http://www.cnblogs.com/irockcode/p/6756298.html
zabbi-proxy的搭建
- proxy跟server其實是一個性質的,只是他作用范圍小,對應的功能會少點,具體體現在不能脫離server端獨立運行,
- 詳情傳送門:https://www.zabbix.com/documentation/2.4/manual/appendix/config/zabbix_proxy
- 中文翻譯版:http://www.ttlsa.com/zabbix/zabbix-proxy-proxies/
- 能yum,就不源碼(proxy跟server不在同一主機上)
yum install -y zabbix-proxy zabbix-proxy-mysql zabbix-agent
- agent的配置文件中將server端ip指定為proxy的ip,及本機ip,其他配置不需要改變(web端配置時,添加hosts時,最末尾選擇代理,前提是代理已經創建配置好)
mysql庫的配置
zabbix也是一個小型的server,也需要存儲數據,所以需要創建數據庫,不能跟server公用一個數據庫(一般server不與proxy在同一主機,但這個需要注意)
mysql> create database zabbix_proxy character set utf8; # 創建數據庫
mysql> grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix'; # 創建授權用戶
mysql> flush privileges; # 刷新授權表,雖然不需要
mysql> use proxydb;
-
rpm -ql zabbix-proxy-mysql
#查看安裝時,創建了哪些文件 -
zabbix-proxy的數據庫只需要導入一條sql語句
mysql -uzabbix -pzabbix zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-2.4.8/create/schema.sql
zabbix-proxy配置文件
- 修改配置文件/etc/zabbix/zabbix_proxy.conf
Server=192.168.1.154 #真正的服務端
ServerPort=18103 #根據個人需要修改,一般可以不改,默認端口是10051,要實現轉發的話使用這個選項
Hostname=153Zabbix proxy #proxy的hostname,在web端網頁配置時需要用到
DBHost=localhost #數據庫,使用本地,也可以使用ip,我喜歡使用localhost,因為我授權就是本地,也因為配置ip失敗踩過坑
DBName=zabbix_proxy #數據庫名稱,創建zabbix-proxy的mysql的數據庫名稱
DBUser=zabbix #用戶
DBPassword=zabbix #密碼
#DBPort=3306 #當DBHost填寫localhost時,默認是使用socket通信的,這里配置一下也無礙
#HeartbeatFrequency=60 #心跳線(具體作用網了,看配置文件吧,這個默認就是60)
ConfigFrequency=600 #這個好像是同步配置文件的時間
DataSenderFrequency=1 #這個是proxy端向server端發送數據的時間,單位是秒,幾乎等於實時同步
web端創建proxy
- 添加主機信息
- 最后這里可以直接添加主機,也可以然后再添加主機,先創建hosts,在創建hosts的最下面步驟選擇proxy
zabbix_get -s IP地址 -k agent.ping(前提需要安裝get,yum install -y zabbix-get)