debian8下安裝配置部署zabbix3.0

一、安裝配置zabbix server

web server服務器:172.28.0.187

mysql服務器:172.28.0.237

1、安裝web server(172.28.0.187)

A、官方文檔

zabbix官方提供了基於packages和編譯安裝方式的安裝文檔

123

這裏server我使用package方式安裝,agent使用源碼編譯的方式安裝,因爲server只有一臺,而agent有很多臺,需要對安裝好的agent修改配置並重新打包,以方便後期批量部署。

zabbix的package中有release包,因爲zabbix server需要mysql,apache,php,而release包安裝的方式會自動解決依賴關係。 B、release包下載

4567

root@demo:~# wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+jessie_all.deb

C、安裝release倉庫

root@demo:~# dpkg -i zabbix-release_3.0-1+jessie_all.deb

D、更新apt倉庫

root@demo:~# aptitude update

E、安裝zabbix-server-mysql和zabbix-frontend-php

安裝過程中請確保連接互聯網,倉庫的源建議用debian官方源,這裏server-mysql會自動解決mysql的依賴關係安裝mysql,frontend-php會解決apache和php的依賴關係

root@demo:~#aptitude install zabbix-server-mysql
root@demo:~#aptitude install zabbix-frontend-php

安裝zabbix-server-mysql後會產生一個/usr/share/doc/zabbix-server-mysql/create.sql.gz文件,這個文件後面在mysql服務器中用到

2、配置mysql服務器(172.28.0.237)

進入mysql服務器172.28.0.237,這裏需要提前安裝好Mysql,如果是在web server上使用數據庫則配置web server的數據庫

A、進入mysql

這裏因爲我們公司的mysql數據庫服務器是用的專門的mysql用戶,所以需要先切換用戶

root@demo:~# su - mysql
root@demo:~# mysql

B、創建zabbix表,編碼爲utf8

mysql> create database zabbix character set utf8 collate utf8_bin;

C、創建一個zabbix用戶並給zabbix用戶授權zabbix表

授權範圍爲全網,用戶爲zabbix密碼爲123321qQ

mysql> grant all privileges on zabbix.* to zabbix@'%' identified by '123321qQ'; 授權範圍爲本地,用戶爲zabbix密碼爲123321qQ

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '123321qQ';

D、刷新mysql權限

mysql> flush privileges;

E、將文件create.sql.gz導入zabbix表

用release方式安裝生成的zabbix表不是schema.sql和images.sql和data.sql這三張表,而是集中在create.sql中,如果是這三張表的請把這三張表導入剛纔創建的zabbix表中

因爲我這裏的create.sq.gz是放在web server上的,所以需要複製過來

#將172.28.0.187下的/usr/share/doc/zabbix-server-mysql/create.sql.gz傳給172.28.0.237
root@demo:~# scp /usr/share/doc/zabbix-server-mysql/create.sql.gz [email protected]:/root
root@demo:~# cp /root/create.sql.gz /home/mysql/create.sql.gz
#切換到mysql用戶導入表格到zabbix
root@demo:~# su - mysql
mysql@demo:~$ zcat create.sql.gz | mysql -uzabbix -p"123321qQ"    zabbix

如果機子配置低,則導入時間很長,請耐心等待

3、修改web server配置文件(172.28.0.187)

A、進入172.20.0.187修改/etc/zabbix/zabbix_server.conf

root@demo:~#  vi /etc/zabbix/zabbix_server.conf
#修改一下幾項
DBHOST=172.28.0.237    #mysql服務器地址
DBName=zabbix    #表名
DBUser=zabbix    #用戶名
DBPassword=123321qQ    #密碼

B、修改/etc/apache2/conf-enabled/zabbix中的時區

root@demo:~# vim /etc/apache2/conf-enabled/zabbix.conf
#找到以下行註釋取消,改爲如下,因爲我這裏是重慶,所以寫的是重慶,如果是其他地方可以用別的
php_value date.timezone Asia/Chongqing

C、設置語言爲中文

root@demo:~# vim /usr/share/zabbix/include/locales.inc.ph
#修改如下行    
'zh_CN' => ['name' => _('Chinese (zh_CN)'),     'display' => true],

D、解決中文亂碼問題

在Windows中打開運行,輸入fonts

89

不需要重命名

將文件上傳到/usr/share/zabbix/fonts/目錄中

10

#查看字體配置
root@demo:~# grep FONT_NAME /usr/share/zabbix/include/defines.inc.php  -n
45:define('ZBX_GRAPH_FONT_NAME',        'graphfont'); // font file name
93:define('ZBX_FONT_NAME', 'graphfont');
#確認字體名稱是否可以替換
root@demo:~# grep graphfont /usr/share/zabbix/include/defines.inc.php  -n
45:define('ZBX_GRAPH_FONT_NAME',        'graphfont'); // font file name
93:define('ZBX_FONT_NAME', 'graphfont');
#執行快捷替換
root@demo:~# sed -i "s/graphfont/msyh/g" /usr/share/zabbix/include/defines.inc.php
#確認是否替換成功
root@demo:~# grep FONT_NAME /usr/share/zabbix/include/defines.inc.php  -n
45:define('ZBX_GRAPH_FONT_NAME',        'msyh'); // font file name
93:define('ZBX_FONT_NAME', 'msyh');

E、啓動zabbix-server重啓apache

root@demo:~# service zabbix-server start
root@demo:~# service apache2 restart

4、進入web界面初始化設置

打開http://172.28.0.187/zabbix,默認的用戶名爲Admin,密碼爲zabbix,【注意大小寫】

11

二、編譯安裝agent,配置後重新打包

1、下載源碼包

zabbix官網給出的源碼包將server、agent、proxy都放在了一個包中,所以安裝的時候得注意

在download中找到sources,選擇3.0的源碼包進行下載

12

2、安裝前準備

這裏我要編譯安裝並打包agent,所以要做一些準備工作,因爲是第一臺編譯安裝,所以最好選擇沒有使用過的debian8主機

A、安裝gcc

root@demo:~/zabbix-3.0.2# apt-get install gcc

B、安裝make

root@demo:~/zabbix-3.0.2# apt-get install make

C、更改ruby源安裝fpm,這裏安裝fpm是爲了後續製作deb包做準備

root@demo:~# apt-get install ruby-dev rubygems
root@demo:~# gem sources -a https://ruby.taobao.org/
root@demo:~# gem sources -r https://rubygems.org/
root@demo:~# gem sources -l
root@demo:~# gem install fpm

3、解壓並進行安裝和打包前配置

A、解壓源碼包

root@demo:~# tar -xzvf zabbix-3.0.2.tar.gz

B、安裝前配置

root@demo:~/zabbix-3.0.2# ./configure --prefix=/usr/local/zabbix  --sysconfdir=/usr/local/etc  --enable-agent --disable-server --disable-proxy
#--prefix=    安裝目錄
#--sysconfdir=    配置文件目錄
#--enable-agent --disable-server --disable-proxy    安裝agent不安裝server和proxy

C、打包前配置,這裏因爲公司的標準化要求,所以agent都安裝到/tmp/installdir中

#創建臨時目錄
root@demo:~/zabbix-3.0.2# mkdir -p /tmp/installdir/etc/init.d/
root@demo:~/zabbix-3.0.2# mkdir -p /tmp/installdir/etc/profile.d/

#將編譯後的源碼包的zabbix-agent文件複製出來
root@demo:~/zabbix-3.0.2# cp -a /root/zabbix-3.0.2/misc/init.d/debian/zabbix-agent /tmp/installdir/etc/init.d/zabbix_agentd

#修改啓動腳本
root@demo:~/zabbix-3.0.2# vim /tmp/installdir/etc/init.d/zabbix_agentd
NAME=zabbix_agentd
DAEMON=/usr/local/zabbix/sbin/${NAME}
DESC="Zabbix agentd"
PID=/tmp/$NAME.pid

#創建環境變量腳本
root@demo:~# vim /tmp/installdir/etc/profile.d/zabbix.sh
# zabbix init
export PATH=$PATH:/usr/local/zabbix/bin:/usr/local/zabbix/sbin

#創建安裝後腳本,此腳本會在安裝時自動添加zabbix用戶,自動添加開機啓動,前提是你得裝了chkconfig
root@demo:~#vim /tmp/install_after.sh
#!/bin/bash
useradd -m -d /home/zabbix -s /bin/bash zabbix
echo 'zabbix  ALL=(ALL:ALL) NOPASSWD:ALL' >> /etc/sudoers
host=`hostname`
sed -i "s%^Hostname=.*$%Hostname=$host%g" /usr/local/etc/zabbix_agentd.conf
source /etc/profile.d/zabbix.sh
chkconfig --add zabbix_agentd
chkconfig --level 35 zabbix_agentd on
exit 0

#創建卸載前腳本,此腳本會在卸載時清楚殘留的腳本,zabbix用戶刪除沒有寫進去,有需要的自己寫
root@demo:~#vim /tmp/remove_after.sh
#!/bin/bash
rm -rf /etc/init.d/zabbix_agentd
rm -rf /etc/profile.d/zabbix.sh
rm -rf /var/lib/dpkg/info/zabbix-agentd*
source /etc/profile
exit 0

4、編譯安裝和修改配置文件

A、編譯安裝到指定目錄

root@demo:~#cd /root/zabbix-3.0.2
root@demo:~/zabbix-3.0.2#  make install DESTDIR=/tmp/installdir/

B、修改配置文件

root@demo:~/zabbix-3.0.2# vim /tmp/installdir/usr/local/etc/zabbix_agentd.conf
#修改一下幾項
Server=172.28.0.187    #web server服務器地址
ServerActive=172.28.0.187    #這裏再次填入web server服務器地址,爲了以後主動上傳
HostnameItem=system.hostname    #因爲是要批量部署,所以這裏一定要修改以獲取主機名,
Include=/usr/local/etc/zabbix_agentd.conf.d/    #這裏用於放置自定義的key
UnsafeUserParameters=1    #這裏改成1纔會啓動自定義key

5、使用fpm打包

root@demo:/tmp# fpm -s dir -t deb -n zabbix_agentd -v 3.0.2 --iteration 1+wheezy -C /tmp/installdir/ -p /root/ --description 'zabbix_agentd deb' --post-install /tmp/install_after.sh --post-uninstall /tmp/remove_after.sh
#-s指定源類型
#-C指定打包路徑
#-p指定包輸出路徑
#--description包描述
#--post-install安裝包完成後運行的腳本
#--post-uninstall卸載包之前運行的腳本

6、將打包好的deb文件部署在需要監控的主機上

#安裝
root@demo:~# dpkg -i zabbix-agentd_3.0.2-1+wheezy_amd64.deb
#啓動agentd
root@demo:~# service zabbix_agentd start

這裏需要注意的是,你用來編譯安裝並打包的服務器如果agent沒有啓動,請先卸載再用你打包好的deb文件安裝一遍,因爲在編譯的那臺服務器上並沒有運行剛纔我們寫的安裝前腳本,所以沒有zabbix用戶,也沒有設置開機啓動,所以建議最好用deb包重裝一遍。

批量部署agent包,建議使用ansible。

三、創建模版並應用到主機

1、創建主機

131415

2、創建主機組

16

主機組中放入了2臺主機,一臺是web server本身一臺是mysql

1718

3、創建模版

19

也可以將網上的模版導入修改,這裏我手動創建一個

20

4、創建應用集

21222324

5、創建監控項

252627282930313233

6、創建觸發器

3435363738

這個表達式的意思是iowait的值在30分鐘內大於30%,就報警

394041

7、創建圖形

424344

由於數量很多,我只創建了2個做事例

45

這樣就把zabbix的web server和mysql的剩餘磁盤和cpu iowait監控起來了

4647

可以看到剛纔創建的模版已經成功應用了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章