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 13:08
下一篇 2016-05-08 18:04

相關推薦

  • 磁盤配額的操作步驟

    磁盤配額 操作步驟: 1、創建一個10G的分區 /dev/sdd1并將其格式化,掛載 2、如果是新硬盤便不存在同步問題。舊硬盤得使用命令partx  -a /dev/sdd1 3、臨時創建掛載文件夾 /mnt/home    4、將/home/*  mv  到 /mnt/home 中,再將/dev/…

    Linux干貨 2016-09-01
  • Keepalive+Nginx高可用配置(主從)

    Keepalived高可用集群 一、Keepalived介紹 Keepalived軟件主要通過VRRP協議實現高可用功能的。VRRP是Virtual Router Redundancy Protocol(虛擬路由器冗余協議)的縮寫,VRRP出現的目的就是為了解決靜態路由單點故障問題,它能夠保證當個別節點宕機時,整個網絡可以不間斷地運行。keepalived除…

    Linux干貨 2016-12-30
  • 使用monit搭建一個監控系統

     上周用monit搭建或者說定制了一個監控系統,來監控服務器發生事情。當然了主要是監控異常,因為我們的產品屬于服務器類型,很多進程都daemon,要不停的運行。我們搭建監控目的不過是出現問題能夠及時的知道,平時可從web UI上看到整個系統的狀況,同時它本身要輕量級,不要影響性能。當然了類似的產品很多了,比如Ganglia,我在老科長波哥曾經搭建過…

    Linux干貨 2015-02-15
  • 磁盤管理—MBR分區與GPT分區總結

    描述: 1,什么是磁盤分區   磁盤分區是使用分區編輯器(partition editor)在磁盤上劃分幾個邏輯部分,盤片一旦劃分成數個分區(Partition),不同類的目錄與文件可以存儲進不同的分區。 2,硬盤結構及參數   3D參數(Disk Geometry):CHS(Cylinder/Head/Sector)  &nb…

    Linux干貨 2016-08-29
  • 任務計劃配置

        任務計劃:         linux任務計劃,周期任務執行         未來的某個時間點執行一次任務:at,batch:系統自行選擇空閑時間去執行此處指定的任務 &n…

    Linux干貨 2016-09-12
  • 文件的權限、擴展屬性以及facl

    大綱: 一、前言 二、普通權限 三、特殊權限 四、ext文件的擴展屬性 五、文件的訪問控制列表(facl) 一、前言 linux中常見的權限有讀(r)、寫(w)、執行(x),還有3個特殊的權限。因此下面就從普通權限開始介紹起 二、普通權限 rwx:讀 寫 執行 rwxr-xr-x : 讀寫執行 讀_執行 讀_執行  (分別對應)屬主 屬組…

    Linux干貨 2015-05-04
欧美性久久久久