一、安裝配置zabbix server
web server服務器:172.28.0.187
mysql服務器:172.28.0.237
1、安裝web server(172.28.0.187)
A、官方文檔
zabbix官方提供了基于packages和編譯安裝方式的安裝文檔
這里server我使用package方式安裝,agent使用源碼編譯的方式安裝,因為server只有一臺,而agent有很多臺,需要對安裝好的agent修改配置并重新打包,以方便后期批量部署。
zabbix的package中有release包,因為zabbix server需要mysql,apache,php,而release包安裝的方式會自動解決依賴關系。
B、release包下載
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
不需要重命名
將文件上傳到/usr/share/zabbix/fonts/目錄中
#查看字體配置 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,【注意大小寫】
二、編譯安裝agent,配置后重新打包
一、下載源碼包
zabbix官網給出的源碼包將server、agent、proxy都放在了一個包中,所以安裝的時候得注意
在download中找到sources,選擇3.0的源碼包進行下載
二、安裝前準備
這里我要編譯安裝并打包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。
三、創建模版并應用到主機
一、創建主機
二、創建主機組
主機組中放入了2臺主機,一臺是web server本身一臺是mysql
三、創建模版
也可以將網上的模版導入修改,這里我手動創建一個
四、創建應用集
五、創建監控項
六、創建觸發器
這個表達式的意思是iowait的值在30分鐘內大于30%,就報警
七、創建圖形
由于數量很多,我只創建了2個做事例
這樣就把zabbix的web server和mysql的剩余磁盤和cpu iowait監控起來了
可以看到剛才創建的模版已經成功應用了。
原創文章,作者:N17_信風,如若轉載,請注明出處:http://www.www58058.com/16052