A. 服務端安裝配置
1.下載zabbix 2.x 最新版本
http://www.zabbix.com/download.php
2.安裝配置所需要軟體(zabbix需要一個lamp環境) 使用 yum 安裝既可
yum -y install httpd php php-devel php-gd php-bcmath php-mbstring mysql mysql-devel mysql-serverphp-xml php-mysql gd net-snmp net-snmp-devel net-snmp-utils curl-devel
chkconfig httpd on
chkconfig mysqld on
chkconfig snmpd on
3.建立使用者zabbix
useradd zabbix
4. 安裝zabbix
tar zxvf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2
./configure --prefix=/opt/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make install
建立mysql資料庫
mysql -uroot -p123456
create database zabbix character set utf8;
use zabbix
source schema.sql
source images.sql
source data.sql
配置zabbix連線資料庫選項
vi /opt/local/zabbix/etc/zabbix_server.conf
DBHost=localhost
DBUser=zabbix
DBPassword=123456
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
啟動zabbix
/opt/local/zabbix/sbin/zabbix_server
配置zabbix web管理介面
mkdir /opt/htdocs/zabbix
cp -a /opt/software/zabbix-2.2.2/frontends/php/* /opt/htdocs/zabbix/
chown -R apache:apache /opt/htdocs/zabbix/
httpd 配置一個虛擬主機
訪問 http://localhost/setup.php 進行安裝
然後下一步 會對 php 的引數有要求~安裝要求進行修改 php.ini
然後下一步 按照要求配置引數
完全以後!!
通過web登入,預設使用者:admin 密碼:zabbix
如需要顯示中文可通過:右上角“Profile”--"Language" 選擇“chinese(zh_CN)”之後儲存
B. 客戶端安裝配置
1.下載zabbix 2.x 最新版本客戶端 agents
http://www.zabbix.com/download.php
http://www.zabbix.com/downloads/2.2.1/zabbix_agents_2.2.1.linux2_6.i386.tar.gz
useradd zabbix
mkdir /opt/local/zabbix
tar zxvf zabbix_agents_2.0.0.linux2_6.i386.tar.gz -C /opt/local/zabbix/
cd /opt/local/zabbix/conf
修改下面的配置檔案
vi zabbix_agentd.conf
Server= xxx.xxx.xxx.xxx
修改為服務端的IP
然後啟動 agent 服務
/opt/local/zabbix/sbin/zabbix_agentd -c /opt/local/zabbix/conf/zabbix_agentd.conf
( 在64系統裡執行32位程式如果出現/lib/ld-linux.so.2:
bad ELF interpreter: No such file or directory,安裝下glic即可
yum install glibc.i686 )
netstat -nlp | grep zabbix_agentd
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 11174/zabbix_agentd
--------------------------------------------------------------------------------------
zabbix 之郵件報警
安裝msmtp
首先需要下載msmtp這個元件,可以從這裡下載(http://msmtp.sourceforge.net/)
http://sourceforge.net/projects/msmtp/files/msmtp/
tar jxvf msmtp-1.4.31.tar.bz2
cd msmtp-1.4.31
./configure && make && make install
cd /opt/local/zabbix
vi .msmtprc
------------------------------------------------------
account zabbix #呼叫時的使用者
host smtp.qq.com #郵件伺服器
port 25
from jicki@qq.com
auth login #驗證方式
tls off #不使用tls
user jicki@qq.com
password xxxxxxx
logfile /var/log/zext_msmtp.log #記錄日誌
------------------------------------------------------
touch /var/log/zext_msmtp.log
chown zabbix:zabbix /var/log/zext_msmtp.log
chmod 0600 /opt/local/zabbix/.msmtprc
chown zabbix:zabbix /opt/local/zabbix/.msmtprc
配置好msmtprc 以後.. 配置 郵件傳送指令碼
vi /usr/bin/zext_msmtp.sh
----------------------------------------------------------------------------------------------
#! /bin/sh
DEBUG=1
if [ $DEBUG -gt 0 ]
then
exec 2>>/var/log/zext_msmtp.log
set -x
fi
FROM='jicki@qq.com'
MSMTP_ACCOUNT='zabbix'
# Parameters (as passed by Zabbix):
# $1 : Recipient
# $2 : Subject
# $3 : Message
recipient=$1
subject=$2
message=$3
date=`date --rfc-2822`
sed 's/$/\r/' <<EOF | /usr/local/bin/msmtp --account $MSMTP_ACCOUNT $recipient
From: <$FROM>
To: <$recipient>
Subject: $subject
Date: $date
$message
EOF
---------------------------------------------------------------------------------------------
chmod 755 /usr/bin/zext_msmtp.sh
chown zabbix:zabbix /usr/bin/zext_msmtp.sh
(注: 出現 msmtp: account zabbix not found: no configuration file available 的錯誤)
使用 msmtp -P 檢視 配置檔案的位置
[root@localhost log]# msmtp -P
ignoring system configuration file /usr/local/etc/msmtprc: No such file or directory
ignoring user configuration file /root/.msmtprc: No such file or directory
falling back to default account
msmtp: account default not found: no configuration file available
將配置檔案放在其中一個地方 然後授權 zabbix 下使用者的許可權 否則問題依舊
chown zabbix:zabbix /usr/local/etc/msmtprc
完成以後!!就在 Web -- > 管理 -- > 示警媒介型別 -- > 建立媒體型別
名稱 zext_msmtp
型別 指令碼
指令碼名稱 zext_msmtp.sh
然後在右上角 基本資料 -- > 示警媒介 -- > 新增
型別 zext_msmtp
收件人 jicki@qq.com
當作用中時 預設
用此如果示警度 全選
狀態 已啟用
可以新增多個
---------------------------------------------------------------------------------------
zabbix 之手機簡訊報警
首先 拿到公司的簡訊介面 嘿嘿!!!
我們公司的簡訊介面是PHP的~所有就讓PHP開發部給一個簡訊介面
http://xxxx.com/xxx/send.php
然後用一個 python 的指令碼
指令碼內容
----------------------------------------------------------------------------------------
#!/usr/bin/env python
#fileencoding:utf-8
URL = 'http://xxxx.com/xxx/send.php'
import sys
import urllib
import urllib2
import time
def sendsms(mobile,content):
content = '[%s] %s' % (time.strftime('%Y%m%d %H:%M:%S'),content)
data = {'mobile':mobile,'content':content}
body = urllib.urlencode(data)
request = urllib2.Request(URL,body)
urldata = urllib2.urlopen(request)
#print urldata.read()
if __name__ == '__main__':
sendsms(sys.argv[1],sys.argv[2])
----------------------------------------------------------------------------------------
儲存為 send.py 並授權 /opt/local/zabbix/share/zabbix/alertscripts/send.py
chmod +x /opt/local/zabbix/share/zabbix/alertscripts/send.py
完成以後!!就在 Web -- > 管理 -- > 示警媒介型別 -- > 建立媒體型別
名稱 SMS
型別 指令碼
指令碼名稱 send.py
然後在右上角 基本資料 -- > 示警媒介 -- > 新增
型別 SMS
收件人 18888888888
當作用中時 預設
用此如果示警度 選擇比較緊急的
狀態 已啟用
可以新增多個
-------------------------------------------------------------------------------------
zabbix的監控Mongodb
在安裝有Mongodb的機器上配置如下:
vi zabbix_agentd.conf
UserParameter=MongoDB.Status[*],/bin/echo "db.serverStatus().$1" | /opt/local/mongodb/bin/mongo admin | grep "$2"| awk -F: '{print $$2}'|awk -F, '{print $$1}'
注: 注意Mongodb 安裝路徑
儲存修改以後~重啟 zabbix_agentd 服務
--------------------------------------------------------------------------------------
Web 上配置 Mongodb 監控模板 模板在附件 組態 --> 模板 ---> 匯入
然後檢視模板 編輯 專案 將模式 改成 Agent代理 模式 預設為 主動模式