1. Zabbix 簡介
Zabbix 是一個高度集成的網絡監控解決方案,可以提供企業級的開源分布式監控解決方案,由一個國外的團隊持續維護更新,軟件可以自由下載使用,運作團隊靠提供收費的技術支持贏利。
官方網站:http://www.zabbix.com
1.1 zabbix模式
Zabbix 通過 C/S 模式采集數據,通過 B/S 模式在 web 端展示和配置。
被監控端:主機通過安裝 agent 方式采集數據,網絡設備通過 SNMP 方式采集數據
Server 端:通過收集 SNMP 和 agent 發送的數據,寫入數據庫(MySQL,ORACLE 等),再通過 php+apache 在 web 前端展示。
1.2 Zabbix 運行條件:
Server:Zabbix Server 需運 行在 LAMP( Linux+Apache+Mysql+PHP)環 境下( 或者LNMP),對硬件要求低
Agent:目前已有的 agent 基本支持市面常見的 OS,包含 Linux、HPUX、Solaris、Sun、windows
SNMP:支持各類常見的網絡設備
2.優劣勢
優點:
開源,無軟件成本投入
Server 對設備性能要求低
支持設備多,自帶多種監控模板
支持分布式集中管理,有自動發現功能,可以實現自動化監控
開放式接口,擴展性強,插件編寫容易
當監控的 item 比較多服務器隊列比較大時可以采用被動狀態,被監控客戶端主動從server 端去下載需要監控的 item 然后取數據上傳到 server 端。這種方式對服務器的負載比較小。
Api 的支持,方便與其他系統結合
缺點:
需在被監控主機上安裝 agent,所有數據都存在數據庫里,產生的數據據很大,瓶頸主要在數據庫。
實驗環境:
物理主機 redhat7.0 內核版本 3.10.0-123.el7.x86_64
虛擬機 redhat6.5 內核版本 2.6.32-431.el6.x86_64
服務器端: server1.example.com 172.25.254.1
客戶端: server2.example.com 172.25.254.2
所需軟件包:
zabbix-2.4.5-1.el6.x86_64.rpm
zabbix-server-2.4.5-1.el6.x86_64.rpm
zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm
zabbix-web-2.4.5-1.el6.noarch.rpm
zabbix-web-mysql-2.4.5-1.el6.noarch.rpm
zabbix-agent-2.4.5-1.el6.x86_64.rpm
fping-2.4b2-16.el6.x86_64.rpm
iksemel-1.4-2.el6.x86_64.rpm
iksemel-utils-1.4-2.el6.x86_64.rpm
php-mbstring-5.3.3-26.el6.x86_64.rpm
php-bcmath-5.3.3-26.el6.x86_64.rpm
一.服務器端配置
Zabbix 需要 lamp 環境:
1. 安裝 zabbix 所需軟件包
zabbix-2.4.5-1.el6.x86_64.rpm
zabbix-server-2.4.5-1.el6.x86_64.rpm
zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm
zabbix-web-2.4.5-1.el6.noarch.rpm
zabbix-web-mysql-2.4.5-1.el6.noarch.rpm
zabbix-agent-2.4.5-1.el6.x86_64.rpm
fping-2.4b2-16.el6.x86_64.rpm
iksemel-1.4-2.el6.x86_64.rpm
iksemel-utils-1.4-2.el6.x86_64.rpm
php-mbstring-5.3.3-26.el6.x86_64.rpm
php-bcmath-5.3.3-26.el6.x86_64.rpm
2. 配置 mysql 數據庫
# service mysqld start
# mysql
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'willis';
mysql> quit;
# cd /usr/share/doc/zabbix-server-mysql-2.4.5/create
# mysql -uzabbix -pwestos zabbix < schema.sql
## stop here if you are creating database for Zabbix proxy ##
# mysql -uzabbix -pwestos zabbix < p_w_picpaths.sql
# mysql -uzabbix -pwestos zabbix < data.sql
3. 配置 zabbix server
[root@server1 create]# vim /etc/zabbix/zabbix_server.conf
72 DBHost=localhost
82 DBName=zabbix
106 DBPassword=willis
163 StartTrappers=10
4. 配置 php
[root@server1 conf.d]# vim /etc/php.ini
946 date.timezone = Asia/Shanghai
[root@server1 conf.d]# pwd
/etc/httpd/conf.d
[root@server1 conf.d]# vim zabbix.conf
13 php_value max_execution_time 300
14 php_value memory_limit 128M
15 php_value post_max_size 16M
16 php_value upload_max_filesize 2M
17 php_value max_input_time 300
18 php_value date.timezone Asia/Shanghai
5. 啟動 zabbix server、zabbix agent、httpd
# service httpd start
# service zabbix-server start
# service zabbix-agent start
6. 登陸 zabbix web
http://172.25.254.1/zabbix 按照提示完成安裝并登陸:
Username: Admin
Password: zabbix
可以看到 Zabbix server is running 狀態值為Yes.服務端部署完成。
二.被監控端配置(server2)
7. 添加 agent 主機
7.1在被監控端安裝軟件包:
zabbix-2.4.5-1.el6.x86_64.rpm
zabbix-agent-2.4.5-1.el6.x86_64.rpm
7.2配置 zabbix agent
# vim /etc/zabbix/zabbix_agentd.conf
85 Server=172.25.254.1
126 ServerActive=172.25.254.1
137 Hostname=server2.example.com #主機名需要有解析
7.3啟動 zabbix agent
[root@server2 zabbix]# /etc/init.d/zabbix-agent restart
網頁端配置:
Configuration ->Discovery
8. 在 zabbix server 上激活 zabbix agent 自動注冊功能
點擊 Configuration -> Actions ->Auto registration ->Create action 按下圖所示設置:
自定義 Action 的名字。
Conditions 選項卡保持默認即可。
Operations 選項卡添加如下:
Add host:自動注冊主機添加到 hosts 列表
Add to host groups:自動注冊主機加入 linux servers 組(組名可以自定義)
Link to templates:自動注冊主機應用模板 Template OS linux
點擊 Configuration -> Hosts 可以看到新加的主機:
三. 添加http服務監控
Zabbix 的更多功能值得大家一起研究和分享。
來看看 zabbix 是怎樣添加服務監控項的,利用 zabbix 自帶的監控模版,以 http 服務為例:
點擊 Configuration -> Templates 選擇需要鏈接的模版
也可以在 Configuration -> Hosts -> server2.example.com -> Templates 選擇需要的模版
這樣主機 server2.example.com 的監控項中就出現了 HTTP 服務
四.監控遠程主機Mysql服務
在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何獲取 mysql服務的各種信息,并在/var/lib/zabbix 目錄中新建“.my.cnf”文件,用以指定 zabbix agent 如何登陸數據庫,默認使用的是 zabbix 用戶,可以在 zabbix_server.conf 文件中找到密碼。
[root@server2 zabbix]# yum install mysql-server -y
[root@server2 zabbix]# /etc/init.d/mysqld start
[root@server2 zabbix]# mysql_secure_installation
###初始化數據庫 ,我把數據庫密碼改成了willis
[root@server2 zabbix]# mkdir /var/lib/zabbix
[root@server2 zabbix]# cp /etc/my.cnf /var/lib/zabbix/.my.cnf
[root@server2 zabbix]# vim /var/lib/zabbix/.my.cnf
[mysql]
host = localhost
user = zabbix
password = willis
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = zabbix
password = willis
socket = /var/lib/mysql/mysql.sock
監控遠程主機的 mysql 服務需要創建 zabbix 用戶并授權,本機監控則不需要。
mysql> grant select on *.* to 'zabbix'@'localhost' identified by 'willis';
[root@server2 zabbix]# mysql -uzabbix -pwillis
[root@server2 zabbix]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
鏈接 mysql 監控模版:
點擊 Configuration -> Hosts -> server2.example.com-> Graphs 可以看到兩個新的監控圖形
過一會可以看到監控的圖形變化
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。