zabbix真的很簡單 (安裝篇)


系統環境: Centos 6.4

  一直覺得 zabbix 很簡單,但是還是有好多人看了好多文檔都搞不明白怎么用,我從2013年使用到現在也小有心得,如果時間允許,很高興與大家一起分享我在使用過程中的一些小技巧和小經驗。好了至於什么是zabbix之類的廢話就不多說了,有興趣可以看看別人寫的,我只想說zabbix網上的文檔真是好多好多好多....

  咱們這次部署全程使用 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源安裝,這個過程依據各自帶寬而定。很慢~! 雖然版本偏低,但是對於部署來說足夠了。

安裝EPEL源

我們可以直接訪問 http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html 找到epel的安裝包,右鍵復制地址,直接裝就可以了。

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

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

安裝ZABBIX

  這里先為大家顯示一下,一個Zabbix Server所需要的安裝包

$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數據庫

復制粘貼回車你懂的

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了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM