zabbix真的很簡單 (安裝篇)

系統環境: Centos 6.4php

  一直以爲 zabbix 很簡單,可是仍是有好多人看了好多文檔都搞不明白怎麼用,我從2013年使用到如今也小有心得,若是時間容許,很高興與你們一塊兒分享我在使用過程當中的一些小技巧和小經驗。好了至於什麼是zabbix之類的廢話就很少說了,有興趣能夠看看別人寫的,我只想說zabbix網上的文檔真是好多好多好多....html

  我們此次部署全程使用 yum ,我會簡單說一下 yum 的配置。不少小夥伴都會問,不都是下載源碼包裝嗎?或者下載 rpm 包裝嗎?個人 yum 裏爲何沒有 zabbix ?其實相似這種第三方軟件,基本的 yum 軟件源是不提供的,不過你能夠增長 epel 源來安裝,這裏就不介紹 epel 啦,想詳細瞭解的就本身去epel 官網看吧。前端

安裝一套LAMP環境

yum -y install zlib-devel mysql-devel glibc-devel curl-devel gcc automake mysql libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel httpd mysql-server php-gd php-mysql php-bcmath php-mbstring php-xml perl-DBI php

提示:以上相關軟件直接能夠經過centos自帶的yum源安裝,這個過程依據各自帶寬而定。很慢~! 雖然版本偏低,可是對於部署來講足夠了。mysql

安裝EPEL源

咱們能夠直接訪問 http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html 找到epel的安裝包,右鍵複製地址,直接裝就能夠了。linux

rpm -ivh http://mirrors.zju.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm

提示:這裏對epel裏的zbx資源簡單介紹一下,epel裏zbx資源分爲三個版本,1.八、2.0、2.2。官網目前最新版本是2.4,1.8建議你不要考慮了,我曾經在別人的機器上用過一下,trigger還不能手動編寫,反正我是用不慣,2.0目前是我正在使用的版本,2.2讓我感受比較high的亮點功能就是對虛擬機的監控。在我眼裏2.0、2.2 、2.4這三個版本其實在使用上沒啥太大的區別,安裝方式也是同樣的。web

安裝ZABBIX

  這裏先爲你們顯示一下,一個Zabbix Server所須要的安裝包sql

$yum search zabbix22 | awk -F":" '/zabbix22/&&!/pgsql|Matched|sqlite|proxy/{print $1}'
zabbix22.x86_64 
zabbix22-agent.x86_64 
zabbix22-dbfiles-mysql.noarch 
zabbix22-server.noarch 
zabbix22-server-mysql.x86_64 
zabbix22-web.noarch 
zabbix22-web-mysql.noarch

不少文檔直接就裝了,也不說這玩意都是什麼東西,因此今天就說點廢話,主要是針對新手向,老手能夠繞行。如下只是簡單的介紹,具體包裏都包含什麼文件,有興趣的話,能夠本身rpm -ql翻看,反正偶是沒興趣。數據庫

zabbix22.x86_64 #zabbix主程序
zabbix22-agent.x86_64 #zabbix客戶端程序
zabbix22-dbfiles-mysql.noarch #zabbix22 mysql數據庫文件
zabbix22-server.noarch #Server服務端程序
zabbix22-server-mysql.x86_64 #Server鏈接mysql程序
zabbix22-web.noarch #web前端php程序
zabbix22-web-mysql.noarch #web前端php鏈接mysql數據庫後端

複製粘貼回車你懂的centos

yum -y install $(yum search zabbix22 | awk -F":" '/zabbix22/&&!/pgsql|Matched|sqlite|proxy/{print $1}')

  這裏說一下我理解的 zabbix 的結構,zabbix 分爲 Server 端和 Agent 端(你們都知道的,不用你廢話。**-_-!!**),Agent 負責採集監控數據傳送到 Server 端,Server 端負責將採集的數據保存到數據庫中,還有一個不少時候你們都忽略的部分,就是 zabbix 經過前端 WEB 頁面調用 php,將監控數據值從數據庫中提取出來並進行前端展現。因此有時候排查故障的必定要先肯定故障點是在前端,仍是在後端。學會縮小範圍按步驟排查故障。

  以上安裝我過濾掉了 zabbix 使用pgsql數據庫的程序, sqlite 數據庫程序和 proxy 程序。幫朋友排查 zabbix 問題的時候,發現好多都是裝的 mysql 數據庫,zabbix 裝的是 pgsql 數據庫鏈接程序,致使 zabbix 數據庫怎麼也連不上。因此在這裏給你們提個醒,注意本身裝的程序是否符合本身的環境。

  以上步驟完後全部須要建立的系統帳號好比 mysql,zabbix服務的啓動腳本,包括 httpd 關於 zabbix 訪問的配置文件,都已經爲你配置好了。你能夠經過查看/etc/httpd/conf.d/zabbix.conf 文件找到前端頁面訪問的具體位置。(這就是偶稀飯yum的緣由!!)

啓動數據庫

service mysqld start

建立數據庫

mysql << EOF
create database zabbix character set utf8;
grant all on zabbix.* to zabbix@localhost identified by '123456';
quit
EOF

提示:這裏數據庫必定要指定字符集,要不在前端歷史操做是亂碼,由於歷史操做是保存在數據庫裏的。

導入數據庫

mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/images.sql 
mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/data.sql

提示:以上數據庫必定要按照順序導入

配置zabbix_server訪問數據庫的帳號和密碼

sed -i '/^DBName/s/=.*$/=zabbix/' /etc/zabbix_server.conf
sed -i '/^# DBPassword/s/.*$/DBPassword=123456/' /etc/zabbix_server.conf

修改php.ini

sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php.ini
sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 600/g' /etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 600/g' /etc/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 256M/g' /etc/php.ini

提示:我這裏只是修改了 zabbix 初始化php配置時須要檢測默認配置參數,你們能夠根據本身實際狀況調整 php.ini 參數

簡單的配置服務

chkconfig --level 345 zabbix-server on
chkconfig --level 345 zabbix-agent on
setenforce 0
    service zabbix-server start
    service zabbix-agent start

提示:不稀飯 selinux,因此我都關掉。

登陸

  如今能夠經過http://ip/zabbix 來訪問了,第一次會初始化一些配置,主要仍是配置 php.ini 的參數和php訪問數據庫的帳號和密碼。基本上一路Next就ok了。

相關文章
相關標籤/搜索