1. 程式人生 > 實用技巧 >原始碼方式搭建zabbix平臺

原始碼方式搭建zabbix平臺

1.基於lnmp部署zabbix監控平臺; zabbix優點: 1.支援自動發現伺服器和網路裝置; 2.分散式的監控體系和集中式的WEB管理; 3.支援主動監控和被動監控模式; 4.基於SNMP、IPMI介面方式、Agent方式; 5.安全的使用者認證及許可權配置; 6.基於WEB的管理方法,支援自由的自定義事件和郵件、簡訊傳送; 7.高水平的業務檢視監控資源,支援日誌審計,資產管理等功能; zabbix原始碼部署:(基於lnmp環境) 192.168.1.14 流程圖:

Zabbix監控完整流程包括:Agentd安裝在被監控的主機上,Agent負責定期收集客戶端本地各項資料,併發送到Zabbix Server端,Zabbix Server收到資料,將資料儲存到資料庫中,使用者基於Zabbix WEB可以看到資料在前端展現影象。Zabbix監控完整流程包括:Agentd安裝在被監控的主機上,Agent負責定期收集客戶端本地各項資料 部署zabbix-Web-GUI:
#進入資料庫建立zabbix庫並且授權:
[root@localhost ~]# mysql
mysql> create databases zabbix charset=utf8;
mysql> grant all on zabbix.* to zabbix@localhost identified by '123456';
mysql> flush privileges;
mysql> quit

#然後進入原始碼包目錄:
cd /usr/src/zabbix-4.4.4
#遠端登入mysql匯入zabiix所需的表結構(注意順序):
[root@localhost zabbix-4.4.4]#
mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql [root@localhost zabbix-4.4.4]# mysql -uzabbix -p123456 zabbix < database/mysql/images.sql [root@localhost zabbix-4.4.4]# mysql -uzabbix -p123456 zabbix < database/mysql/data.sql #複製zabbix.php.conf檔案到nginx釋出目錄並授權: [root@localhost zabbix-4.4.4]#
mkdir -p /usr/local/nginx/html/zabbix [root@localhost zabbix-4.4.4]# cp -a frontends/php/* /usr/local/nginx/html/zabbix/ [root@localhost zabbix-4.4.4]# chown -R nginx. /usr/local/nginx/html/zabbix/
部署zabbix-server端:
#安裝所需依賴:
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI libevent-devel
#建立zabbix使用者和組:
groupadd zabbix
useradd -g zabbix zabbix
usermod -s /sbin/nologin zabbix
#下載zabbix原始碼包,並且解壓:
cd /usr/src
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.4.4/zabbix-4.4.4.tar.gz
tar xf zabbix-4.4.4.tar.gz
cd zabbix-4.4.4.tar.gz
#預編譯 /編譯安裝:
 ./configure --prefix=/usr/local/zabbix --enable-server -enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make && make install
#建立軟連線
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
#備份zabbix-server.conf檔案及修改:
cd /usr/local/zabbix/etc
cp zabbix-server.conf zabbix-server.conf.bak

#編輯zabbix配置檔案:vim zabbix-server.conf
將zabbix_server.conf配置檔案中程式碼設定為如下:
#zabbix日誌:
LogFile=/tmp/zabbix_server.log
#指定資料庫主機:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
#修改密碼:
DBPassword=123456
#與資料庫通訊:
DBSocket=/tmp/mysql.sock
#同時cp zabbix_server啟動指令碼至/etc/init.d/目錄,啟動zabbix_server, Zabbix_server預設監聽埠為10051。
cd zabbix-3.2.6
cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
chmod o+x /etc/init.d/zabbix_server
/etc/init.d/zabbix-server start
netstat -nutlp

以上配置zabbix-server完成: 接下來配置web-gui頁面: 使用瀏覽器輸入IP地址:http://192.168.1.14/zabbix/setup.php 進行訪問:

上圖顯示需要檢查先決條件並解決: 編輯php.ini檔案修改:
#編輯php.ini檔案修改相關引數: vim /usr/local/php5/lib/php.ini
post_max_size                    8M 改為 16M
max_execution_time               30 改為 300
max_input_time                   60 改為 300
date.timezone                    新增時區地址: ASia/shanghai
always_populate_raw_post_data    去掉註釋/即開啟
#使用大絕招解決:
sed -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/\;date.timezone.*/date.timezone \= PRC/g;s/\;always_populate_raw_post_data/always_populate_raw_post_data/g' /usr/local/php5/lib/php.ini
需重啟php服務

zabbix-agent客戶端安裝:

192.168.1.15
#建立使用者和組

groupadd zabbix
useradd -g zabbix zabbix
usermod -s /usr/nologin    zabbix
#安裝所需依賴:
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI libevent-devel
#下載zabbix原始碼包,並且解壓:
cd /usr/src
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.4.4/zabbix-4.4.4.tar.gz
tar xf zabbix-4.4.4.tar.gz
cd zabbix-4.4.4.tar.gz
#預編譯 /編譯安裝:
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
#建立連結
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
#修改並且備份 zabbix_agentd.conf客戶端配置檔案,執行如下命令,zabbix_agentd.conf內容,指定server IP,同時設定本地Hostname為本地IP地址或者DNS名稱:
CPU、記憶體、負載、網絡卡、磁碟、IO、應用服務、埠、登入使用者、
LogFile=/tmp/zabbix_agentd.log
EnableRemoteCommands=0
Server=192.168.1.14(服務端地址)
ServerActive=192.168.1.14(服務端地址)
Hostname = 192.168.1.15(客戶端地址)
#同時cp zabbix_agentd啟動指令碼至/etc/init.d/目錄,啟動zabbix_agentd服務即可, Zabbix_agentd預設監聽埠為10050。
cd zabbix-3.2.6
cp misc/init.d/tru64/zabbix_agentd/etc/init.d/zabbix_agentd
chmod o+x /etc/init.d/zabbix_agentd
/etc/init.d/zabbix_agentd start