Zabbix3.2監控工具
Zabbix是一個基于WEB界面的提供的分布式系統監控以及網絡監視功能的企業級的開源工具。
Zabbix能監視各種網絡參數,保證伺服器系統的安全營運,并提供靈活的通知機制讓管理者迅速定位/解決存在的各種問題。
Zabbix由Zabbix_Server服務端和Zabbix_Agent用戶端還有Zabbix_proxy代理三個部分組成。
Zabbix_Server:可以通過SNMP,Zabbix_Agent,Ping,SNMP等方法提供對遠端伺服器/網絡狀态的監視。
Zabbix_Agent:是用來采集用戶端伺服器資料來交給Zabbix_Server處理。
Zabbix_Proxy:緩存同步伺服器監控資料。
Zabbix的主要功能:CPU負荷,記憶體使用,磁盤使用,網絡狀況,端口監視,日志監視。
Zabbix的監控架構:
<a href="https://s4.51cto.com/wyfs02/M02/9B/64/wKioL1li4WnyBEtUAAEVlgkgh6I692.png" target="_blank"></a>
Zabbix部署步驟:
環境需求:必須LNMP/LAMP環境的支援,需要PHP5.4以上版本支援才可以。
# systemctl stop firewalld #關閉firewalld防火牆
# systemctl disable firewalld.service #禁止firewalld服務自啟
# sed -i -e 's|SELINUX=enforcing|SELINUX=disabled|' /etc/selinux/config #關閉SELINUX
# sed -i -e 's|SELINUXTYPE=targeted|#SELINUXTYPE=targeted|' /etc/selinux/config
# setenforce 0
源碼編譯方式:
v 安裝相關依賴元件
# yum -y install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel gcc gcc-c++ net-snmp net-snmp-devel perl-DBI httpd mariadb* #YUM部署LAMP環境
v 解壓安裝包
# tar xzvf zabbix-3.2.1.tar.gz
# cd zabbix-3.2.1
v 編譯安裝Zabbix
安裝Server和Agent,并支援将資料放入MYSQL資料庫中:
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
僅安裝Server,并支援将資料放入MYSQL資料庫中:
# ./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl
僅安裝Proxy代理,并支援将資料放入MYSQL資料庫中:
# ./configure --prefix=/usr/local/zabbix --enable-proxy --with-net-snmp --with-mysql --with-ssh2
僅安裝Agent用戶端:
# ./configure --enable-agent
# make && make install
注:--with-libcurl:監控WEB頁面響應時間,下載下傳速度。
v 授權Zabbix資料庫使用者
# systemctl start mariadb #啟動MYSQL
# mysqladmin -u root password 123 #設定資料庫ROOT使用者密碼
# mysql -u root -p123 #登入資料庫
mysql> create database zabbix character set UTF8; #建立zabbix資料庫并指定編碼為UTF8
mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by '123' with grant option;
mysql> flush privileges; #授權zabbix使用者與重新整理授權
mysql> exit
v 将Zabbix自帶的SQL檔案導入資料庫
# mysql -u zabbix -p123 zabbix < database/mysql/schema.sql #按順序導入
# mysql -u zabbix -p123 zabbix < database/mysql/images.sql
# mysql -u zabbix -p123 zabbix < database/mysql/data.sql
v 将Zabbix自帶的PHP頁面放入Nginx網頁根目錄
# cp -r frontends/php /var/www/html/zabbix
# chmod 777 /var/www/html/zabbix/conf
v 将Zabbix添加到服務
# cp -r misc/init.d/fedora/core/* /etc/init.d/
# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_server
# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_agentd
v 修改Zabbix_server配置檔案
# sed -i -e 's|# DBPassword=|DBPassword=123|' /usr/local/zabbix/etc/zabbix_server.conf
# sed -i -e 's|# DBSocket=/tmp/mysql.sock|DBSocket=/var/lib/mysql/mysql.sock|' /usr/local/zabbix/etc/zabbix_server.conf
Zabbix_server配置檔案解析
LogFile=/tmp/zabbix_server.log
日志所在位置
LogFileSize=1
日志大小
PidFile=/tmp/zabbix_server.pid
PID程序檔案所在位置
DBHost
資料庫主機位址
DBName
資料庫名
DBUser
資料庫連接配接使用者名
DBPassword
資料庫連接配接使用者密碼
DBSocket
資料庫緩存檔案位置
DBPort
資料庫端口
StartPollers
Zabbix_server程序數
StartIPMIPollers
IPMI線程數(IPMI平台管理接口)
StartPollersUnreachable
該線程用來單獨監控無法連接配接的主機
StartTrapper
檢測主機的線程數
StartPingers
PING主機方式啟動的線程數
StartDiscoverers
發現主機的線程數
StartDBSyncers
将資料同步到資料庫的線程數
Timeout
Zabbix_server的檢測逾時時間
v 修改PHP配置
# sed -i -e 's|post_max_size = 8M|post_max_size = 16M|' /etc/php.ini
# sed -i -e 's|max_execution_time = 30|max_execution_time = 300|' /etc/php.ini
# sed -i -e 's|max_input_time = 60|max_input_time = 300|' /etc/php.ini
# sed -i -e 's|;date.timezone =|date.timezone = PRC|' /etc/php.ini
post_max_size
上傳最大檔案大小
date.timezone
時區設定(PRC代表中國)
max_execution_time
運作逾時時間(秒)
request_terminate_timeout
需求結束逾時時間(秒)
max_input_time
接受資料時間限制(秒)
v 建立運作使用者
# useradd zabbix
v 啟動服務
# service start zabbix_server
# systemctl start zabbix_agentd
# systemctl start httpd
# netstat -lnupt |grep 80
# ps aux |grep zabbix
v 通過網頁驗證通路
Http://localhost/zabbix
被監控主機配置
v 環境需求:關閉防火牆,SELinux
# systemctl stop firewalld
# iptables -F
# yum -y install gcc gcc-c++
v 解壓zabbix包
v 編譯安裝
# ./configure --prefix=/usr/local/zabbix --enable-agent
# echo 123 | passwd zabbix --stdin
v 添加到服務
v 修改Zabbix_agentd配置檔案
# sed -i -e 's|Server=127.0.0.1|Server=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf
# sed -i -e 's|ServerActive=127.0.0.1|ServerActive=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf
# sed -i -e 's|# Hostname=|Hostname=1.1.1.20|' /usr/local/zabbix/etc/zabbix_agentd.conf
Zabbix_agentd配置檔案解析
UnsafeUserParameters
啟動自定義KEY
EnableRemoteCommands
開啟遠端指令
ListenPort
監聽端口
StartAgents
Agent線程數
Server
被動模式指定服務端位址
ServerActive
主動模式指定伺服器位址
Hostname
主機名
# service zabbix_agentd restart
# netstat -lnupt |grep 10050
YUM安裝方式:
環境需求:需要連接配接網絡,關閉防火牆,SELinux
# systemctl stop firewalld #關閉防火牆
v 安裝Zabbix的YUM庫
# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
# yum makecache #重新生成緩存
# yum -y install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* #YUM部署LAMP環境
v 安裝Zabbix_server
# yum -y install zabbix-server-mysql zabbix-web-mysql
v 授權MYSQL資料庫
# systemctl start mariadb #啟動資料庫
# mysqladmin -u root password 123
# mysql -u root -p123
> create database zabbix character set UTF8;
> grant all on zabbix.* to 'zabbix'@'localhost' identified by '123' with grant option;
> flush privileges;
> exit
v 導入Zabbix資料庫檔案
# mysql -u zabbix -p123 zabbix < schema.sql
# mysql -u zabbix -p123 zabbix < images.sql
# mysql -u zabbix -p123 zabbix < data.sql
v 修改配置檔案
# sed -i -e 's|# DBPassword=|DBPassword=123|' /etc/zabbix/zabbix_server.conf
# zabbix_server
被監控端安裝配置
v 安裝Zabbix_agentd服務
# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
# yum makecache
# yum -y install zabbix-agent
v 啟動Zabbix_agentd服務
# zabbix_agentd
# netstat -lnupt |grep zabbix
WEB配置圖檔導航:
<a href="https://s1.51cto.com/wyfs02/M02/9B/64/wKiom1li4Yyz4yGxAABZFHn_A-o866.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/9B/64/wKioL1li4Y2SmvHEAACycoUTx7w310.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/9B/64/wKioL1li4Y7jZEXmAACsLXwPN5k206.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/9B/64/wKiom1li4Y7jh6zeAAB7_9eFGxg694.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/9B/64/wKiom1li4Y_j3E1nAACJD4awsM8648.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/9B/64/wKioL1li4Y-zsJIoAADBZ-D7LBc188.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/9B/64/wKioL1li4ZCBJ7I6AABrrEKK960544.png" target="_blank"></a>
安裝故障排查
故障一:MYSQL資料庫版本過高問題; 解決方法:重新安裝适用MYSQL資料庫
注:Current database version:目前版本 Required mandatory version:強制版本号
故障二:使用者授權問題; 解決方法:重新授權Zabbix資料庫使用者
故障三:資料庫問題 解決方法:重新導入Zabbix對應資料庫
故障四:伺服器程序過多問題 解決方法:設定配置檔案相關參數控制程序
注:Too many processes on Zabbix server:在Zabbix伺服器程序數太多
故障五:Zabbix_server啟動時線程數低導緻輪詢負載 解決方法:StartPollers設定為5或10
故障六:Zabbix_server在運作但是提示沒在運作 解決方法:關閉SELinux
故障七:資料庫密碼錯誤 解決方法:修改配置檔案zabbix.conf.php
<a href="https://s2.51cto.com/wyfs02/M00/9B/64/wKioL1li4f6g_BhMAAA2Mlg2cjs319.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/9B/64/wKioL1li4f_yC-OCAABj9-Xcy60773.png" target="_blank"></a>
本文轉自 觸動的風 51CTO部落格,原文連結:http://blog.51cto.com/10978134/1945798