Linux/Centos 無網環境安裝zabbix

zabbix 是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平臺上。

安裝使用

zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。zabbix agent可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系統之上。
zabbix server可以單獨監視遠程服務器的服務狀態;同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監視數據(agent方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。
另外zabbix server還支持SNMP (v1,v2),可以與SNMP軟件(例如:net-snmp)等配合使用。

搭建Zabbix監控環境

要想搭建一個Zabbix的工作環境,需要從服務器入手。與服務器通信,管理員需要使用一個Zabbix前端界面,與Zabbix服務器和數據庫進行通信。三個關鍵(界面、服務器和數據庫)可以安裝在同一臺服務器上,但是如果你擁有一個更大更復雜的環境,將它們安裝在不同的主機上也是一個選項。Zabbix服務器能夠直接監控到同一網絡中的設備,如果其他網絡的設備也需要被監控,那還需要一臺Zabbix代理服務器。

特點

zabbix的主要特點:
安裝與配置簡單,學習成本低
支持多語言(包括中文)
免費開源
自動發現服務器與網絡設備
分佈式監視以及WEB集中管理功能
可以無agent監視
用戶安全認證和柔軟的授權方式
通過WEB界面設置或查看監視結果
email等通知功能
Zabbix主要功能:

CPU負荷
內存使用
磁盤使用
網絡狀況
端口監視
日誌監視。

介紹

本文是在centos6.8-64位系統上安裝zabbix3.4.8版本

本文中用到的所有軟件添加最下方二維碼免費提供
Linux/Centos 無網環境安裝zabbix
本文是在lnmp環境上搭建zabbix3.4.8

Nginx版本:1.9.3 源碼編譯安裝

Mysql版本:5.6.32 源碼編譯安裝

php版本:5.6.9 源碼編譯安裝

zabbix版本:3.4.8 源碼編譯安裝

下面開始安裝

系統環境準備

關閉防火牆

service iptables stop

chkconfig iptables off

關閉selinux

setenforce 0

vim /etc/sysconfig/selinux //修改如下

配置本地yum

配置本地yum源,如果機器有網絡yum源,此步驟忽略

上傳Centos6.8系統鏡像到服務器目錄:/data/zabbix
Linux/Centos 無網環境安裝zabbix
掛載系統鏡像盤

mkdir /data/yum/

mount -o loop /data/zabbix/CentOS-6.8-x86_64-bin-DVD1.iso /data/yum

df –h //掛載完後如下所示
Linux/Centos 無網環境安裝zabbix
新建一個目錄,把鏡像裏面的所有東西都拷貝出來,因爲在後面安裝rpm包的時候有些包系統鏡像裏面沒有,這時候需要去網絡yum源去下載包然後傳到我們本地yum源裏放rpm包的地方,系統盤掛載是不允許寫入的,所以我們掛載後把所有的文件都拷貝到一個新目錄

操作如下:

mkdir /data/yumserver

cp –R /data/yum/* /data/yumserver/

複製完以後,我們去配置yum,操作如下

cd /etc/yum.repos.d/

mkdir bak

cp * ./bak

vim yum.repo //文件內容如下複製粘貼即可

[base]

name=yumserver

enabled=1

baseurl=file:///data/yumserver/

gpgcheck=0

yum list //如果出現很多包說明yum可用

開始安裝

Nginx安裝

軟件版本:version 1.9.3

上傳nginx-1.9.3.tar.gz到服務器目錄:/usr/local/src

使用yum安裝依賴包

yum install gcc zlib zlib-devel openssl openssl-devel pcre pcre-develncurse -y

(注:yum安裝包的途中,如果報錯 說那個包沒有去可以上網的服務器訪問下面地址,ctrl+f 搜索報錯的包名,缺那個包去找那個,下載後傳到服務器目錄:/data/yumserver/Packages

然後繼續安裝。下面安裝php和zabbix可能也需要去下載rpm包

Rpm包下載地址:http://mirrors.163.com/centos/6/os/x86_64/Packages/

示例:
Linux/Centos 無網環境安裝zabbix
cd /usr/local/src

tar -zxvf /usr/local/src/nginx-1.9.3.tar.gz

cd nginx-1.9.3

./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --with-http_ssl_module

make && make install

啓動方法

/usr/local/nginx/sbin/nginx

也可以通過/etc/init.d/nginx start|stop|restart方式

將附件裏的nginx啓動腳本上傳到/etc/init.d/下

chmod 755 /etc/init.d/nginx //賦權

chkconfig --add nginx //添加nginx爲系統服務

chkconfig nginx on //配置開機自啓動

mysql安裝

軟件版本 MySQL-5.6.32

上傳mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz到服務器目錄:/usr/local/src (軟件包見附件)

cd /usr/local/src

tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz

mv mysql-5.6.32-linux-glibc2.5-x86_64 /usr/local/mysql

groupadd mysql

useradd -g mysql mysql

cd /usr/local/mysql

mkdir /usr/local/mysql/data/tmp

chown -R mysql:mysql /usr/local/mysql/data

./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

vim /etc/my.cnf //複製以下內容

[mysqld]

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/data/mysql.sock

character_set_server=gbk

user=mysql

default-storage-engine=INNODB

tmpdir=/usr/local/mysql/data/tmp

symbolic-links=0

innodb_buffer_pool_size= 1G

skip-name-resolve

event_scheduler= 1

port= 3306

server_id= 1

wait_timeout=2880000

interactive_timeout= 2880000

max_allowed_packet= 512M

join_buffer_size= 128M

sort_buffer_size= 2M

read_rnd_buffer_size= 2M

lower_case_table_names= 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqldump]

quick

max_allowed_packet= 512M

[client]

default-character-set=gbk

socket=/usr/local/mysql/data/mysql.sock

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

vim /etc/init.d/mysqld //文件開頭添加如下內容

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

chkconfig --add mysqld //添加mysql爲系統服務

chkconfig mysqld on //設置mysql開機自啓動

service mysqld start //啓動mysql

php安裝

上傳php-5.6.9.tar.gz到服務器目錄:/usr/local/src

cd /usr/local/src

tar -zxvf php-5.6.9.tar.gz

ln -sv php-5.6.9 php

cd php/

./configure \

-prefix=/usr/local/php\

-with-config-file-path=/usr/local/php/etc\

-enable-inlin\

-disable-e-optimizationdebug \

-disable-rpath\

-enable-shared\

-enable-opcache\

-enable-fpm\

-with-mysql=/data/mysql\

-with-mysqli=/data/mysql/bin/mysql_config\

-with-pdo-mysql=/data/mysql\

-with-gettext\

-enable-mbstring\

-with-iconv\

-with-openssl\

-enable-bcmath\

-enable-soap\

-with-libxml-dir\

-enable-pcntl\

-enable-shmop\

-enable-sysvmsg\

-enable-sysvsem\

-enable-sysvshm\

-enable-sockets\

-with-curl\

-with-zlib\

-enable-zip\

-with-bz2\

-with-gd\

-with-freetype-dir\

-with-jpeg-dir\

-with-png-dir

(注意:配置過程中可能會因爲環境不同,報錯缺失rpm包,把報錯信息複製粘貼百度,看是缺什麼包,然後去網上下載回來yum安裝 )

make && make install

php.ini是php運行核心配置文件

php-fpm.conf是php-fpm進程服務的配置文件

cp php.ini-production /usr/local/php/etc/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

fpm測試php配置

/usr/local/php/sbin/php-fpm –t
Linux/Centos 無網環境安裝zabbix
#chkconfig --add php-fpm

#chkconfig php-fpm on

#service php-fpm start

配置nginx+php

配置php

#vim /usr/local/php/etc/php-fpm.conf //修改以下幾項

user = www

group = www

listen = 10.42.221.56:8000 #使用真實ip

編輯php的ini文件並修改以下下內容

#vim /usr/local/php/etc/php.ini

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

date.timezone = Asia/Shanghai

always_populate_raw_post_data= -1

配置nginx

#vim /usr/local/nginx/conf/nginx.conf //修改以下內容

user www;

server_name 10.42.221.56 ;

root /usr/local/nginx/html;

location ~ ^/.*.php$ {

       root /usr/local/nginx/html;

       fastcgi_pass   10.42.221.56:8000;

       fastcgi_index  index.php;

       fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;

       include        fastcgi_params;

#vim /usr/local/php/etc/php-fpm.conf //修改以下兩項

user = www

group = www

#groupadd www

#useradd –g www www

#cd /usr/local/nginx/html/

#vim index.php //寫入下面內容

<?php phpinfo(); ?>

最後重啓nginx和php-fpm

#/usr/local/nginx/sbin/nginx –s reload

#service php-fpm restart

訪問http://ip/index.php出現下圖說明成功
Linux/Centos 無網環境安裝zabbix
zabbix安裝

#tar -zxvf zabbix-3.4.8.tar.gz

#cd zabbix-3.4.8

設置web前端

#mkdir /usr/local/nginx/html/zabbix

#cp -R zabbix-3.4.3/frontends/php/* /usr/local/nginx/html/zabbix

設置nginx的執行和所有者

#chown -R www.www /usr/local/nginx/html/zabbix

賦予可執行權限

#chmod -R 755 /usr/local/nginx/html/zabbix/
創建zabbix用戶和組
#groupadd zabbix
#useradd -g zabbix zabbix
編譯安裝zabbix
#./configure --enable-server --enable-agent --with-mysql=/data/mysql/bin/mysql_config --enable-ipv6 --enable-java --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl --prefix=/usr/local/zabbix
編譯成功會出現下圖
Linux/Centos 無網環境安裝zabbix
#make install

修改配置文件zabbix_server.conf

#vim /usr/local/zabbix/etc/zabbix_server.conf //修改以下內容

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

#cp zabbix-3.4.8/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server

#cp zabbix-3.4.8/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

修改 /etc/init.d/zabbix_server、/etc/init.d/zabbix_agentd的BASEDIR=/usr/local/爲BASEDIR=/usr/local/zabbix

進入數據庫,剛裝的mysql密碼爲空,直接回車就行

#mysql –u root

mysql>CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

mysql>GRANT ALL PRIVILEGES ON . TO‘zabbix'@'localhost’ IDENTIFIEDBY 'zabbix';

mysql>use zabbix;

mysql>source zabbix-3.4.8/database/mysql/schema.sql;

mysql>source zabbix-3.4.8/database/mysql/images.sql;

mysql>source zabbix-3.4.8/database/mysql/data.sql;

重啓所有服務

啓動nginx

#/usr/local/nginx/sbin/nginx –s reload

重啓數據庫

#service mysqld restart

啓動zabbix_server和zabbix_agent

#/etc/init.d/zabbix_server start

#/etc/init.d/zabbix_agentd start

設置zabbix開機自啓

#chkconfig --add /etc/init.d/zabbix_server

#chkconfig --add /etc/init.d/zabbix_agentd

#chkconfig zabbix_server on

#chkconfig zabbix_agentd on

瀏覽器訪問zabbix頁面並進行初始化
Linux/Centos 無網環境安裝zabbix
Linux/Centos 無網環境安裝zabbixLinux/Centos 無網環境安裝zabbix
Linux/Centos 無網環境安裝zabbix
Linux/Centos 無網環境安裝zabbix
Linux/Centos 無網環境安裝zabbixLinux/Centos 無網環境安裝zabbix
Linux/Centos 無網環境安裝zabbix
Zabbix實現郵件報警
安裝插件
安裝郵件發送工具mailx
#yum –y install mailx dos2unix
配置
修改/etc/mail.rc,複製以下內容
#vim /etc/mail.rc
set sendcharsets=iso-8859-1,utf-8
set [email protected] #發件人郵箱地址
set smtp=smtp.163.com #smtp服務器地址
set [email protected] #認證用戶
set smtp-auth-password=xxxxxxxxx #認證密碼
set smtp-auth=login

修改zabbix主配置文件zabbix_server.conf,加入下面一行
#vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

新建郵件發送腳本sendmail.sh
#cd /usr/lib/zabbix/alertscripts
#vim sendmail.sh //複製以下內容
#!/bin/bash
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
mail -s "$2" $1 < $FILE
#chmod 755 sendmail.sh
#chown zabbix.zabbix sendmail.sh
#touch /tmp/mailtmp.txt
#chmod 755 /tmp/mailtmp.txt
#chown zabbix.zabbix /tmp/mailtmp.txt
配置web頁面
創建媒體類型

管理–>報警媒介類型–>創建媒體類型
Linux/Centos 無網環境安裝zabbix
Linux/Centos 無網環境安裝zabbix
按圖示填寫完成後點擊更新,就會在報警媒介類型中看到剛纔創建的名爲Email類型
給用戶添加報警媒介

此處以Admin用戶爲例 管理–>用戶–>點擊Admin
Linux/Centos 無網環境安裝zabbix
點擊報警媒介,然後添加郵件接收人
Linux/Centos 無網環境安裝zabbix
創建動作
Linux/Centos 無網環境安裝zabbix
Linux/Centos 無網環境安裝zabbix
Linux/Centos 無網環境安裝zabbix
Linux/Centos 無網環境安裝zabbix
配置完成

添加完成後動作頁面列表就會展示出來
此時沒有添加相應的觸發器,如果系統中任何一臺機器出現告警信息,就會通過郵件發送器發送到對應的郵箱中。

然後我們新建一個監控項,監聽zabbix的22端口如果22端口處於偵聽狀態,就發郵件報警

郵件報警內容如下:
Linux/Centos 無網環境安裝zabbix
如果對此文有什麼問題的話,請加下面微信一起探討
Linux/Centos 無網環境安裝zabbix

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章