SuSE系統之部署Zabbix監控服務
Zabbix3.4.8監控部署
Linux下常用的系統監控軟件有Nagios、Cacti、Zabbix、等,這些開源的軟件,可以幫助我們更好的管理機器,在第一時間內發現,並警告系統維護人員。
??? 今天開始研究下Zabbix,使用Zabbix的目的,是為了能夠更好的監控移動理賠項目組涉及的所有生產服務器,並且能夠生成圖形報表,雖然Nagios也能夠生成圖形報表,但沒有Zabbix這麽強大。
??? 首先,我們先來介紹下Zabblx:
一、Zabbix監控系統簡介
二、Zabbix監控部署
二(1)LAMP環境搭建
二(2)Zabbix_server部署
三、Zabbix監控應用
一、Zabbix監控系統簡介
zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
?????? zabbix由zabbix?server與可選組件zabbix?agent兩部分組成。
?????? zabbix?server可以通過SNMP,zabbix?agent,ping,端口監視等方法提供對遠程服務器運行及網絡狀態的監視。
?????? zabbix?agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。
zabbix的主要特點:
????????? -?安裝與配置簡單,學習成本低?
????????? -?免費開源
????????? -?自動發現服務器與網絡設備
????????? -?分布式監視以及WEB集中管理功能
????????? -?可以無agent監視
????????? -?用戶安全認證和柔軟的授權方式
????????? -?通過WEB界面設置或查看監視結果
????????? -?email等通知功能
???????? 等等
Zabbix主要功能:
???????? -?CPU負荷
???????? -?內存使用
???????? -?磁盤使用
???????? -?網絡狀況
???????? -?端口監視
???????? -?日誌監視?
二、Zabbix監控部署
Ps:SuSe系統安裝需要大量的依賴包,建議編譯安裝
二(1)LAMP環境搭建
一、Mysql安裝
1、因為mysql5以後編譯都是用cmake,所以要先安裝cmake
解壓cmake安裝包:
tar -zxvf cmake-2.8.9.tar.gz
進入解壓出來的目錄
cd cmake-2.8.9
編譯安裝:
./configure
make && make install
2、添加mysql用戶和組
創建mysql組:
groupadd mysql
創建mysql用戶,並用-m創建home目錄
useradd -m -g mysql mysql
3、創建安裝目錄:mysql將安裝到/USR/LOCAL/MYSQL5下
mkdir -p /usr/local/mysql5/data
mkdir -p /usr/local/mysql5/log
-----修改目錄屬主和組
chown -R mysql:mysql /usr/local/mysql5
4、解壓安裝mysql:
tar -zxvf mysql-5.6.15.tar.gz
進入解壓目錄,編譯安裝:
cd /mysql-5.6.15
cmake . \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5 \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/data \
-DFEATURE_SET=community \
-DENABLED_PROFILING=ON \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITHOUT_PERFSCHEMA_STORAGE_ENGINE=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_TCP_PORT=3306\
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_SSL=bundled \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_DEBUG=ON \
-DENABLE_DOWNLOADS=0
make -j4 && make install (-j4 指定編譯cpu數,加快速度,可以不加)
5、Mysql 配置
配置環境變量:vim /etc/profile
PATH=/usr/local/mysql/bin/:$PATH
export PATH
source /etc/profile
6、初始化數據庫並啟動
/usr/local/mysql #chown -R mysql:mysql .
/usr/local/mysql # ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql5/ --datadir=/data/
/usr/local/mysql # cp support-files/mysql.server /etc/init.d/mysql
/usr/local/mysql # cp support-files/my-default.cnf /etc/my.cnf
/usr/local/mysql # chkconfig --add mysql
/usr/local/mysql # chkconfig mysql on
/usr/local/mysql # service mysql start
/usr/local/mysql # mysqladmin -uroot password ‘mysql123‘
/usr/local/mysql # mysql -uroot -pmysql123
跳過密碼登錄:
/usr/local/mysql # vim /etc/my.cnf
skip-grant-table
重啟mysql即可
/usr/local/mysql # service mysql restart
修改密碼:
/usr/local/mysql #mysql
mysql> update mysql.user set password=password("456") where
user="root" and host="localhost";
mysql> flush privileges;
mysql> \q
二、 apache2 安裝
SUSE 11 自帶安裝apache2,如果安裝了,請卸載:
linux-1z88:/home/jie # zypper rm apache
2.1安裝安裝APR apr-1.4.6.tar.gz
1.#tar?-zxf?apr-1.4.6.tar.gz??
2.#./configure?--prefix=/usr/local/services/apr??
3.#make??
4.#make?install??
2.2安裝APR-util apr-util-1.4.1.tar.gz
1.#tar?-zxf?apr-util-1.4.1.tar.gz??
2.#./configure?--prefix=/usr/local/services/apr-util?--with-apr=/usr/local/services/apr/bin/apr-1-config??
3.#make??
4.#make?install??
2.3安裝PCRE pcre-8.30.tar.gz
1.#tar -zxvf ?pcre-8.30.zip??
2.#./configure?--prefix=/usr/local/services/pcre??
3.#make??
4.#make?install??
2.4 安裝Apache2 httpd-2.4.2.tar.gz
1.#tar?-zvxf?httpd-2.4.2.tar.gz??
2.#./configure?--prefix=/usr/local/services/apache2?--with-apr=/usr/local/services/apr/?--with-apr-util=/usr/local/services/apr-util/?--with-pcre=/usr/local/services/pcre/??
3.#make??
4.#make?install??
2.5 apache配置
/usr/local/services/apache2/conf # vi httpd.conf
添加servername: ServerName localhost:80
添加環境變量:
vi /etc/profile
添加:PATH=$PATH:/usr/local/services/apache2/bin/; export PATH
EXPORT PATH=$PATH:/usr/local/services/apache2/bin/
生效環境變量:source /etc/profile
啟動apache: apachectl?start?
三、php安裝配置
SUSE 11 自帶安裝php,如果安裝了,請卸載:
linux-1z88:/home/jie # zypper rm php
3.1安裝JPEG6 jpegsrc.v6b.tar.gz
1.#?mkdir?-p?/usr/local/services/jpeg6???
2.#?mkdir?-p?/usr/local/services/jpeg6/bin???
3.#?mkdir?-p?/usr/local/services/jpeg6/lib???
4.#?mkdir?-p?/usr/local/services/jpeg6/include???
5.#?mkdir?-p?/usr/local/services/jpeg6/man???
6.#?mkdir?-p?/usr/local/services/jpeg6/man1??
7.#?mkdir?-p?/usr/local/services/jpeg6/man/man1????
8.#?tar?-zvxf?jpegsrc.v6b.tar.gz??
9.#?CFLAGS="-O3?-fPIC"?./configure?--prefix=/usr/local/services/jpeg6/?--enable-shared?--enable-static??
10.#?make??
11.#?make?install??
問題:jpeg6 make: ./libtool:命令未找到
解決:拷貝libtool文件到jpeg6安裝文件目錄
cp /usr/share/libtool/config/config.* ./
3.2 安裝Zlib zlib-1.2.5.tar.gz
1.#?tar?-zxvf?zlib-1.2.5.tar.gz??
2.#?./configure?
3.#?make??
4.#?make?install??
註:安裝zlib不能指定安裝路徑,後續安裝libpng會報找不到zlib的錯,解決:進入zlib安裝目錄,make clean , 然後重新安裝
3.3安裝LIBpng libpng-1.5.13.tar.bz2
1.#?tar?-jvxf? libpng-1.5.13.tar.bz2
2.#?cd?libpng-1.5.13?
3.#?./configure --prefix=/usr/local/services/libpng/
4.#?make??
5.#?make?install?
3.4 安裝Freetype freetype-2.4.10.tar.gz
1.#?tar?-zvxf?freetype-2.4.10.tar.gz???
2.#?cd?freetype-2.4.10?
3.#?./configure?--prefix=/usr/local/services/freetype???
4.#?make??
5.#?make?install??
3.5 安裝GD GD-2.0.33.tar.gz
1.#?tar?-zxvf?GD-2.0.33.tar.gz??
2.#./configure?--prefix=/usr/local/services/gd2/?--with-jpeg=/usr/local/services/jpeg6/?--with-png=/usr/local/services/libpng/?--with-zlib ?--with-freetype=/usr/local/services/freetype
3.#?make?
4.#?make?install?
問題:?編譯GD庫時,報錯:gd_png.c:15:53: error: png.h: No such file or directory
解決:進入gd安裝包, vi gd_png.c
將
#include “png.h”?????????????
替換成:
#include “/usr/local/services/libpng/include/png.h”?????????????
然後再make就可以了
3.6安裝Curl curl-7.19.5.tar.gz
1.#?tar?-zxvf?curl-7.19.4.tar.gz??
2.#?./configure?--prefix=/usr/local/services/curl??
3.#?make??
4.#?make?install??
3.7安裝Libxml libxml2-2.7.7.tar.gz
1.#?tar?-zxvf?libxml2-2.7.7.tar.gz??
2.#?./configure?--prefix=/usr/local/services/libxml2?--with-zlib=/usr/local/services/zlib/??
3.#?make??
4.#?make?install??
3.8安裝PHP php-5.3.10.tar.gz
1.#?tar?-zxvf?php-5.6.36.tar.gz??
2.#?./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-libxml-dir --with-apxs2=/usr/local/apache2.2/bin/apxs --enable-inline-optimization --enable-shared --enable-opcache --enable-fpm --enable-bcmath --enable-soap --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --enable-zip --with-mysql=/usr/local/mysql5/ --enable-mbstring --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gd
- 拷貝配置文件
?cp?php.ini-production?/usr/local/services/php/lib/php.ini?
4.修改php.ini參數,使其符合zabbix的要求:
?? memory_limit=128M
?? post_max_size=16M
?? upload_max_filesize=2M
?? max_execution_time=300
?? max_input_time=300
?always_populate_raw_post_data = -1
?extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mysqli.so
?date.timezone= Asia/Shanghai
5.修改Apache2配置httpd.conf
在AddType application/x-gzip .gz .tgz 插入如下內容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
6.進入根目錄編輯測試文件: cd /usr/local/services/apache2/htdocs
7.cat > test.php
<?php??
phpinfo();??
?>??
8.重啟apache apachectl?restart
9.測試網頁:瀏覽器輸入 localhost/test.php 顯示結果:
二(2)Zabbix_server部署
1、創建Zabbix數據庫
Mysql>?create?database?zabbix?character?set?utf8;
2、創建zabbix用並賦權
grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix‘;
3、解壓zabbix安裝包:
tar -zxvf zabbix-3.4.8.tar.gz
4、導入數據庫sql腳本zabbix-3.4.8
/usr/local/Zabbix(自定文件目錄)/zabbix-3.4.8/database/mysql ---導入時root密碼要為空
mysql -uroot -p zabbix < schema.sql
mysql -uroot -p zabbix < images.sql
mysql -uroot -p zabbix < data.sql
5、創建zabbix 用戶組和用戶
groupadd zabbix
useradd -m -g zabbix zabbix
passwd zabbix
6、編譯安裝 prefix=/usr/local/zabbix //---zabbix 安裝路徑
//----安裝server,agent, proxy
進入解壓路徑 cd zabbix-3.4.8 //---編譯zabbix
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl
//---安裝zabbix
make
make install
---zabbix 配置
修改Agentd配置文件,更改HOST?NAME?為本機的hostname就好了
#vim?/usr/local/zabbix/etc/zabbix_agentd.conf————(文件路徑:/usr/local/zabbix/etc)
修改後內容如下
LogFile=/tmp/zabbix_agentd.log
Server= 10.133.212.150????????????????????????? ?#監控服務器的IP地址
Hostname= linux-1z88????????????????????????????????????#監控服務器的hostname
#?vim?/usr/local/zabbix/etc/zabbix_server.conf
修改後內容如下:
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
--配置環境變量:
vim /etc/profile
添加以下語句: PATH=/usr/local/zabbix/sbin:$PATH:; export PATH
---生效環境變量:
source /etc/profile
---啟動zabbix_server
shell> /etc/init.d/zabbix_server start
zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
解決方案:
ln –s /usr/local/mysql/lib/libmysqlclient.so.18/lib64/libmysqlclient.so.18
---啟動zabbix_agent
shell> /etc/init.d/zabbix_server start
---啟動zabbix_proxy(這個暫時用不上)
shell> zabbix_proxy
---配置zabbix 網頁接口
1、進入apache2 根目錄:
cd /usr/local//apache2/htdocs
2、創建zabbix目錄:
mkdir zabbix
3、拷貝文件:
進入原始安裝文件:
cd /etc/zabbix/zabbix-3.4.8/frontends/php //進入自定義安裝文件目錄
Cp /etc/zabbix/zabbix-3.4.8/frontends/php/ /usr/local/apache2/htdocs/zabbix/
---配置zabbix目錄訪問權限:添加
<Directory "/usr/local//apache2/htdocs/">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
--修改初始化文件:
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
訪問zabbix:
二(3)Zabbix_agent部署
1、上傳zabbix至服務器
2、解壓
YDCK-APP44:/soft/ # tar -xvf zabbix-3.4.8.tar.gz?
3、創建系統用戶
useradd zabbix
passwd zabbix
4、安裝gcc
略過?
5、安裝zabbix
YDCK-APP44:/soft/ # cd zabbix-3.4.8/
./configure --prefix=/usr/local/zabbix_agent --enable-agent
#(configure過程中報錯pcre,需安裝pcre,pcre-devel-7.8-2.18.x86_64.rpm)
make install?
6、修改配置文件
? vi /etc/services?
Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
#以上默認帶有
將 /usr/local/zabbix/etc/zabbix_agentd.conf文件中Server改成zabbix server端ip地址
#Zabbix_server地址為10.133.212.150
7、添加zabbix服務命令
cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd #拷貝腳本到系統服務目錄下
chmod +x /etc/init.d/zabbix_agentd?#添加腳本執行權限
chkconfig zabbix_agentd?on #添加開機啟動
vi /etc/rc.d/init.d/zabbix_agentd #編輯服務端配置文件
BASEDIR=/usr/local/zabbix_agent? #zabbix安裝目錄
/etc/init.d/zabbix_agentd start ? #開啟服務
/etc/init.d/zabbix_agentd stop #停止服務
Zabbix監控應用
根據生控的要求每天要對生產服務器進行日常巡檢,由於涉及的生產服務器較多,每天人力巡檢比較繁瑣,所以部署zabbix來實現對生產服務器的監控,節省大量的人力巡檢
目前zabbix采用被動模式進行工作,以120s為一個周期,Zabbix Server會向Zabbix Client端發送請求采集信息
SuSE系統之部署Zabbix監控服務