Zabbix的自動發現機制:
Zabbix客戶端主動和服務端聯系,將自己的地址和端口發送服務端,來實現自動添加主機
客戶端是自動的一方
缺點:自定義的網段的主機數量太多,登記耗時會很久,而且這個自動發現機制不是很穩定
在 Web 頁面刪除原有的客戶端主機
點擊左邊菜單欄【配置】中的【主機】,勾選原有的客戶端主機,點擊 刪除
隨后
在 Web 頁面配置自動發現
點擊左邊菜單欄【配置】中的【自動發現】,點擊【創建發現規則】
【名稱】設置成 mynetwork
【IP范圍】設置成 192.168.10.1-254
【更新間隔】設置成 30s
【檢查】點擊【添加】,【檢查類型】選擇 Zabbix 客戶端,【端口范圍】設置成 10050,【鍵值】設置成 system.uname
【設備唯一性準則】選擇 IP地址
【主機名稱】選擇 DNS名稱
【可見的名稱】選擇 主機名稱
勾選 【已啟用】,點擊 【更新】
點擊左邊菜單欄【配置】中的【動作】,上方菜單選擇 【發現動作】
勾選 【Auto discovery. Linux servers.】,點擊 【啟用】
點擊左邊菜單欄【配置】中的【主機】刷新,等待一段時間后即可刷新出自動發現的客戶端主機
做主機映射(服務端客戶端都做)
開啟服務端的日志(時間如果不同步,記得要做時間同步,不然無法實現)
tail -f /var/log/zabbix/zabbix_server.log
配置客戶端,怎么讓客戶端被自動發現
取消注釋
Web頁面配置
服務端,如果沒有發現,客戶端服務端不斷重啟
tail -f /var/log/zabbix/zabbix_agent2.log
若還不行,修改主機名,隨后就要改映射地址,配置文件里面的主機名
成功,已經自動發現
Zabbix的代理功能,
代理功能的額核心,代替服務端收集客戶端的數據,然后把數據傳送給服務端
Agent》proxy》服務端
減輕服務端收集數據的壓力
分布式監控的作用:
●分擔 server 的集中式壓力
●解決多機房之間的網絡延時問題
核心圖:
如何實現:
客戶端:20.0.0.53
代理服務器:20.0.0.54
服務端:20.0.0.51
如何實現:
配置代理服務器:
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean && yum makecache
yum install -y zabbix-proxy-mysql zabbix-get
#安裝 Zabbix 代理(zabbix-proxy-mysql)和 Zabbix 客戶端工具(zabbix-get)
//安裝 zabbix 所需的數據庫
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
初始化數據庫
mysql_secure_installation ????????#初始化數據庫,并設置密碼,如123456
進去數據庫,//添加數據庫用戶,以及 zabbix 所需的數據庫信息
mysql -u root -p123456
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
導入數據庫信息
rpm -ql zabbix-proxy-mysql #查詢 sql 文件的位置
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.40/schema.sql.gz | mysql -uroot -p123456 zabbix_proxy
修改zabbix_proxy配置文件
vim /etc/zabbix/zabbix_proxy.conf
#30行,指定 zabbix 服務端的 IP 地址
#49行,指定當前 zabbix 代理服務器的主機名
#196行,指定當前數據庫 zabbix 用戶的密碼
//啟動 zabbix-proxy
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
//在所有主機上配置 hosts 解析
vim /etc/hosts
192.168.233.10 zbx-server
192.168.233.30 zbx-agent01
192.168.233.40 zbx-proxy
配置客戶端
首先安裝zabbix,同樣的操作
修改客戶端的配置
vim /etc/zabbix/zabbix_agent2.conf
#80行,指定 zabbix 代理服務器的 IP 地址
#120行,指定 zabbix 代理服務器的 IP 地址
主機名修改為本機
//在 Web 頁面配置 agent 代理
點擊左邊菜單欄【配置】中的【動作】,勾選自動注冊規則,點擊 禁用
點擊左邊菜單欄【配置】中的【主機】,勾選原有的客戶端主機,點擊 刪除
點擊左邊菜單欄【管理】中的【agent代理程序】,點擊【創建代理】
【agent代理程序名稱】設置為 zbx-proxy
【系統代理程序模式】選擇 主動式
【代理地址】設置為 192.168.233.40
點擊 【添加】
在 Web 頁面配置
點擊左邊菜單欄【配置】中的【主機】,點擊【創建主機】
【主機名稱】設置成 zbx-agent01
【可見的名稱】設置成 zbx-agent01
【群組】選擇 Linux server
【Interfaces】的【IP地址】設置成 192.168.233.30
【由agent代理程序監測】選擇 zbx-proxy
再點擊上方菜單欄【模板】
【Link new tamplates】搜索 Linux ,選擇 Template OS Linux by Zabbix agent
點擊 【添加】
分別在客戶端和代理服務器上重啟服務
systemctl restart zabbix-agent2
systemctl restart zabbix-proxy
成功
給test3加一個模板,代理端和客戶端重啟一下
再點擊上方菜單欄【模板】
【Link new tamplates】搜索 Linux ,選擇 Template OS Linux by Zabbix agent
點擊 【添加】
就可以去圖形查看了
Zabbix的SNMP監控:
SNMP:simple network management protocol (簡單網絡管理協議)
主要用來監控和管理網絡設備的標準協議
監控交換機和路由器等網絡設備
監控網絡設備幾個方面:
設備監控:路由器,交換機,服務器,打印機,三層交換機
性能監控:帶寬的利用率,CPU利用率,可以通過圖形了解網絡的負載情況
故障告警:郵件,短信
如何實現:
安裝兩個組件
yum install -y net-snmp net-snmp-utils
修改 snmp 的配置文件,并啟動服務
vim /etc/snmp/snmpd.conf
57行添加
view ???systemview ???included ??.1
systemctl start snmpd
Snmp是一個樹形結構,.1監控所有snmp的協議數
命令行工具:
使用 snmp 命令測試
snmpwalk -v 2c -c public 127.0.0.1 sysname
-v version snmp使用的版本是什么
2c 2使用的是snmpV2協議 c共同體的字符串 snmp的協議
-c public firewalld
顯示firewall的公共區域public的主機名
使用的是snmpv2協議
Syname: snmpkey(鍵值)
在 Web 頁面配置 snmp 方式監控
點擊左邊菜單欄【配置】中的【主機】,點擊 Zabbix server
【接口】點擊【添加】選擇 SNMP ,端口設置成 161
點擊上方菜單欄【模板】,【鏈接的模板】中的所有 agent 模板選擇取消鏈接并清理
再在【Link new templates】中搜索 Linux SNMP,選擇 Template OS Linux SNMP
點擊 【更新】,等待一段時間后 Zabbix server 的可用性就變成了 SNMP 監控方式。
如若出不來,重啟
- Zabbix總結:就是一個監控服務程序 網絡設備,主機的軟件,但是不能很好的監控容器的運行,市面上zabbix是一個一個很成熟的軟件,由所有的一切模板,腳本呢,docker和k8s容器化運行的yml
Zabbix的組成部分:
zabbix-server(收集和監控)
Zabbix-agent (客戶端,發送數據服務端) ????????????
Zabbix-proxy(代理服務器,代理服務器需要安裝的數據,保存客戶端的數據,如何再發送給服務端(代收器))
Zabbix的配置:先有主機,再有模板,模板當中設置當中配置監控項,再監控項之后配置觸發器,圖形(可選)