Zabbix 安裝

image.png

Zabbix  


一、簡介

1、 zabbix 簡介 

    Zabbix 是一個高度集成的網絡監控解決方案,可以提供企業級的開源分佈式監控解決

方案,由一個國外的團隊續維護更新,件可以自由下使用,團隊靠提供收的技支持   

  zabbix是一個基於Web界面的,提供分佈式系統監控以及網絡監視功能的企業級的開源解決方案。

           zabbix能監視種網絡參數,保器系的安全運營提供活的通知機制以管理快速定位/解存在的各種問題

           zabbix主要由2部分成zabbix server和zabbix agent,可選組建zabbix proxy 

zabbix server可以通SNMP,zabbix agent,fping端口監視等方法對遠程服器或網絡狀態完成監視據收集等功能

          支持Linux以及Unix平臺,Windows平臺只能安裝客



2、Zabbix 功能

①具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫)

性能監控、FTP 等通用協議監控、多種告警方式、詳細的報表圖表繪製)

②支持自動發現網絡設備和服務器(可以通過配置自動發現服務器規則來實現)

③支持自動發現(low discoverykey 實現動態監控項的批量監控(需寫腳本)

④支持分佈式,能集中展示、管理分佈式的監控點

⑤擴展性強,server 提供通用接口(api 功能),可以自己開發完善各類監控(根據相關接口編寫程序實現)編寫插件容易,可以自定義監控項,報警級別的設置。

⑥數據收集

*  可用和性能檢測

*  支持snmp(包括trapping and polling)IPMIJMXSSHTELNET

*  自定義的檢測

*  自定義收集數據的頻率

*  服務器/代理和客戶端模式

*  靈活的觸發器

*  可以定義非常靈活的問題閾值,稱爲觸發器,從後端數據庫的參考值

*  高可定製的報警

*  發送通知,可定製的報警升級,收件人,媒體類型

*  通知可以使用宏變量有用的變量

*  自動操作包括遠程命令

*  實時的繪圖功能

*  監控項實時的將數據繪製在圖形上面

*  WEB 監控能力

*  ZABBIX 可以模擬鼠標點擊了一個網站,並檢查返回值和響應時間

Api 功能

*  應用api 功能,可以方便的和其他系統結合,包括手機客戶端的使用。

更多功能請查看


3、Zabbix 工作方式

Zabbix 通過C/S 模式採集數據,通過B/S 模式在web 端展示和配置。

被監控端:主機通過安裝agent 方式採集數據,網絡設備通過SNMP 方式採集數據

Server 端:通過收集SNMP agent 發送的數據,寫入數據庫(MySQLORACLE 等),

再通過php+apache web 前端展示。


4、Zabbix 的運行條件

Server:Zabbix Server 需運行在LAMP(Linux+Apache+Mysql+PHP)環境下(或者

LNMP),對硬件要求低

Agent:目前已有的agent 基本支持市面常見的OS,包含Linux、HPUX、Solaris、Sun、

windows

SNMP:支持各類常見的網絡設備

SNMP(Simple Network Management Protocol,簡單網絡管理協議


5、監控邏輯圖

image.png


二、安裝部署

1、環境準備

一臺centos 6.5操作系統服務器,關閉防火牆,selinux,部署lamp平臺

在這裏採用的lamp環境是apache2.4+mysql5.6+php5.6

[root@www zabbix]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[root@www zabbix]# uname -r

2.6.32-431.el6.x86_64      


2、安裝zabbix依賴包

yum install fping net-snmp-devel unixODBC-devel openssl-devel OpenIPMI-devel  java-devel curl-devel libxml2-devel iksemel-devel libevent-devel -y


個人習慣每安裝的服務都會另創建目錄,博主在這裏創建的是/service/zabbix,安裝包的位置安裝的位置在/usr/local/zabbix下載zabbix軟件包,並添加服務用戶


useradd zabbix -s /sbin/nologin/ -M

mkdir  /service/zabbix   -p 

下載tar包

cd  /service/zabbix   &&  wget  http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.2.6.tar.gz

tar xf zabbix-3.2.6.tar.gz         解壓

cd zabbix-3.2.6


3、安裝包說明

[root@www zabbix-3.2.6]# ll

總用量 1392

-rw-r--r--  1 1000 1000  49137 7月  22 2016 aclocal.m4

-rw-r--r--  1 1000 1000     98 7月  22 2016 AUTHORS

drwxr-xr-x  4 1000 1000   4096 7月  22 2016 bin        zabbix的windows版本程序

drwxr-xr-x  4 1000 1000   4096 7月  22 2016 build

-rw-r--r--  1 1000 1000 687803 7月  22 2016 ChangeLog

-rwxr-xr-x  1 1000 1000   7333 1月   3 2014 compile

drwxr-xr-x  3 1000 1000   4096 7月  22 2016 conf       zabbix的配置文件

-rwxr-xr-x  1 1000 1000  45297 8月  11 2013 config.guess

-rwxr-xr-x  1 1000 1000  35564 8月  11 2013 config.sub

-rwxr-xr-x  1 1000 1000 376528 7月  22 2016 configure

-rw-r--r--  1 1000 1000  46788 7月  22 2016 configure.ac

-rw-r--r--  1 1000 1000  17990 7月  22 2016 COPYING

drwxr-xr-x  7 1000 1000   4096 7月  22 2016 database   數據庫文件

-rwxr-xr-x  1 1000 1000  23566 1月   3 2014 depcomp

drwxr-xr-x  3 1000 1000   4096 7月  22 2016 frontends php文件,zabbix的web

drwxr-xr-x  2 1000 1000   4096 7月  22 2016 include

-rw-r--r--  1 1000 1000     82 7月  22 2016 INSTALL

-rwxr-xr-x  1 1000 1000  13997 1月   3 2014 install-sh

drwxr-xr-x  2 1000 1000   4096 7月  22 2016 m4

-rw-r--r--  1 1000 1000   3155 7月  22 2016 Makefile.am

-rw-r--r--  1 1000 1000  30553 7月  22 2016 Makefile.in

drwxr-xr-x  2 1000 1000   4096 7月  22 2016 man

drwxr-xr-x  5 1000 1000   4096 7月  22 2016 misc

-rwxr-xr-x  1 1000 1000   6872 1月   3 2014 missing

-rw-r--r--  1 1000 1000     52 7月  22 2016 NEWS

-rw-r--r--  1 1000 1000    188 7月  22 2016 README

drwxr-xr-x 10 1000 1000   4096 7月  22 2016 src     zabbix的核心程序文件

drwxr-xr-x  3 1000 1000   4096 7月  22 2016 upgrades


4、編譯安裝

./configure --prefix=/usr/local/zabbix \   #指定安裝目錄

--enable-server \                                             #安裝服務端

--enable-agent \                                              #安裝客戶端

--enable-java \                                        #安裝java模塊

--enable-ipv6 \

--with-mysql=/usr/local/mysql/bin/mysql_config  \

--with-net-snmp \

--with-libcurl \

--with-libxml2 \

--with-openipmi \

--with-unixodbc \

--with-openssl 

make&&make install


查看編譯位置

[root@www ~]# cd /usr/local/zabbix/

[root@www zabbix]# ll

總用量 20

drwxr-xr-x 2 root root 4096 8月  24 19:40 bin

drwxr-xr-x 4 root root 4096 8月  24 19:40 etc

drwxr-xr-x 2 root root 4096 8月  24 19:40 lib

drwxr-xr-x 2 root root 4096 8月  24 19:40 sbin

drwxr-xr-x 4 root root 4096 8月  24 19:40 share


5、導入zabbix文件到數據庫進入mysql配置


mysql -u root p   #進入數據庫

create database zabbix character set utf8;

注意,此處要特別注意數據庫字符集的問題,如果數據庫是非utf8 字符,則web 頁面改

爲中文,是會出現亂碼的

grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix'; 創建管理MySQL用戶

flush privileges;

mysql -u zabbix -pzabbix   #測試登錄數據庫


cd /service/zabbix/zabbix-3.2.6/database/mysql

mysql -u root -p    zabbix < schema.sql 

mysql -u root -p    zabbix < images.sql

mysql -u root -p    zabbix < data.sql


mysql -u zabbix -pzabbix  

use zabbix ;

show tables ;

登錄數據庫查看

image.png


6、拷貝配置文件及授權用戶我的apache數據保存目錄在/htdocs/

拷貝配置文件及授權用戶我的apache數據保存目錄在/htdocs/

mkdir /htdocs/zabbix

cp -r /service/zabbix/zabbix-3.2.6/frontends/php/* /htdocs/zabbix/

chown -R apache.apache /htdocs/zabbix/



7、修改php.ini文件

vim  /usr/local/php/php.ini

date.timezone = Asia/ Hong_Kong      

max_execution_time = 300 

post_max_size = 32M

max_input_time=300

memory_limit = 128M

mbstring.func_overload = 2


重啓:/etc/init.d/php-fpm restart 


8、修改虛擬主機配置

vim /usr/local/apache/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>        #端口

    ServerAdmin www.zabbix.com      #管理員登錄網址

    DocumentRoot "/htdocs/zabbix"    #指定網頁數據位置

    ServerName www.zabbix.com      #域名

       <Directory "/htdocs/zabbix">

       AllowOverride All             #訪控

       Require all granted

       </Directory>

    ErrorLog "logs/dummy-host2.example.com-error_log"   #錯誤日誌

    CustomLog "logs/dummy-host2.example.com-access_log" common   #日誌

 ProxyRequests off    #代理請求off指運行代理

 ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/htdocs/zabbix/$1   #把凡是以結尾是.php的訪問轉發到本機的9000端口上

</VirtualHost>


service httpd restart 重啓


9、zabbix 配置

路徑:/usr/local/zabbix/etc/zabbix_server.conf

修改主要參數即可工作

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix 數據庫

DBHost=127.0.0.1


修改客戶端配置:/usr/local/zabbix/etc/zabbix_agent.conf

Server=192.168.2.100 //配置zabbix服器的IP地址 
Hostname=zabbix_server //配置主機名 
PidFile=/var/tmp/zabbix_agentd.pid //指定pid路
 
LogFile=/var/log/zabbix/zabbix_agentd.log //
指定日誌文件 


9.1、配置啓動腳本

cp /service/zabbix/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_{server,agentd}  /etc/init.d/

[root@www zabbix]# ll -h /etc/init.d/zabbix_*

-rwxr-xr-x 1 root root 2.2K 8月  24 15:15 /etc/init.d/zabbix_agentd

-rwxr-xr-x 1 root root 2.2K 8月  24 15:15 /etc/init.d/zabbix_server


9.2、修改啓動腳本(不修改啓動會報錯)

vim /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix      #這裏是安裝服務的路徑

vim /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix


啓動

[root@www zabbix]# /etc/init.d/zabbix_server start       

Starting zabbix_server:                                    [確定]

[root@www zabbix]# /etc/init.d/zabbix_agentd start      

Starting zabbix_agentd:                                    [確定]


訪問:因爲我在本機改了hosts文件在這裏我是直接域名加端口訪問的

image.png


修改安裝時報錯問題

1、PHP string function overloading must be disabled.  錯誤:

修改片php.ini文件 mbstring.func_overload = 1  修改完畢之後重啓


2、PHP option "always_populate_raw_post_data" must be set to "-1"     

修改  /htdocs/zabbix/include/classes/setup/ CFrontendSetup.php

       添加 $current = -1;

        public function checkPhpAlwaysPopulateRawPostData() {

                $current = ini_get('always_populate_raw_post_data');

                $current = -1;

                return [

                        'name' => _s('PHP option "%1$s"', 'always_populate_raw_post_data'),

                        'current' => ($current != -1) ? _('on') : _('off'),

                        'required' => _('off'),

                        'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,

                        'error' => _s('PHP option "%1$s" must be set to "%2$s"', 'always_populate_raw_post_data', -1)

                ];

        }


填寫數據庫連接

image.png



配置zabbix server端的主機名,端口號

image.png


安裝

image.png


默認的賬號和是admin  密碼是zabbix

image.png


登錄成功(設置中文字體)

image.png


監控本機

默認我們已經啓動了zabbix客戶段服務 所以在主機列表中可以查看到

如果沒有啓動可以執行/etc/init.d/zabbix_ agentd restart  啓動zabbix客戶端

還需要在網頁配置,使zabbix起來

默認我們監控主機是沒有啓用的à雙擊停用的他就起來了

image.png

顯示綠色的ZBX則爲成功

image.png


監控一臺新的主機

拷貝腳本到主機執行

vim  zabbix_client_install.sh

#!/bin/bash

#關於配置文件修改,如果是外網的客戶端,需要把ServerActive和Server的值改爲101.96.129.162,(已經做過外網映射)

Modify_configuration(){

    #IP=`ifconfig |grep -o '192\.168\.1\.[0-9]\{1,3\}' |grep -v 255 |head -1`

    IP=`ifconfig eth0 |grep inet |sed 's/^.*addr://g' |sed s/Bcast.*//g`

    sed -i "

       /# HostMetadataItem/a\

       HostMetadataItem=system.uname

       s/^ServerActive=127.*/ServerActive=10.27.72.243/

       s/^Server=.*/Server=10.27.72.243/

       s/Hostname=Zabbix server/Hostname=${IP}/

       " /etc/zabbix/zabbix_agentd.conf

}

CentOS_agent_install(){

    wget https://mirrors.aliyun.com/zabbix/zabbix/3.2/rhel/6/x86_64/zabbix-agent-3.2.6-1.el6.x86_64.rpm

    rpm -ivh zabbix-agent-3.2.6-1.el6.x86_64.rpm

    Modify_configuration

    rm -rf zabbix-agent-3.2.6-1.el6.x86_64.rpm

    chkconfig zabbix-agent on

    service zabbix-agent restart

}

Ubuntu_agent_install(){

    wget https://mirrors.aliyun.com/zabbix/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix-agent_3.2.6-1%2bxenial_amd64.deb

    sudo dpkg -i zabbix-agent_3.2.6-1+xenial_amd64.deb

    Modify_configuration

    rm zabbix-agent_3.2.6-1+xenial_amd64.deb

    service zabbix-agent restart

}


cat /etc/*release |grep "CentOS" &>/dev/null

[ $? == 0 ] && CentOS_agent_install

cat /etc/*release |grep "Ubuntu" &>/dev/null

[ $? == 0 ] && Ubuntu_agent_install


效果圖image.png


在server端監控這臺客戶機

image.png


image.png

給監控的客戶端添加一個監控模板

image.png


image.png


保存查看圖形

image.png

到這裏就搭建完成,真心希望本篇博客可以幫助到您。



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