zabbix簡介
zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各種問題。zabbix由2部分構成,zabbix server與可選組件zabbix agent。zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺上。zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。zabbix agent可以運行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系統之上。zabbix server可以單獨監視遠程服務器的服務狀態;同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監視數據(trapping方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。另外zabbix server還支持SNMP (v1,v2),可以與SNMP軟件(例如:net-snmp)等配合使用。
zabbix的主要特點:
- 安裝與配置簡單,學習成本低
- 支持多語言(包括中文)
- 免費開源
- 自動發現服務器與網絡設備
- 分佈式監視以及WEB集中管理功能
- 可以無agent監視
- 用戶安全認證和柔軟的授權方式
- 通過WEB界面設置或查看監視結果
- email等通知功能等等
Zabbix主要功能:
- CPU負荷
- 內存使用
- 磁盤使用
- 網絡狀況
- 端口監視
- 日誌監視
一. 安裝LNMP環境
安裝php的時候注意,以下是需要修改的php參數及添加的擴展,第一張表是我初次安裝時候顯示的表,有很多參數及擴展沒安裝,需要一一修改與安裝,直到最都顯示OK才能下一步, 如第二張表。
PHP version | 5.4.5 | 5.1.6 | OK |
PHP option memory_limit | 128M | 128M | OK |
PHP option post_max_size | 16M | 16M | OK |
PHP option upload_max_filesize | 2M | 2M | OK |
PHP option max_execution_time | 300 | 300 | OK |
PHP option max_input_time | 300 | 300 | OK |
PHP time zone | UTC | OK | |
PHP databases support | SQLite3 | OK | |
PHP bcmath | no | Fail | |
PHP mbstring | yes | OK | |
PHP sockets | no | Fail | |
PHP gd | unknown | 2.0 | Fail |
PHP gd PNG support | no | Fail | |
PHP gd JPEG support | no | Fail | |
PHP gd FreeType support | no | Fail | |
PHP libxml | 2.8.0 | 2.6.15 | OK |
PHP xmlwriter | yes | OK | |
PHP xmlreader | yes | OK | |
PHP ctype | yes | OK | |
PHP session | yes | OK | |
PHP session auto start | no | OK | |
PHP gettext | no | Fail |
PHP version | 5.4.5 | 5.1.6 | OK |
PHP option memory_limit | 128M | 128M | OK |
PHP option post_max_size | 16M | 16M | OK |
PHP option upload_max_filesize | 2M | 2M | OK |
PHP option max_execution_time | 300 | 300 | OK |
PHP option max_input_time | 300 | 300 | OK |
PHP time zone | UTC | OK | |
PHP databases support | MySQL | OK | |
PHP bcmath | yes | OK | |
PHP mbstring | yes | OK | |
PHP sockets | yes | OK | |
PHP gd | 2.0.34 | 2.0 | OK |
PHP gd PNG support | yes | OK | |
PHP gd JPEG support | yes | OK | |
PHP gd FreeType support | yes | OK | |
PHP libxml | 2.8.0 | 2.6.15 | OK |
PHP xmlwriter | yes | OK | |
PHP xmlreader | yes | OK | |
PHP ctype | yes | OK | |
PHP session | yes | OK | |
PHP session auto start | no | OK | |
PHP gettext | yes | OK |
二、zabbix(server,agent)配置:
server: 192.168.1.155
agent: 192.168.1.156
簡單提下,其實是服務端安裝zabbix_server,zabbix_agentd兩個服務,客戶端只需安裝zabbix_agentd一個服務,監控原理其實就是zabbix_agentd服務將從系統中獲取的相關數據傳送給zabbix_server服務,然後zabbix_server服務將數據以PHP頁面顯示出來,很好理解。
(server)表示僅服務端配置
(agent)表示僅客戶端配置
(server,agent)表示客戶端與服務端都需配置
1.下載zabbix(server,agent)
這裏下載的是官方2.0.8的服務端與客戶端的穩定整合編譯包,所以後面編譯的時候注意,以–enable-server –enable-agent參數編譯的爲服務器端,以–enable-agent參數編譯的爲客戶端。
# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.8/zabbix-2.0.8.tar.gz/download
2.安裝zabbix所需的組件(server,agent)
# yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI
3.創建用戶賬號(server,agent)
# groupadd zabbix
# useradd -g zabbix zabbix
4.創建zabbix數據庫並導入zabbix數據庫數據(server)
# mysql -u root
> grant all on zabbix.* to zabbix@localhost identified by ‘zabbix’;
> create database zabbix;
# tar zxvf zabbix-2.0.8.tar.gz
# cd zabbix-2.0.8
# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
5.編譯安裝(server,agent)
server: (192.168.1.155)
# ./configure –prefix=/usr/local/services/zabbix-2.0.8 –enable-server –enable-agent –with-mysql –with-net-snmp –with-libcurl
# cd /usr/local/services/
# ln -s zabbix-2.0.8 zabbix
server: (192.168.1.156)
# ./configure –prefix=/usr/local/services/zabbix-2.0.8 –enable-agent
# make install
# cd /usr/local/services/
# ln -s zabbix-2.0.8 zabbix
6.編輯配置文件(server,agent) (192.168.1.155)
# cd /usr/local/services/zabbix/etc/
# vi /usr/local/etc/zabbix_server.conf
修改如下內容:
————-
LogFile=/data/logs/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
————-
# vi /usr/local/etc/zabbix_agentd.conf
修改如下內容:
————-
LogFile=/data/logs/zabbix/zabbix_agentd.log
Server=127.0.0.1
UnsafeUserParameters=1
————-
agent: (192.168.1.156)
# vi /usr/local/etc/zabbix_agentd.conf
修改如下內容並刪除其他未修改參數條目:
————-
LogFile=/data/logs/zabbix/zabbix_agentd.log
Server=192.168.1.155
UnsafeUserParameters=1
————-
# chown zabbix.zabbix /data/logs/zabbix/
7、啓動守護進程(server,agent)
在服務器端運行啓動zabbix_server
# zabbix_server
server啓動端口爲10051
在所有被監控的機器上運行zabbix_agentd 。
# zabbix_agentd
agentd啓動端口爲10050
8、通過瀏覽器安裝
http://192.168.1.155/setup.php
默認用戶名Admin, 密碼zabbix, 登陸後發現有中文支持,牛X