1、proxy分佈式監控介紹 mysql
來源於zabbix官網: web
https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitoring/proxies sql
zabbix經過Zabbix proxies爲IT基礎設施提供有效和可用的分佈式監控 數據庫
代理(proxies)可用於代替Zabbix server本地收集數據,而後將數據報告給服務器 vim
當選擇使用/不使用proxy時,必須考慮幾個注意事項 緩存
Proxy服務器 |
|
輕量級(Lightweight)網絡 |
Yes併發 |
圖形界面(GUI)app |
No |
獨立工做(Works independently) |
Yes |
易於維護(Easy maintenance) |
Yes |
自動生成數據庫(Automatic DB creation)1 |
Yes |
本地管理(Local administration) |
No |
準備嵌入式硬件 (Ready for embedded hardware) |
Yes |
單向TCP鏈接(One way TCP connections) |
Yes |
集中配置(Centralised configuration) |
Yes |
生成通知(Generates notifications) |
No |
zabbix proxy 能夠代替 zabbix server 收集性能和可用性數據,而後把數據彙報給 zabbix server,而且在必定程度上分擔了zabbix server 的壓力。此外,當全部agents和proxies報告給一個Zabbix server而且全部數據都集中收集時,使用proxy是實現集中式和分佈式監控的最簡單方法
zabbix proxy 使用場景:
監控遠程區域設備
監控本地網絡不穩定區域
當 zabbix 監控上千設備時,使用它來減輕 server 的壓力
簡化分佈式監控的維護
zabbix proxy 僅僅須要一條 tcp 鏈接到 zabbix server,因此防火牆上僅僅須要加上一條規則便可
zabbix proxy 數據庫必須和 server 分開,不然數據會被破壞
proxy 收集到數據以後,首先將數據緩存在本地,而後在必定的時間以後傳遞給 zabbix server,這樣就不會由於服務器的任何臨時通訊問題而丟失數據。這個時間由 proxy配置文件中參數 ProxyLocalBuffer 和 ProxyOfflineBuffer 決定
注意從Zabbix server數據庫直接更新最新配置的proxy可能會比Zabbix server新,而Zabbix server的配置因爲 CacheUpdateFrequency 的緣由而沒法快速更新。所以,proxy收集發送Zabbix server數據可能會被忽略
zabbix proxy 是一個數據收集器,它不計算觸發器、不處理事件、不發送報警。有關proxy功能的概述,以下表:
功能 |
proxy支持(yes/no) |
|
項目(Items) |
||
Zabbix agent checks |
Yes |
|
Zabbix agent checks (active) |
Yes 1 |
|
Simple checks |
Yes |
|
Trapper items |
Yes |
|
SNMP checks |
Yes |
|
SNMP traps |
Yes |
|
IPMI checks |
Yes |
|
JMX checks |
Yes |
|
日誌文件監控(Log file monitoring) |
Yes |
|
內部檢查(Internal checks) |
Yes |
|
SSH checks |
Yes |
|
Telnet checks |
Yes |
|
外部檢查(External checks) |
Yes |
|
內置web監控(Built-in web monitoring) |
Yes |
|
網絡發現(Network discovery) |
Yes |
|
自動發現(Low-level discovery) |
Yes |
|
觸發器計算(Calculating triggers) |
No |
|
處理事件(Processing events) |
No |
|
發送報警(Sending alerts) |
No |
|
遠程命令(Remote commands) |
No |
2、分佈式監控部署
環境說明
系統版本 CentOS 7.2 x86_64
軟件版本 zabbix 3.0.18
機器角色及ip
zabbix server 10.0.0.63
zabbix proxy eth0:10.0.0.65 eth1:192.168.1.65
zabbix agent 192.168.1.66
經過zabbix proxy的搭建,zabbix server能夠遠程從proxy獲取到數據,這裏的環境至關於zabbix server具備一個公網ip地址,zabbix agent只具備內網地址,zabbix proxy具備外網地址和內網地址,搭建zabbix proxy使zabbix server能經過proxy遠程獲取到zabbix agent的數據
一、配置zabbix proxy
1.1 安裝並配置zabbix的源
[root@zabbix-proxy ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm #安裝源
[root@zabbix-proxy ~]# vim /etc/yum.repos.d/zabbix.repo #修改配置文件,將地址改成清華的
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/$basearch/
……
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
……
[root@zabbix-proxy ~]# yum makecache #更新緩存
1.2 安裝配置zabbix proxy
[root@zabbix-proxy ~]# yum install -y zabbix-proxy-mysql #安裝zabbix-proxy
[root@zabbix-proxy ~]# yum install -y mariadb-server #安裝數據庫
[root@zabbix-proxy ~]# systemctl start mariadb.service #啓動數據庫
[root@zabbix-proxy ~]# systemctl enable mariadb.service #開機啓動
[root@zabbix-proxy ~]# mysql #登陸數據庫
create database zabbix_proxy default charset utf8;
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin; #創庫
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by '123456'; #受權
MariaDB [(none)]> exit
[root@zabbix-proxy ~]# rpm -ql zabbix-proxy-mysql|grep sql
/usr/sbin/zabbix_proxy_mysql
/usr/share/doc/zabbix-proxy-mysql-3.0.18
/usr/share/doc/zabbix-proxy-mysql-3.0.18/AUTHORS
/usr/share/doc/zabbix-proxy-mysql-3.0.18/COPYING
/usr/share/doc/zabbix-proxy-mysql-3.0.18/ChangeLog
/usr/share/doc/zabbix-proxy-mysql-3.0.18/NEWS
/usr/share/doc/zabbix-proxy-mysql-3.0.18/README
/usr/share/doc/zabbix-proxy-mysql-3.0.18/schema.sql.gz
[root@zabbix-proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.18/ #導入數據庫
[root@zabbix-proxy zabbix-proxy-mysql-3.0.18]# zcat schema.sql.gz | mysql -uzabbix -p123456 zabbix_proxy
[root@zabbix-proxy zabbix-proxy-mysql-3.0.18]# cd
[root@zabbix-proxy ~]# vim /etc/zabbix/zabbix_proxy.conf #修改zabbix-proxy的配置文件
24 Server=10.0.0.63 #zabbix-server的地址
43 Hostname=zabbix-proxy #主機名
128 DBHost=localhost #數據庫主機
139 DBName=zabbix_proxy #數據庫名稱
154 DBUser=zabbix #數據庫用戶名
162 DBPassword=123456 #數據庫密碼
配置文件中沒有配置的內容以下:(有須要能夠配置)
# ProxyLocalBuffer=0
#數據保留的時間(小時爲單位)
# ProxyOfflineBuffer=1
#連不上Server,數據要保留多久(小時爲單位,默認1小時)
# DataSenderFrequency=1
#數據的發送時間間隔(默認是1秒)
# StartPollers=5
#啓動的線程數
# StartIPMIPollers=0
#啓動IPMI的線程數
[root@zabbix-proxy ~]# systemctl start zabbix-proxy.service #啓動zabbix-proxy
[root@zabbix-proxy ~]# systemctl enable zabbix-proxy.service #開機啓動
二、server端的web界面添加zabbix proxy
配置——>anget代理程序——>建立代理
agent代理程序名稱和proxy代理的主機名相同
proxy代理添加後,等待發現代理,若是不能及時發現代理,能夠經過查看server和proxy的日誌進行檢查
[root@zabbix-server ~]# tail -f /var/log/zabbix/zabbix_server.log
[root@zabbix-proxy ~]# tail -f /var/log/zabbix/zabbix_proxy.log
[root@zabbix-server ~]# systemctl restart zabbix-server.service #重啓server端服務
[root@zabbix-proxy ~]# systemctl restart zabbix-proxy.service #再重啓proxy端服務
Web界面進行檢查,代理成功添加
三、安裝配置zabbix-agent
因爲agent端只有一個內網卡,不能上網,要安裝zabbix-agent能夠採起的方法有:
a、將proxy配置爲路由器和agent的網關,使agent經過proxy上網安裝
b、在proxy端下載好agent程序發送到agent端再安裝
這裏選擇方法b
在proxy下載併發送
[root@zabbix-proxy ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.18-1.el7.x86_64.rpm
[root@zabbix-proxy ~]# scp zabbix-agent-3.0.18-1.el7.x86_64.rpm root@192.168.1.66:/root/
root@192.168.1.66's password:
zabbix-agent-3.0.18-1.el7.x86_64.rpm 100% 341KB 341.4KB/s 00:00
agent端yum本地安裝
[root@zabbix-agent ~]# yum localinstall -y zabbix-agent-3.0.18-1.el7.x86_64.rpm
[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf #修改配置文件
95 Server=192.168.1.65 #服務端即proxy的ip地址,內網地址
147 Hostname=192.168.1.66 #填寫主機名稱,或填寫爲ip地址便於區分
[root@zabbix-agent ~]# systemctl start zabbix-agent.service #啓動zabbix-agent
[root@zabbix-agent ~]# systemctl enable zabbix-agent.service #開機啓動
四、server端的web界面添加主機
配置——>主機——>建立主機
主機名稱和agent端配置文件中相同,選擇代理
爲主機連接模板
五、檢驗
等待添加的主機變綠,變綠以後查看最新數據
若不能及時變綠,則須要重啓服務或使用命令zabbix_server -R config_cache_reload刷新配置緩存
至此,zabbix跨網段經過proxy代理監控主機配置完成!
博主原創文章,轉載請務必註明出處