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和編譯安裝方式的安裝文檔

    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 root@172.28.0.237:/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

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

原創文章,作者:N17_信風,如若轉載,請注明出處:http://www.www58058.com/16052

(4)
N17_信風N17_信風
上一篇 2016-05-06
下一篇 2016-05-08

相關推薦

  • 文件查找、壓縮、歸檔

    一、文件查找 非實時查找(數據庫查找)locate;實時查找find locate:從系統上預建的文件索引數據庫 /var/lib/mlocate/mlocate.db查找,但是依賴于事先構建的索引; 索引的構建是在系統較為空閑時自動進行,管理員手動的更新數據庫(updatedb),得用updatedb命令跟新數據庫,才能快速查找,也要根據權限搜索…

    Linux干貨 2016-11-27
  • Linux基礎之加密通訊過程詳解

    加密通訊過程詳解 第一階段 客戶端->服務器端 向服務器聲明自己的加密通訊協議版本,ssl或者tls 支持的加密算法 支持的壓縮算法 第二階段 服務器端->客戶端 向客戶端確認使用的加密通訊協議版本 確認的加密方法 確認壓縮方法 服務器端證書 第三階段 客戶端->服務器端 客戶端驗證服務器端證書 發證機構 證書完整性 證書持有者 證書有效期…

    2017-09-16
  • Linux基礎指令(1)

    1.Linux上的文件管理類命令都有哪些,其常用的使用方法及相關實例演示  文件管理工具:cp mv rm cp命令 : 單源復制: cp [option]… [-T]  SOURCE DEST     -bash-4.1# …

    Linux干貨 2016-11-09
  • Mysql備份III

    Mysql備份III Mysqldump和mysqldumper A備份和恢復所有庫 $ time mysqldumo –all-databases > /mysql/backup/date.time.database.dump.sql $ echo $? $ ls&nbs…

    Linux干貨 2016-06-09
  • LVS介紹及工作原理圖解

    一、LVS簡介 LVS是Linux Virtual Server的簡稱,也就是Linux虛擬服務器,是一個由章文嵩博士發起的自由軟件項目,官方站點是:http://www.linuxvirtualserver.org?,F在LVS已經是Linux標準內核的一部分,在Linux2.4內核以前,使用LVS時必須重新編譯內核以支持LVS功能模塊,但是從Linux2.…

    2017-12-06
  • GNU awk

    文本處理三工具:grep, sed, awk grep, egrep, fgrep:文本過濾工具;pattern sed: 行編輯器 模式空間、保持空間 awk:報告生成器,格式化文本輸出;  AWK: Aho, Weinberger, Kernighan –> New AWK, NAWK  GNU awk, gawk&…

    Linux干貨 2015-12-03
欧美性久久久久