天天看點

Zabbix-2.4.3監控系統安裝配置

Zabbix-2.4.3監控系統安裝配置

環境

作業系統:Red Hat Enterprise Linux Server release 6.4 (Santiago) 32位

zabbix版本:zabbix-2.4.3.tar.gz

一、zabbix WEB環境搭建

zabbix的安裝需要LAMP或者LNMP環境。

#yum install httpd mysql mysql-server mysql-devel gcc net-snmp-devel curl-devel perl-DBI php php-gd php-mysql php-xml -y

#chkconfig mysqld on

#chkconfig httpd on

#cd /opt/rpm

将rpm檔案夾上傳到/opt目錄下(由于預設安裝PHP版本為php-5.3.3-22.el6.i686

是以需要下載下傳php-mbstring-5.3.3-22.el6.i686.rpm php-bcmath-5.3.3-22.el6.i686.rpm,下載下傳位址:

http://rpm.pbone.net/index.php3?stat=26&dist=74&size=464260&name=php-mbstring-5.3.3-22.el6.i686.rpm

http://rpm.pbone.net/index.php3?stat=26&dist=74&size=33768&name=php-bcmath-5.3.3-22.el6.i686.rpm)

#yum localinstall php-mbstring-5.3.3-22.el6.i686.rpm php-bcmath-5.3.3-22.el6.i686.rpm

二、zabbix 資料庫設定

登入資料庫,建立帳号和設定權限:

#service mysqld restart

#mysql -uroot -S /var/lib/mysql/mysql.sock

mysql>use mysql;

mysql>delete from user where user='';

mysql>create database zabbix character set utf8;

mysql>grant all privileges on *.* to root@'%' identified by 'root' with grant option;

mysql>grant all privileges on zabbix.* to zabbix@'192.168.1.101' identified by 'zabbix';

mysql>flush privileges;

注:192.168.1.101為zabbix伺服器的IP位址。

三、安裝zabbix服務(192.168.1.101)

1、增加zabbix使用者群組

#groupadd zabbix

#useradd -g zabbix -m zabbix

2、将從官網下載下傳的zabbix上傳到/opt下

官網下載下傳位址:http://sourceforge.net/projects/zabbix/files/latest/download

#cd /opt

#tar -zxvf zabbix-2.4.3.tar.gz

3、導入資料庫表(按一下循序依次進行)

#cd /opt/zabbix-2.4.3/database/mysql

#mysql -uroot -S /var/lib/mysql/mysql.sock zabbix < schema.sql

#mysql -uroot -S /var/lib/mysql/mysql.sock zabbix < images.sql 

#mysql -uroot -S /var/lib/mysql/mysql.sock zabbix < data.sql

4、編譯安裝zabbix

#cd /opt/zabbix-2.4.3/

#./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy

#make

#make install

5、添加服務端口

#vim /etc/services

zabbix-agent 10050/tcp # Zabbix Agent

zabbix-agent 10050/udp # Zabbix Agent

zabbix-trapper 10051/tcp # Zabbix Trapper

zabbix-trapper 10051/udp # Zabbix Trapper

6、修改server配置檔案,添加zabbix資料庫密碼

#vim /usr/local/zabbix/etc/zabbix_server.conf

LogFile=/tmp/zabbix_server.log

PidFile=/tmp/zabbix_server.pid

DBHost=192.168.1.101

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix #zabbix資料庫密碼

ListenIP=192.168.1.101 #zabbix伺服器IP位址

檢視修改結果:

#cat /usr/local/zabbix/etc/zabbix_server.conf|grep -Ev ^#|grep -v ^$

7、修改Agentd配置檔案,更改HOSTNAME為本機的hostname

#vi /usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/tmp/zabbix_agentd.pid #程序PID

LogFile=/tmp/zabbix_agentd.log #日志儲存位置

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

UnsafeUserParameters=1 #啟用自定義key

EnableRemoteCommands=1 #允許執行遠端指令

Server=192.168.1.101 #server端IP位址

# ServerActive=127.0.0.1 #登出自動注冊

Hostname=192.168.1.101#被監控端的IP

#cat /usr/local/zabbix/etc/zabbix_agentd.conf|grep -v ^#|grep -v ^$

8、添加web前端php檔案

#cd /opt/zabbix-2.4.3/frontends/

#cp -rf php /var/www/html/zabbix #虛拟主機目錄

#cd /var/www/html/

#chown -R zabbix:zabbix /var/www/html/zabbix

9、web前端安裝配置

修改PHP相關參數

#vi /etc/php.ini

max_execution_time = 300

max_input_time = 600

memory_limit = 128M

post_max_size = 32M

date.timezone = Asia/Shanghai

mbstring.func_overload=0

修改hosts

#vi /etc/hosts

192.168.1.101 zabbix

修改主機名(若不用本地郵箱發報警資訊,可省略)

#vi /etc/sysconfig/networkx

NETWORKING=yes

HOSTNAME=zabbix.nagiosa.com

修改httpd.conf

#vi /etc/httpd/conf/httpd.conf

ServerName 192.168.1.101:80

重新開機apache

#service httpd restart

10、為zabbix的啟動、關閉和重新開機的腳本檔案做連結,友善系統可以找得到

#cd /usr/local/zabbix/bin/

#for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done

#cd /usr/local/zabbix/sbin/

#for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done

11、把mysql的lib庫檔案添加到系統動态庫配置檔案中,友善系統可以找到mysql的lib庫。   

#echo "/usr/lib64/mysql/" >>/etc/ld.so.conf

#ldconfig   //使上面的操作立即生效

12、将zabbix相關的啟動腳本等檔案拷貝的/etc/init.d/下,友善日後對zabbix的啟動關閉操作

#cp /opt/zabbix-2.4.3/misc/init.d/fedora/core/zabbix_server /etc/init.d/

#chmod +x /etc/init.d/zabbix_server #賦予可執行權限

#cp /opt/zabbix-2.4.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

#chmod +x /etc/init.d/zabbix_agentd

修改zabbix server和agentd程式目錄的位置:

#vi /etc/init.d/zabbix_server

progdir="/usr/local/zabbix/sbin/" 

BASEDIR=/usr/local/zabbix

#vi /etc/init.d/zabbix_agentd

progdir="/usr/local/zabbix/sbin/"

13、添加開機啟動服務

#chkconfig --add zabbix_server

#chkconfig --add zabbix_agentd

#chkconfig --level 345 zabbix_server on

#chkconfig --level 345 zabbix_agentd on

14、在用戶端浏覽器上面通路zabbix,開始WEB的前端配置

http://ZabbixIP/zabbix,按提示點選下一步

Step1:下一步。

Step2:如果全部OK的話才能進行下一步的安裝,如果有錯誤請傳回到server端檢查相關的軟體包是否安裝。

Step3:需要輸入mysql資料庫帳号密碼,如果資料庫不在zabbix伺服器上面,在Host裡面添加資料庫伺服器的位址,并且要用grant指令給資料庫授權。

Step4:輸入伺服器端hostname或者IP,端口預設,name預設無;

Step5:若會提示fail,按頁面上的提示下載下傳配置檔案到zabbix伺服器上的/var/www/html/zabbix/conf下,名字一定要是zabbix.conf.php,然後點選Retry

配置完成後出現登陸界面,預設的使用者名為:admin,密碼為:zabbix。

四、更改zabbix預設語言為簡體中文、替換監控圖像上系統預設的中文字型

1、修改系統配置檔案,讓web頁面支援簡體中文顯示

#vi /var/www/html/zabbix/include/locales.inc.php #編輯修改

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),

修改為

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

2、替換監控圖像上系統預設的字型(預設字型不支援中文,如果不替換,圖像上會顯示亂碼)

在Windows系統中的C:\Windows\Fonts目錄中複制出一個中文字型檔案,例如simkai.ttf(楷體)

把字型檔案simkai.ttf上傳到zabbix站點根目錄下/var/www/html/zabbix/fonts檔案夾中

備份預設的字型檔案

#cd /var/www/html/zabbix/fonts

#mv DejaVuSans.ttf DejaVuSans.ttf.bak

修改simkai.ttf名稱為DejaVusSans.ttf

#mv simkai.ttf DejaVuSans.ttf

3、在浏覽器中打開:

http://192.168.105.107/zabbix

點選頁面右上角的Profile

選中Language:Chinese(zh_CN)  #簡體中文

點update儲存

預設界面已經是中文顯示

至此,Zabbix安裝圖解教程完成。

五、禁用顯示“install”選項

在zabbix初始安裝完成後,管理界面上的“configuration”中還有一個頁面是“install”選項,存在誤操作重新安裝的風險,通過修改menu.inc.php檔案可以禁用該顯示項目

#vi /var/www/html/zabbix/include/menu.inc.php --注釋如下幾行

#,array(

#       'url' => 'setup.php',

#       'label' => _('Installation')

#)

六、被監控端配置agent(192.168.1.200)

在此伺服器上Zabbix agent不能通過root使用者執行,需建立一個單獨使用者運作zabbix agent

#useradd -s /sbin/nologin  zabbix

1、将從官網下載下傳的zabbix上傳到192.168.1.200的/opt下

#rm -rf zabbix-2.4.3.tar.gz

#cd zabbix-2.4.3/

2、編譯安裝zabbix

#./configure --prefix=/usr/local/zabbix  --enable-agent 

#

3、添加服務端口

4、修改Agentd配置檔案

Hostname=192.168.1.200 #被監控端的IP

修改完檢視:

5、修改hosts

192.168.1.200 Redhata

6、為zabbix的啟動、關閉和重新開機的腳本檔案做連結,友善系統可以找得到

7、将zabbix相關的啟動腳本等檔案拷貝的/etc/init.d/下,友善日後對zabbix的啟動關閉操作

8、修改agentd程式目錄的位置:

9、添加開機啟動服務

#service zabbix_agentd start

10、測試,下面的指令需要在server端執行,其中192.168.1.200是agent的ip

#/usr/local/zabbix/bin/zabbix_get -s192.168.1.200 -p10050 -k"system.uptime"

20310

七、解決zabbix 報警郵件以附件形式發送

1、yum install dos2unix

cd /usr/local/zabbix/share/zabbix/alertscripts

2、修改sendmail.sh

#!/bin/sh

echo "$3" > /tmp/1.txt

dos2unix /tmp/1.txt 

mail -s "$2" $1 < /tmp/1.txt

八、關于防火牆和selinux的設定,以下操作在被監控的Linux主機進行

1、在不關閉iptables防火牆的情況下配置防火牆,開啟10050、10051的TCP和UDP端口

vi /etc/sysconfig/iptables #編輯防火牆配置檔案

-A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT

-A INPUT -s 192.168.21.127 -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT

:wq! #儲存退出

service iptables restart #重新開機防火牆使配置生效

說明:192.168.21.127是Zabbix服務端的IP位址,表示端口隻對此IP開放,如果要對所有IP開放,規則如下:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT

2、關閉SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注釋掉

#SELINUXTYPE=targeted #注釋掉

SELINUX=disabled #增加

setenforce 0 #使配置立即生效

九、Zabbix通過Simple check 用ICMP ping來判斷主機是否存活的問題

  Zabbix使用fping處理ICMP ping的請求,需要安裝fping程式,安裝完畢之後需要在zabinx_server.conf中的參數FpingLocation配置fping安裝的路徑。

由于fping預設是root權限工作,而zabbix-server是zabbix使用者運作的,是以需要對fping程式設定setuid權限,如果在自定義key的時候需要用到netstat指令,也同樣要設定setuid,否則不能擷取到資料,而在日志中提示權拒絕。

如果不修改權限的話,會出現下面權限的問題

#fping 192.168.1.200

#fping: can't create raw socket (must run as root?) : Operation not permitted

1.fping安裝

# wget http://www.fping.org/dist/fping-3.10.tar.gz

# tar zxvf fping-3.10.tar.gz

# cd fping-3.10

# ./configure --prefix=/usr/local/fping/

# make && make install

2.修改zabbix_server.conf配置檔案

# vim /usr/local/zabbix/etc/zabbix_server.conf

把FpingLocation路徑修改為剛安裝的fping路徑。

 FpingLocation=/usr/local/fping/sbin/fping

如果不修改zabbix_server.conf配置件需要使用軟連接配接到/usr/local/sbin/fping,zabbix預設fping的路徑是/usr/sbin/fping

#ln -s /usr/sbin/fping /path/to/non-existant/fping

#ln -s /usr/sbin/fping6 /path/to/non-existant/fping6

# service zabbix_server restart  #重新開機服務

3.修改fping權限

# chown root:zabbix /usr/local/fping/sbin/fping

# chmod 4710 /usr/local/fping/sbin/fping

4.zabbix使用者測試fping指令

[zabbix@LS fping-3.10]$ /usr/local/fping/sbin/fping 192.168.1.200 

192.168.1.200  is alive   # 說明指令傳回成功。

10、zabbix伺服器端配置短信報警

1、修改zabbix_server.conf檔案

#vi /usr/local/zabbix/etc/zabbix_server.conf

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

2、建立短信告警腳本sendSMS.sh

#cd /usr/local/zabbix/share/zabbix/alertscripts

#vi sendSMS.sh --添加如下内容

#!/bin/bash

# Filename:    sendSMS.sh

# Revision:    1.0

# Date:        2015/01/19

# Author:      Likey

# Email:

# Website:     http://

# Description: zabbix短信告警腳本

# Notes:       短信網關使用了中國網建SMS短信通

# 腳本的日志檔案

LOGFILE="/tmp/SMS.log"

:>"$LOGFILE"

exec 1>"$LOGFILE"

exec 2>&1

# Uid和Key的值需要自行修改,http://www.smschinese.cn/api.shtml

# Uid 網站使用者名

# Key 接口秘鑰

Uid="xxxxx"

Key="xxxxxxxxxx" 

MOBILE_NUMBER=$1    # 手機号碼

MESSAGE_UTF8=$3        # 短信内容

XXD="/usr/bin/xxd"

CURL="/usr/bin/curl"

TIMEOUT=5 

# 短信内容要經過URL編碼處理,除了下面這種方法,也可以用curl的--data-urlencode選項實作。

MESSAGE_ENCODE=$(echo "$MESSAGE_UTF8" | ${XXD} -ps | sed 's/\(..\)/%\1/g' | tr -d '\n')

# SMS API

URL="http://utf8.sms.webchinese.cn/?Uid=${Uid}&Key=${Key}&ILE_NUMBER}&smsText=${MESSAGE_ENCODE}"

# Send itsmsMob=${MOB

set -x

${CURL} -s --connect-timeout ${TIMEOUT} "${URL}"

3、設定腳本和日志檔案權限:

#touch /tmp/SMS.log

#chown zabbix:zabbix /tmp/SMS.log

#chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendSMS.sh

#chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendSMS.sh

4、手動測試腳本:

#/usr/local/zabbix/share/zabbix/alertscripts/sendSMS.sh xxxxxxxxxxx "" "尊敬的客戶,您的訂單已出庫發貨,正在配送中,請您耐心等待。"

腳本第一個參數為手機号碼;第二個參數不會用到,設為空就行;第三個參數為短信内容。

注意:短信内容要符合要求,不要發送廣告或者聊天短信,否則賬戶可能會被禁用。實測這種訂單類短信是不會被屏蔽的。如果短信接收有很高的延遲,可以聯系客服。

腳本執行後,到日志檔案/tmp/SMS.log裡檢視傳回值,如果大于0代表發送成功,小于0發送失敗。

5、配置告警方式(Media types)

選擇【Administration】->【Media types】,建立短信告警方式:

注意,"Name"給告警方式起個名字,"Type"選擇Script類型,"Script name"填寫上面建立的腳本名。

6、配置使用者的手機号碼

選擇【Administration】->【Users】,進入使用者配置界面,在"Media"頁籤中配置使用者接收告警的手機号碼。點選"Add",在彈出的視窗中輸入使用者手機号

7、配置告警動作(Action)

選擇【Configuration】->【Actions】,進入告警動作配置界面,建立新的action。

官方資料:https://www.zabbix.com/documentation/2.2/manual/config/notifications/action

7.1、配置短信内容(Default message)

7.2、配置告警條件(Conditions)

7.3、配置告警接收人(Action operations)

本文轉自shangshanyang51CTO部落格,原文連結:http://blog.51cto.com/qqran/1917067 ,如需轉載請自行聯系原作者