一、概念和特點
概念
Zabbix是一款開源、免費的監控軟件? 主要用于7*24*365實時監控網絡設置,操作系統,應用程序,網絡帶寬等資源的運行狀態,并且一旦發生異常能夠第一時間個SA管理員發送報警信息
特點
- Zabbix是c/s結構,有client客戶端和server服務端
- 支持web界面管理通過web輕松管理Zabbix監控
- 可以監控Windows、Linux服務器,網絡設置(防火墻、路由器)
- 可以批量監控機器,監控100~1000臺機器
- 能夠進行二次開發,提供API,供運維平臺進行整合
- 具有Zabbix-proxy代理節點,可以代替server去監控客戶端
二、核心組件
Zabbix監控主要由五大組件組成:Zabbix_server、Zabbix_agent、Zabbix_web、Zabbix_proxy、Zabbix-database
Zabbix_server
作為整個監控平臺的核心組件,主要用于匯總、收集客戶端的監控數據,并且將監控數據持久化轉移至后端數據庫中
Zabbix_agent
Zabbix_agent被稱為客戶端插件,主要用于采集客戶端監控指標,CPU,MEM,I/O,進程數,打開文件數,文件是否被修改等
Zabbix_web
Zabbix_Web是基于php語言開發的網站部署,SA管理員可以更加快捷,高效的去管理zabbix監控平臺(查看監控、添加監控、刪除數據)
Zabbix_proxy
作為Zabbix_server的分布式代理,可以代替Zabbix_server實現客戶端監控數據的匯總、收集并將監控的數據轉至Zabbix_server端
Zabbix-databse
Zabbix-databse是一個關系型數據庫(MySQL),主要存儲Zabbix整個監控平臺的數量,監控指標、歷史數據、趨勢數據、用戶名、密碼權限等
三、Zabbix實戰
實戰步驟
## 環境準備
server端:10.0.0.6
agent端: 10.0.0.7## 準備Zabbix源碼包(可以去官網下載)
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.32.tar.gz
tar -zxvf zabbix-6.0.32.tar.gz ## 預編譯(可能會遇到很多錯誤,具體報錯解決方案如下)
./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql## 編譯
make -j4 install## 切換至zabbix目錄,拷貝腳本
cd /root/zabbix-6.0.32
cp misc/init.d/tru64/zabbix_* /etc/init.d/## 啟動腳本(可能遇到權限用戶問題)
/etc/init.d/zabbix_agentd start
/etc/init.d/zabbix_server start## 安裝zabbix-database、web
yum -y install mysql-server mysql
yum -y install nginx
yum -y install php-fpm php-devel php-mysqlnd## 修改nginx配置文件(添加PHP配置)
vim /etc/nginx/nginx.conf.default
grep -vE "#|^$" /etc/nginx/nginx.conf.default >/etc/nginx/nginx.conf
vim /etc/php-fpm.d/www.conf (修改listen)
listen = 0.0.0.0:9000## 切換到zabbix目錄,移動ui界面到nginx下
cd zabbix-6.0.3
\cp * /usr/share/nginx/html/ -a## 重啟數據庫
systemctl start mysqld
zabbix安裝遇到問題
安裝gcc編譯器:yum -y install gcc
安裝mysql庫文件:yum -y install mysql-devel;find / -name 'libmysql*.so'
安裝事件庫文件:yum -y install libevent-devel
安裝pcre庫文件:yum -y install pcre-devel
出現以下界面說明預編譯過程完成
出現以下界面文件說明編譯過程完成
啟動服務出現報錯:chmod +x /etc/init.d/zabbix_*

需要制作軟連接:ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
zabbix用戶不存在需要手動創建
useradd -s /sbin/nologin zabbix -M
已經正常啟動了
nginx需要加入的配置
網頁出現500錯誤由于php缺少依賴
yum install php php-cli php-common php-devel php-embedded php-fpm php-gd php-mbstring php-mysqlnd php-opcache php-pdo php-xml -y
修改/etc/php.ini 文件,之后重啟php-fpm
缺乏依賴包:yum -y install php-bcmath php-ldap
數據庫缺少用戶:建庫新建用戶
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'aaaAAA111.';
grant all privileges on zabbix.* to zabbix@localhost;
alter user 'zabbix'@'localhost' identified with mysql_native_password by 'aaaAAA111.';
flush privileges;
數據庫不含庫表文件需要自行導入
cd zabbix-6.0.32/database/mysql/
mysql -uzabbix -paaaAAA111. zabbix < ?schema.sql
mysql -uzabbix -paaaAAA111. zabbix < ?images.sql?
mysql -uzabbix -paaaAAA111. zabbix < ?data.sql
無權限創建配置文件------>后端php-fpm管理后臺
chown?-R apache /usr/share/nginx/html/conf/
后臺出現如下界面,即可正常登陸了
zabbix服務沒有正常啟動10051
尋找日志------>查找/zabbix/etc/zabbix.conf配置文件
查找日志/tmp/zabbix_server.log
數據庫文件未在zabbix配置文件中正常配置
解決方案:修改數據庫服務之后,重啟zabbix_server服務:/etc/init.d/zabbix_server restart
修改DB_HOST和DB_PASSWORD
返回網頁再次進行檢查
將英文切換成中文
zebbix_server儀表盤報警問題
/etc/init.d/zabbix_agentd start
字體出現了亂碼
使用windows打開字體目錄C:\Windows\Fonts====>上傳字體到以下目錄
切換進入此目錄cd /usr/share/nginx/html/assets/fonts/
拷貝并覆蓋原字體:
cp DejaVuSans.ttf DejaVuSans.ttf.bak
cp MSYH.TTC DejaVuSans.ttf
zabbix如何監控另一臺客戶機
## 上傳zabbix安裝包(zabbix-6.0.32.tar.gz)ls -ld zabbix-6.0.32## 解壓zabbi安裝包
tar -zxvf zabbix-6.0.32.tar.gz## 預編譯命令
./configure --prefix=/usr/local/zabbix --enable-agent## 編譯命令
make -j4 install ## 拷貝啟動腳本cp misc/init.d/tru64/zabbix_agentd /etc/init.d/## 創建執行權限
chmod o+x /etc/init.d/zabbix_agentd
部署后發現監控主機還無法啟動=====>找到web界面監控主機進行添加
在zabbix_web里面添加新主機
修改zabbix的etc配置內容
vim /usr/local/zabbix/conf/zabbix_agentd.conf?
grep -vE '^#|^$' zabbix-6.0.32/conf/zabbix_agentd.conf?
如何監控nginx服務
方法思路:使用zabbix自定義key
vim /usr/local/zabbix/etc/zabbix_agentd.conf
UserParameter=check_nginx_process,ps -ef|grep nginx|grep -v grep| wc -l
配置監控項
添加配置信息
配置圖表
?
最好校驗變化數據