歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> debian8 安裝Zabbix 3.0

debian8 安裝Zabbix 3.0

日期:2017/3/1 11:49:11   编辑:關於Linux

一、安裝配置zabbix server

web server服務器:172.28.0.187

mysql服務器:172.28.0.237

1、安裝web server(172.28.0.187)

A、官方文檔

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

blob.png

blob.png

blob.png

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

zabbix的package中有release包,因為zabbix server需要mysql,apache,php,而release包安裝的方式會自動解決依賴關系。

B、release包下載

blob.png

blob.png

blob.png

blob.png

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

blob.png

blob.png

不需要重命名

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

blob.png

#查看字體配置
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,【注意大小寫】

blob.png

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

一、下載源碼包

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

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

blob.png

二、安裝前准備

這裡我要編譯安裝並打包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

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

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

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

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

五、使用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卸載包之前運行的腳本

六、將打包好的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。

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

一、創建主機

blob.png

blob.pngblob.png

二、創建主機組

blob.png

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

blob.png

blob.png

三、創建模版

blob.png

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

blob.png

四、創建應用集

blob.png

blob.png

blob.png

blob.png

五、創建監控項

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

六、創建觸發器

blob.png

blob.png

blob.png

blob.png

blob.png

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

blob.png

blob.png

blob.png

七、創建圖形

blob.png

blob.png

blob.png

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

blob.png

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

blob.png

blob.png

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

Copyright © Linux教程網 All Rights Reserved