CentOS 6.4 x64 zabbix 2.2.2 編譯安裝

丶小炒肉發表於2016-05-31

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代理  模式    預設為 主動模式

相關文章