zabix簡介
zabbix(音同 z?bix)是一個基於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等平臺上。
實驗環境:Centos6.5
一、配置一個lamp平臺
安裝php-fpm、mysql-server、httpd、php-mysql
修改php-ini配置文件
date.timezone = Asia/Shanghai
啓動mysql服務,並創建一個zabbix的數據庫,並完成授權
mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on zabbix.* to 'zbxuser'@'localhost' identified by 'zbxpass';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on zabbix.* to 'zbxuser'@'127.0.0.1' identified by 'zbxpass';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
二、安裝並配置zabbix-server
在server上安裝如下zabbix包(這裏安裝的是zabbix2.4的包,包需要在噶un放網站下載,前提配置好yum源)
# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-get-2.4.0-1.el6.x86_64.rpm zabbix-sender-2.4.0-1.el6.x86_64.rpm zabbix-server-2.4.0-1.el6.x86_64.rpm zabbix-server-mysql-2.4.0-1.el6.x86_64.rpm zabbix-web-2.4.0-1.el6.noarch.rpm zabbix-web-mysql-2.4.0-1.el6.noarch.rpm
編譯zabbix的配置文件
1、#vim zabbix_server.conf
修改如下項
DBHost=172.16.1.1 //數據庫服務器的IP地址
DBName=zabbix //數據庫的名稱
DBUser=zbxuser //連接數據庫服務器的用戶名
DBPassword=zbxpass //連接數據庫服務器的用戶密碼
2、爲zabbix數據庫導入基礎信息
使用命令
#mysql zabbix < schema.sql
3、啓動服務
#service httpd start
#service php-fpm start
#service zabbix-server start
4、在瀏覽器輸入172.16.1.1對zabbix服務的web頁面進行初始化
5、爲server端配置agent使其能監控自己
#vim zabbix_agent.conf
修改如下項:
Server=127.0.0.1,172.16.1.1 //允許來拉取數據的主機的IP地址
ServerActive=127.0.0.1,172.16.1.1 //主動通知來拉取數據的主機的IP地址(只有server與agent在同一主機時纔有127.0.0.1)
Hostname=server.zhou.com //需與主機名保持一致
**************************************************
主機名修改方法:
#vim /etc/hosts
#vim /etc/sysconfig/network
#hostname New-HostName
****************************************************
此時server會自動將本機的agent添加進去
三、創建一個獨立的agent端
安裝的包:
# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-sender-2.4.0-1.el6.x86_64.rpm
配置文件修改內容同上
添加主機:
四、配置zabbi-proxy代理server的
安裝的包:zabbix-2.4.0-1.el6.x86_64.rpm zabbix-proxy zabbix-proxy-mysql
編輯配置文件“
#vim /etc/zabbix/zabbix_proxy.conf
Server=172.16.1.1 //*zabbix server的ip地址或主機名 Hostname=node2.zhou.com //*該主機名的配置需被zabbix server知道,並且在zabbix server前端配置時會用到 LogFile=/tmp/zabbix_proxy.log //pid文件的存放位置 DBName=zabbix_proxy //* DBUser=zabbix //* DBPassword=123456 //* ConfigFrequency=60 //zabbix proxy 想服務器檢索配置數據信息的頻率,在被動模式下該參數將被忽略 DataSenderFrequency=60 //zabbix proxy發送收集的數據給zabbix server的頻率
***上述帶'*'的是必須修改的***
啓動服務在,在web頁面上添加即可
五、自定義各項參數
由於在生產環境中自帶的模版並不能完全滿足我們的需求,所以我們需要自己定義鍵,模版等。
1、如何自定義鍵?
修改配置文件,啓動自定義鍵這一項
UnsafeUserPaameters=1
其餘可以不用修改
在文件/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf中添加如下內容
UserParameter=count.line.passwd,wc -l /etc/passwd|awk '{print $1}'
重啓客戶端,在命令行上測試鍵是否可用
**zabbix_get的用法使用zabbix_get -h
2、如何自定義模版?
如果有大量的同一類設備,需要監控的信息也大致類似,一個個去修改相關參數比較麻
煩,我們可以通過創建一個 template 來簡化操作。
Configuration->Host Groups->Template->Create Template
登入web界面,點擊Configuration中的Templates的Create template
需要的參數按自己的需要填寫
3、添加triggers
****添加Name,自己選定item ,定義報警範圍Function 設置值
4、添加用戶,並賦予相應的權限:
**這裏的收家人可以是多個,報警級別可以自己選擇(可多選),Type可以自己定義
**這裏需要特別注意的是如果用戶沒有相應的權限會導致報警時的郵件我要發送達
5、定義media
Media,即告警方式,Zabbix 可以提供四類 Media:Email/SMS/Jabber/Script,通過
Administrator->Media Type 來修改或新增告警方式
Email 方式最常用的,填入相關的 SMTP 信息,即可通過郵件方式發送告警。