環境:
CentOS 6.4 64bit
Zabbix 2.2.6
下載安裝包
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
主機IP:192.168.3.253
二、zabbix服務器端yum安裝 Apache、PHP、MySQL
安裝 Apache
yum install httpd httpd-manual
將 Apache 設置爲開機自動啓動
chkconfig httpd on
安裝 PHP
yum install php php-bcmath php-gd php-xml
安裝fping
wget http://fping.org/dist/fping-3.10.tar.gz
./configure
make && make install
##########################################################################################
編譯安裝PHP5.5.16和Nginx整合
cd /php-5.5.16/
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --with-bcmath --with-freetype-dir --with-gettext
make && make install
cd /usr/local/php/etc/
cp ./php-fpm.conf.default ./php-fpm.conf
cp /root/php-5.5.16/php.ini-production ./php.ini
vi ./php-fpm.conf
user = zabbix
group = zabbix (修改php-fpm的運行用戶,使得其和nginx的運行用戶一致,避免造成web無法訪問.php文件)
vi /etc/php.ini 找到如下幾項,改成下面的值,前面有;號的要刪掉
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
###########################################################################################
編譯安裝Nginx
./configure --prefix=/usr/local/nginx
make && make install
vi /usr/local/nginx/conf/nginx.conf
在server段中註明root /home/zabbix/www
location ~ \.php$ {
root /home/zabbix/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/zabbix/www$fastcgi_script_name; (紅色部分也可以用用$document_root表示)
include fastcgi_params;
}
###############################################################################################
安裝 MySQL
yum install mysql-server.x86_64 mysql.x86_64 php-mysql.x86_64 mysql-devel php-mysql mysql-libs
啓動 MySQL
service mysqld start
設置 MySQL root 密碼
mysql -uroot -p
mysql> UPDATE user SET password = PASSWORD('123456') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
設置MySQL開機自動啓動
chkconfig mysqld on
建立zabbix數據庫並設置zabbix賬戶及相關權限
mysql> use mysql;
mysql>create database zabbix character set utf8;
mysql>grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';
mysql>flush privileges;
導入zabbix數據
mysql>use zabbix
mysql>source /home/zabbix/schema.sql
mysql>source /home/zabbix/data.sql
mysql>source /home/zabbix/images.sql
三、安裝用於編譯 Zabbix 的軟件及庫
安裝 MySQL 的頭文件及庫文件
yum install mysql-devel.x86_64
安裝 net-snmp
yum install net-snmp net-snmp-devel net-snmp-utils
安裝 curl
yum install curl curl-devel
安裝 gcc
yum install gcc libgcc libgcc
安裝 make
yum install make
四、源碼編譯安裝zabbix
創建zabbix用戶和用戶組
groupadd zabbix
useradd -g zabbix -m zabbix
安裝zabbix
tar -xvf zabbix-2.2.4.tar.gz
cd zabbix-2.2.4
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make && make install
添加服務端口,添加後如下
vi /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
添加配置文件
mkdir -p /etc/zabbix
cp ./misc/conf/* /etc/zabbix
chown -R zabbix:zabbix /etc/zabbix
修改Server配置文件
基本不用修改,用默認配置即可,只需修改/etc/zabbix/zabbix_server.conf和zabbix_agentd.conf兩個文件裏面的一項DBPassword=密碼
vi /etc/zabbix/zabbix_server.conf
修改後內容如下:
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=123456
修改Agentd配置文件,更改HOST NAME 爲本機的hostname就好了
#vi /etc/zabbix/zabbix_agentd.conf
修改後內容如下
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1 #監控服務器的IP地址
Hostname=localhost #監控服務器的hostname
添加web前端php文件
cd frontends/
cp php/* /var/www/html/
chown -R zabbix:zabbix /var/www/html
web端安裝配置
修改php相關參數
vi /etc/php.ini 找到如下幾項,改成下面的值,前面有;號的要刪掉
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
重啓apache
service httpd restart
在瀏覽器上訪問Zabbis Serve地址http://ServerIP
按提示一步步操作,其中Step 3 必須全部項目OK後才能繼續配置,如有提示fail,則檢查是否安裝這個包或配置是否按前面的步驟修改
提示mbstring、xmlreader和xmlwriter不可用,需要安裝php-xml和mbstring
yum install –y php-xml php-mbstring就可以了
Step 4 填入Zabbix登陸mysql的用戶和密碼
host:localhost user:zabbix pass:123456
Step 7 按提示下載配置文件到Server的/var/www/html/conf下,名字必須爲zabbix.conf.php,當提示不能保存時,一般是目錄權限不夠,chmod修改目錄權限就可以。
配置完成後,出現登陸界面,默認的
用戶:admin,密碼:zabbix
現在看到的界面,本機的服務和監控是not running的,點擊Configuration、Hosts看到的Zabbix Server的Status狀態爲Not monitored,可以點擊Not monitored按鈕將其設置成Monitored。
##################################顯示中文#######################################################
如要設置中文,zabbix在後期版本已經將中文選項屏蔽,需要手動修改配置文件,再通過頁面設置:
1、修改zabbix的web端
vi /home/zabbix/www/include/locales.inc.php
將'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false)中的值false改爲true後保存。
2、點擊:右上角Profile,選擇Chinese(zh_CN),保存。
解決zabbix繪圖中出現中文亂碼問題:
a.從windows下控制面板->字體->選擇一種中文字庫,例如“微軟雅黑”
b.把它拷貝到zabbix的web端的fonts目錄下例如:/usr/local/apache2/htdocs/zabbix/fonts,並且把TTF後綴改爲ttf
c.修改zabbix的web端 include/defines.inc.php
vi /home/zabbix/www/include/defines.inc.php
搜索 'DejaVuSans'
用"//"註釋掉系統默認行,並添加新的字體參數行。
其中msyh爲字庫名字,不包含ttf後綴
//define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'msyh');
//define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');
define('ZBX_GRAPH_FONT_NAME', 'msyh');
###########################################################################################
啓動zabbix Server服務
安裝完成後的server程序在/usr/local/zabbix/sbin/目錄下,可以直接啓動,完整的啓動命令爲
/usr/local/zabbix/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
檢查端口是否開啓偵聽
netstat -tnlp |grep LISTEN
tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN 4241/zabbix_server
/usr/local/zabbix/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
netstat -tnlp |grep LISTEN
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4299/zabbix_agentd
設置服務開機啓動
vi /etc/rc.d/rc.local
/usr/local/zabbix/sbin/zabbix_server -c /etc/zabbix/conf/zabbix_server.conf
/usr/local/zabbix/sbin/zabbix_agentd -c /etc/zabbix/conf/zabbix_agentd.conf
如未發現偵聽開啓,可以查看/tmp/下zabbix日誌
server服務未成功開啓,一般問題是zabbix連接mysql數據庫錯誤
開啓zabbix的服務後,刷新Web界面,如發現zabbix server is running的value值爲No時,將selinux關閉並重啓服務器
vi /etc/sysconfig/selinux修改selinux=disabled,重啓服務器
如重啓後發現zabbix server is running的value值仍爲No,則可嘗試修改統一/etc/zabbix和/var/www/html中有關Server的配置,一般設置爲Server=127.0.0.1和$ZBX_SERVER = '127.0.0.1'即可。
######################################添加被監控主機#####################################
監控windows主機:
下載地址:http://www.zabbix.com/downloads/2.2.6/zabbix_agents_2.2.6.win.zip
在C:\Program Files\下創建zabbix文件夾
解壓zip包後:將包內bin/win64/下的所有文件複製到 C:\Program Files\zabbix下
並在該目錄下創建一個zabbix_agentd.conf文件,內容爲
LogFile=C:\Program Files\zabbix\zabbix_agentd.log
Server= $zabbix server IP
UnsafeUserParameters=1
進入cmd命令行:
# cd C:\Program Files\zabbix
安裝zabbix客戶端:
# zabbix_agentd.exe -c "c:\Program Files\zabbix\zabbix_agentd.conf" -i
啓動zabbix客戶端agentd服務:
# zabbix_agentd.exe -c "c:\Program Files\zabbix\zabbix_agentd.conf" -s
參數含義:
-c 制定配置文件所在位置
-i 安裝客戶端
-s 啓動客戶端
-x 停止客戶端
-d 卸載客戶端
然後在zabbix的web頁面添加windows主機。
監控Linux主機:
安裝zabbix,啓用agent
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
tar -xvf zabbix-2.2.6.tar.gz
cd zabbix-2.2.6
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
useradd zabbix
mkdir -p /etc/zabbix
cp ./conf/* -R /etc/zabbix/
chown -R zabbix:zabbix /etc/zabbix
chown -R zabbix:zabbix /usr/local/zabbix
vi /etc/zabbix/zabbix_agentd.conf
ListenPort = 10050
Server = $zabbix server IP
Server Active = $zabbix server IP
HostName = localhost
啓動zabbix客戶端agentd
/usr/local/zabbix/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
查看進程和端口是否存在
ps-ef|grep zabbix_agentd
netstat -tnlp|grep 10050
然後在zabbix的web頁面添加Linux主機。
##########################Web頁面添加主機步驟############################################
1、"組態"-->"主機"-->"創建主機"
2、填寫主機名稱及IP地址,添加“羣組”,在“模板”中“選擇”並“添加”模板後“存檔”。
##########################zabbix設置郵件告警##############################################
[root@localhost ~]# cat /etc/hosts
127.0.0.1 wonhot30.com localhost.localdomain localhost
[root@localhost ~]# cat /etc/mail/access
# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
Connect:wonhot30.com RELAY
[root@localhost ~]# cat /etc/mail/local-host-names
wonhot30.com
驗證:
# telnet 127.0.0.1 25
查看進程
[root@localhost ~]# ps aux|grep sendmail
修改完成後,重啓sendmail服務,通過telnet命令,測試一下看看是否已生效
[root@localhost ~]# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to wht.com (127.0.0.1).
Escape character is '^]'.
220 monit.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 12 Jun 2012 18:28:27 +0800
從以上結果可以發現,localhost.localdomain 已經變成了 wht.com這個域名,設置完成!
接下來就可以在zabbix 的管理頁面上進行Email 報警設置了。
SMTP server:
wht.com
SMTP hello:
wht.com
SMTP email:
設置完成後點擊保存按鈕
然後高級配置——用戶設置用戶的報警介質,添加Email
新建一個action,報警方式選擇Email,設置觸發器閥值等,保存測試即可!
######################################################################################