您好,登錄后才能下訂單哦!
一:代理概述
zabbix proxy 可以代替 zabbix server 收集性能和可用性數據,然后把數據匯報給 zabbix server,并且在一定程度上分擔了zabbix server 的壓力.
此外,當所有agents和proxies報告給一個Zabbix server并且所有數據都集中收集時,proxy 收集到數據之后,首先將數據緩存在本地,然后在一定得時間之后傳遞給 zabbix server,這樣就不會因為服務器的任何臨時通信問題而丟失數據。使用proxy是實現集中式和分布式監控的最簡單方法。
zabbix proxy 使用場景:
監控遠程區域設備
監控本地網絡不穩定區域
當 zabbix 監控上千設備時,使用它來減輕 server 的壓力
簡化分布式監控的維護
zabbix proxy 僅僅需要一條 tcp 連接到 zabbix server,外網連接防火墻上僅僅需要加上一條規則即可。
二、安裝代理服務器Proxy
安裝環境:
1、系統環境:CentOS Linux release 7.5.1804 (Core)?
2、zabbix版本:zabbix-release-3.4-2.el7.noarch
3、測試環境,關閉了防火墻(生產環境不建議關閉,根據需求設置防火墻)
[root@centos78 ~]# systemctl stop firewlld.service? ? ? ?關閉防火墻
[root@centos78 ~]# systemctl disable firewalld.service? 開機禁用防火墻啟動
4、關閉Selinux
[root@centos78 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@centos78 ~]# setenforce 0
安裝數據庫
1、指定下載數據庫版本最好跟zabbix-server一致,編輯安裝包路徑下載路徑:
?[root@centos78 ~]# vim /etc/yum.repos.d/base.repo? (沒有base.repo可以自己創建)
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
2、安裝10.2的mariadb
yum install mariadb-server
3、設置mariadb
[root@centos78 ~]# systemctl start mariadb? 啟動
[root@centos78 ~]# systemctl enable mariadb 設置開機啟動
[root@centos78 ~]# systemctl status mariadb? ?查看啟動狀態
安裝和設置Proxy服務端
1、下載和安裝Zabbix
[root@centos78 ~]# rpm -ivh?http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm? (下載Zabbix最新版本)
[root@centos78 ~]# yum install zabbix-proxy-mysql -y
2、創建數據和導入數據
[root@centos78 ~]# mysql
Welcome to the MariaDB monitor.? Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.2.17-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>?create database zabbix_proxy??character set utf8 collate utf8_bin;? ? ?創建數據庫zabbix_proxy
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>?grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';? 設置zabbix_proxy權限和密碼
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>?exit? ? 退出
Bye
導入數據庫
[root@centos78 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.14/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy?
配置數據庫用戶和密碼
[root@centos78 ~]# vim /etc/zabbix/zabbix_proxy.conf? ?修改配置文件,設置密碼
DBPassword=zabbix
[root@centos78 ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_proxy.conf?查看關鍵配置信息
24:Server=192.168.1.1? ? ? ? ? ? ? ?這里是Zabbix服務器的ip地址
42:Hostname=centos78? ? ? ? ? ? 這里是proxy本身的主機名
84:LogFile=/var/log/zabbix/zabbix_proxy.log
95:LogFileSize=0
136:PidFile=/var/run/zabbix/zabbix_proxy.pid
146:SocketDir=/var/run/zabbix
166:DBName=zabbix_proxy
181:DBUser=zabbix
190:DBPassword=zabbix
390:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
466:Timeout=4
508:ExternalScripts=/usr/lib/zabbix/externalscripts
544:LogSlowQueries=3000
啟動zabbix和設置開機啟動
[root@centos78 ~]# systemctl start zabbix-proxy
[root@centos78 ~]# systemctl enable zabbix-proxy
3、配置zabbix_proxy.conf文件
sed -i.ori '190a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf ? ? ? ? ? ? ? ?第190行插入DBPassword,
sed -i 's#Server=127.0.0.1#Server=192.168.1.1#' /etc/zabbix/zabbix_proxy.conf ? ? ? 這個是Zabbix server的IP地址(或主機名),不是Zabbix proxy的ip哦
sed -i 's#Hostname=Zabbix proxy#Hostname=centos78#' /etc/zabbix/zabbix_proxy.conf ? ?這個Zabbix proxy的hostname,唯一的, 區分大小寫的,確保server端知道其名稱!允許的符號: 字母數字, '.', ' ', '_' 和 '-'。最大長度: 64,經常會在這里出錯。
修改完后重啟服務:
[root@centos78 ~]#?systemctl restart zabbix-proxy.service
檢查啟動情況:
[root@centos78 ~]#??netstat -lntup |grep zabbix
tcp? ? ? ? 0? ? ? 0 0.0.0.0:10050? ? ? ? ? ?0.0.0.0:*? ? ? ? ? ? ? ?LISTEN? ? ? 2190/zabbix_agentd??
tcp? ? ? ? 0? ? ? 0 0.0.0.0:10051? ? ? ? ? ?0.0.0.0:*? ? ? ? ? ? ? ?LISTEN? ? ? 12789/zabbix_proxy??
tcp6? ? ? ?0? ? ? 0 :::10050? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN? ? ? 2190/zabbix_agentd??
tcp6? ? ? ?0? ? ? 0 :::10051? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN? ? ? 12789/zabbix_proxy??
三、客戶端主機配置文件指向 proxy
[root@centos78 ~]#vim /etc/zabbix/zabbix_agentd.conf?
Server=192.168.1.78 ? ? 這里指向proxy服務器IP,通過代理收集信息。
ServerActive=192.168.1.78
Hostname=centos78
四、服務端web界面:添加agent代理程序
幾分鐘后檢測到代理服務器:
再創建一個自動發現規則:
通過自動發現,就可以自動通過代理的客戶端添加到自定義分組中,詳細情況下面教程:
對于監控服務器越來越多的情況,如果還單獨一個一個添加,那效率也太低,因此就要實現批量添加監控服務器的操作,Zabbix提供兩種批量自動監控的方式:
自動發現:由服務端主動發起,Zabbix Server開啟發現進程,定時掃描局域網中IP服務器、設備。
自動注冊:由客戶端主動發起,客戶端必須安裝并啟動Agentd,否則無法被自動注冊添加至主機列表。對于使用SNMP的就要采用自動發現了。
在zabbix_agentd.conf中指定Zabbix server配置信息,這個在前期批量安裝客戶端的時候,就需要一起批量修改。
Server=192.168.101.78????? ServerActive=192.168.101.78?? HostMetadataItem=system.uname
HostMetadataItem主機元數據
當agent程序向服務器發送自動注冊請求時,會發送其主機名。在某些情況下,Zabbix服務器的主機名不足以區分發現的主機。主機元數據可將其他信息從agent發送到服務器。
主機元數據在zabbix_agentd.conf中配置。在配置文件中指定主機元數據有兩種方式:(兩種不能同時用)
HostMetadataItem: HostMetadataItem=system.uname system.uname用于獲取包含“Linux”或“Windows”等信息,具體取決于運行agent的主機。 主機元數據示例如下: Linux:?Linux?server3?3.2.0-4-686-pae?#1?SMP?Debian?3.2.41-2?i686?GNU/Linux Windows:?Windows?WIN-0PXGGSTYNHO?6.0.6001?Windows?Server?2008?Service?Pack?1?Intel?IA-32
HostMetadata: 可選參數用來定義主機元數據,只有主機自動注冊時才用到主機元數據。如果沒有定義,該值通過?HostMetadataItem?獲得。根據需求設置不同模板進行分組: HostMetadata=Linux或HostMetadata=Windows或HostMetadata=Router或HostMetadata=SMNP
二、自動發現
1、添加自動發現規則
更新間隔:120s-300s,服務器性能不好可以設置久一點
system.uname:這個是用來匹配的客戶端的.
2、創建自動發現動作
A、添加linux主機自動發現規則
操作:添加主機、添加Linux server組、添加模板,其他自己設置。
B、添加Windows自動發現規則:
操作:添加Windows server分組
3、查看客戶端日記信息:active已經連接上
查看服務端信息:已經自動添加到Windows server和Linux server組中
三、自動注冊:
由客戶端主動發起,客戶端必須安裝并啟動Agentd,否則無法被自動注冊添加至主機列表。
1、活動的Zabbix agent可以自動注冊到服務器進行監控。這種方式無需在服務器上手動配置它們。
2、使用SNMP或者其他方式監控的,無法使用自動注冊,只能使用自動發現。
3、配置---動作---自動注冊---創建動作
名稱:Auto Linux server
條件:主機元數據似?Linux
操作:添加主機
操作:添加到主機組:Linux server
操作:鏈接到模板:Template?OS?Linux
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。