zabbix簡介php
zabbix(http://www.zabbix.com/)是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。html
zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各類問題。mysql
zabbix由2部分構成,zabbix server與可選組件zabbix agent。linux
zabbix server能夠經過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它能夠運行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺上。 c++
zabbix agent須要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操做系統有關的內存,CPU等信息的收集。zabbix agent能夠運行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系統之上。web
zabbix server能夠單獨監視遠程服務器的服務狀態;同時也能夠與zabbix agent配合,能夠輪詢zabbix agent主動接收監視數據(trapping方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。sql
另外zabbix server還支持SNMP (v1,v2),能夠與SNMP軟件(例如:net-snmp)等配合使用。數據庫
zabbix的主要特色: vim
- 安裝與配置簡單,學習成本低 windows
- 支持多語言(包括中文)
- 免費開源
- 自動發現服務器與網絡設備
- 分佈式監視以及WEB集中管理功能
- 能夠無agent監視
- 用戶安全認證和柔軟的受權方式
- 經過WEB界面設置或查看監視結果
- email等通知功能 宋體黑色
附加說明
其實網上已有不少的文章說明怎麼搭建監控系統,其中最多的要屬cacti其次就屬zabbix了。我的對這兩個軟件都體驗了一把,感受zabbix最大的優點是簡單、高效;而cacti雖然圖然很好看但監控出來的數據不許確(和現實系統表現出來的有出入下面是cacai的圖,你們可對比一下)。
最後決定發現zabbix是正確的選擇。網上看上去有不少參考資料,但當你參考時發現仍會出現不一樣的問題:系統環境不同;zabbix的版本不一致;相關的PHP模塊找不到;相關的MYSQL版本不一致;找不到合適的監控模板等等,本文的目的是儘可能解決這些問題同時將本身的作法及想法貢獻出來你們一塊兒參考。其中有些部份的內容可能用不到放在這裏的緣由僅作參考用。
網絡設定相關
1.增長路由
-
route add
-net 172.16.0.0 netmask 255.255.0.0 gw 192.168.0.22
2.系統啓動後網卡需手動激活
緣由是最小化安裝CentOS6.2後,網卡是沒有默認啓動的(onboot=「no」),而且設置了依賴NetworkManager 的選項(NM_CONTROLLED="yes"),可是minimal的狀況下並無安裝系統默認提供的網絡管理工具NetworkManger。咱們須要修改/etc/sysconfig/network-script/ifcfg-eth0文件
3.安裝傳輸文件協方式
時間設定
1.時間設定
-
hwclock
--set
--date=
"07/07/06 10:19"
-
hwclock
--hctosys
時間的正確設定很重要,時間不一樣步將致使監控的數據不一致,有可能出現監控了一週卻始終只有三五天數據或是沒法獲得當前時間數據的狀況。其中第一條語句是設定硬件時鐘,第二條語句是設定系統時鐘和硬件時鐘同步。
2.時區設定
時區的設定也很重要,若是系統及硬件時鐘正確而時區設定不正確的話會致使圖形顯示出來的數據相關幾個小時,因些調整好時區也是一個重要的步驟。
查找系統文件etc/sysconfig/clock並修改成:
-
ZONE=
"Asia/Shanghai"
-
UTC=true
-
ARC=false
找到系統文件/usr/share/zoneinfo/Asia/Shanghai用這個文件替換當前的/etc/localtime文件
-
cp
/usr
/share
/zoneinfo
/Asia
/Shanghai
/etc
/localtime
修改php.ini
-
date
.timezone = Asia
/Shanghai
字體設定
zabbix自帶的中文字體不太好看,你能夠將本身替換喜歡的字體。經常使用的字體windows其實已經自帶了(系統字體的存放位置位於c:\windows\font中,以下圖所示),你能夠直接用windows中的字體進行替換。
-
wget http:
//nchc.dl.sourceforge.net
/project
/zabbix
/ZABBIX
%20Latest
%20Stable
/2.0.0
/zabbix-2.0.0.tar.gz
-
tar zxvf zabbix-2.0.0.tar.gz
-
cp
-r
/root
/zabbix-2.0.0
/frontends
/php
/var
/www
/html
/
-
mv
/var
/www
/html
/php
/
/var
/www
/html
/zabbix
-
cd
/var
/www
/html
/zabbix
/fonts
/
-
cp
-frp DejaVuSans.ttf DejaVuSans.ttf.old
-
mv simsunb.ttf DejaVusans.ttf
XDMCP設定
對於在windows下想用xmanager鏈接linux進行圖形化遠程操做的人員來講,設定好XDMCP是必不可少的步驟。這裏僅僅介紹linux端的設定,對於該方式和該軟件不瞭解的能夠本身google下。
-
vi
/etc
/gdm
/custom.conf
修改配置文件。
-
[daemon
]
-
[security
]
-
AllowRemoteRoot=true
-
[xdmcp
]
-
Enable=true
-
[greeter
]
-
IncludeAll=true
-
[chooser
]
-
[
debug
]
iptables設定
iptables的做用及它的重要性不需作太多解釋,這裏只列出必要開放的端口,對於語句或內容有疑問的請自行google或和我聯繫。
-
vi
/etc
/sysconfig
/iptables
修改iptables配置文件
-
:INPUT ACCEPT
[
0
:
0
]
-
:FORWARD ACCEPT
[
0
:
0
]
-
:OUTPUT ACCEPT
[
0
:
0
]
-
-A INPUT
-m state
--state ESTABLISHED,RELATED
-j ACCEPT
-
-A INPUT
-p icmp
-j ACCEPT
-
-A INPUT
-i lo
-j ACCEPT
-
-A INPUT
-m state
--state NEW
-m tcp
-p tcp
--dport
22
-j ACCEPT
-
-A INPUT
-m state
--state NEW
-m udp
-p udp
--dport
177
-j ACCEPT
-
-A INPUT
-m state
--state NEW
-m tcp
-p tcp
--dport
6000
:
6010
-j ACCEPT
-
-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
-
-A INPUT
-m state
--state NEW
-m tcp
-p tcp
--dport
80
-j ACCEPT
-
-A INPUT
-j REJECT
--reject
-with icmp
-host
-prohibited
-
-A FORWARD
-j REJECT
--reject
-with icmp
-host
-prohibited
-
COMMIT
HTTPD設定
HTTPD的做用也無需太多介結你們都能明白,這裏須要說明的是HTTPD的設定多是在安裝了HTTP和PHP組件後,這裏僅作參考用並不表明安裝必定按些步驟。實在不明白的google吧。
-
vi
/etc
/httpd
/conf.d
/zabbix.conf
增長配置文件
-
<VirtualHost
*:
80
>
-
ServerAdmin zabbix
-
DocumentRoot
/var
/www
/html
/zabbix
-
ErrorLog
/var
/log
/httpd
/zabbix
.log
-
HostnameLookups Off
-
UseCanonicalName Off
-
ServerSignature Off
-
-
<Directory
/>
-
Options FollowSymLinks
-
AllowOverride None
-
Order allow,deny
-
Allow from all
-
</Directory
>
-
-
<Directory
"/var/www/html"
>
-
Options Indexes FollowSymLinks
-
AllowOverride None
-
Order allow,deny
-
Allow from all
-
</Directory
>
-
</VirtualHost
>
禁用selinux
selinux確實提升了系統的安全性,但另外一方面也給應用程序增長了不少的不肯定性。我在安裝配置完zabbix後曾出現過始終沒法打開瀏覽頁面沒法進入web安裝界面的狀況,後來禁用selinux後問題解決。對於selinux的啓用與否我的見仁見智能夠根據自已的需求決定是否開啓。
禁用selinux
-
SELINUX=disabled
-
SELINUXTYPE=targeted
禁用ctrl+alt+del
禁用ctrl+alt+del的做用是防止機房管理人員誤操做致使系統重啓的問題。需注意的是在centos6以前的版本中該設置文件是/etc/inittab,而到了centos6之後被放到了/etc/init/control-alt-delete.conf中。
-
vi
/etc
/init
/control-alt-delete.conf
禁用ctrl+alt+del
-
#start
on control
-alt
-
delete
-
#exec
/sbin
/shutdown
-r now
"Control-Alt-Delete pressed"
1.增長用戶組
主要是增長zabbix用戶組,若是不增長該用戶和組,在後面的編譯安裝時將會有相關提示。
-
groupadd
-g
130 zabbix
-
useradd
-u
130
-g zabbix
-c
"Zabbix Monitoring" zabbix
2.增長軟件源
-
wget http:
//mirrors.163.com
/.help
/CentOS6-Base-
163.repo
-
mv CentOS6-Base-
163.repo
/etc
/yum.repos.d
/
-
wget http:
//mirrors.ustc.edu.cn
/fedora
/epel
//
6
/i386
/epel-release-
6-
7.noarch.rpm
-
rpm
-ivh epel-release-
6-
7.noarch.rpm
3.安裝相關軟件
-
yum
--enablerepo=epel
install iksemel iksemel-devel
-
yum
install mysql-server httpd php mysql-devel
gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml postfix zlib-devel glibc-devel
automake mysql libidn-devel openssl-devel rpm-devel OpenIPMI-devel
-
yum
-y
install
gcc gcc-c++
autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel
bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
-
yum
install net-snmp
*
4.配置數據庫
-
service mysqld start
-
mysqladmin
-u root password
'password'
-
mysql_secure_installation
-
mysql
-uroot
-p
-
create database zabbix default character
set utf8;
-
grant all privileges on zabbix.
* to
'zabbix'
@
'localhost' identified by
'password';
-
quit;
-
tar zxvf zabbix-2.0.0.tar.gz
-
cd database
/mysql
-
cat schema.sql
|mysql
-u zabbix
-p zabbix
-
cat p_w_picpaths.sql
|mysql
-u zabbix
-p zabbix
-
cat data.sql
|mysql
-u zabbix
-p zabbix
5.編譯zabbix
-
.
/configure
--prefix=
/usr
/local
/zabbix
--enable-server
--with-mysql
--with-net-snmp
--with-jabber
--with-libcurl
--with-openipmi
--enable-proxy
--enable-agent
-
make
-
make
install
-
cp misc
/init.d
/redhat
/
8.0
/zabbix_
*
/etc
/init.d
/
-
chmod
755
/etc
/init.d
/zabbix_
*
-
chown
-R zabbix:zabbix
/usr
/local
/zabbix
-
chkconfig
--add zabbix_server
-
chkconfig
--add zabbix_agentd
-
chkconfig
--level
35 zabbix_server on
-
chkconfig
--level
35 zabbix_agentd on
6.配置zabbix
-
vi
/usr
/local
/zabbix
/etc
/zabbix_server.conf
配置zabbix_server.conf文件
-
SourceIP=192
.168
.0
.189
-
DBName=zabbix
-
DBUser=zabbix
-
DBPassword=password
-
vi
/usr
/loca
/zabbix
/etc
/zabbix_agent
.conf
-
hostname=myj
-jk
-
Server=192
.168
.0
.189
啓動zabbix服務
-
service zabbix_server start
-
service zabbix_agentd start
7.配置php.ini
-
memory_limit = 256M
-
date
.timezone = Asia
/Shanghai
-
post_max_size = 32M
-
max_execution_time =
600
-
upload_max_filesize = 16M
-
max_input_time =
600
8.啓動httpd服務
到這裏就能夠啓動web服務進行zabbix的安裝了,httpd服務啓動後直接在瀏覽器中輸入服務器的IP地址開始安裝,按照圖形的方式一步一步安裝完成吧。後面就如何自定義監控模板(IIS六、IIS七、SQL200五、SQL2008),如自定義MAP圖標以及zabbix簡單的性能優化寫出我本身的理解。