1. 程式人生 > >zabbix監控環境搭建指南---網上最最詳細搭建過程

zabbix監控環境搭建指南---網上最最詳細搭建過程

原創:Perry.Zhang  

修改:Jane.Hoo

本文未經許可嚴禁轉載。

注:涉及到的可自定義的部分均使用變量表示。如zabbix安裝路徑為$ZABBIX_HOME。

1.LNMP環境搭建

1.1.Nginx安裝

1.1.1.環境依賴

1)   支援rewrite功能必須安裝pcreperl相容的正則表示式庫。

# yum install pcre*

[[email protected] ~]# rpm -qa|grep pcre*

pcre-static-7.8-6.el6.x86_64

pcre-7.8-6.el6.x86_64

pcre-devel-7.8-6.el6.x86_64

2)   如需要SSL支援則還需要安裝openssl包。

# yum install openssl*

[[email protected] ~]# rpm -qa|grep openssl

openssl-static-1.0.1e-30.el6.11.x86_64

openssl098e-0.9.8e-18.el6_5.2.x86_64

openssl-1.0.1e-30.el6.11.x86_64

openssl-devel-1.0.1e-30.el6.11.x86_64

openssl-perl-1.0.1e-30.el6.11.x86_64

1.1.2.下載原始碼包

(本文使用1.9.3版本)

1.1.3.解壓與編譯安裝

$NGINX_HOME=/data/nginx

# tar -zxvf nginx-1.9.3.tar.gz

# ./configure--prefix=$NGINX_HOME \

--with-http_ssl_module--with-http_spdy_module \

--with-http_stub_status_module\

--with-pcre

# make&& make install

#ln –s $NGINX_HOME  /usr/local/nginx

1.1.4.修改配置檔案

         詳情參見nginx.conf和sites-enabled/$YOUR_VHOST.conf, $NGINX_HOME/sites-enabled是自定義的目錄,用來存放虛機配置。

1.1.5.檢測

1)  在修改完nginx的配置檔案後,應該先使用# $NGINX_HOME/sbin/nginx –t 驗證配置檔案是否沒有報錯

2)  如果配置檔案修改無誤的話,應使用# $NGINX_HOME/sbin/nginx –S reload命令熱啟動,重新載入新的配置檔案即可,無需重啟服務。

1.1.6.配置開機啟動

         # vim /etc/rc.local

         加入:$NGINX_HOME/sbin/nginx

啟動服務:

$NGINX_HOME/sbin/nginx

1.2.PHP安裝

1.2.1.環境依賴

# yuminstall gcc make gd-devellibjpeg-turbo-devel libpng-devel libxml2-devel  bzip2-devellibcurl-devel–y

注意:gd-devel是zabbix執行環境非必需軟體,但是其它複雜php程式執行的必需軟體

1.2.2.下載原始碼包

(本文使用5.5.27版本)

1.2.3.解壓與編譯安裝

# tar zxvf php-5.5.27.tar.gz

        $PHP_HOME=/data/php

# ./configure--prefix=$PHP_HOME\

--enable-fpm  \

--with-fpm-user=daemon\

--with-fpm-group=daemon\

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

--with-mysql=mysqlnd\

--with-mysqli=mysqlnd  \

--with-pdo-mysql=mysqlnd\

--with-iconv\

--with-iconv-dir  \

--with-freetype-dir  \

--with-jpeg-dir  \

--with-png-dir  \

--with-gd  \

--with-zlib  \

--with-libxml-dir  \

--with-curl  \

--with-curlwrappers  \

--with-mhash  \

--with-xmlrpc  \

--with-mcrypt\

--with-openssl  \

--enable-xml\

--disable-rpath  \

--enable-safe-mode  \

--enable-bcmath\

--enable-shmop  \

--enable-sysvsem  \

--enable-inline-optimization  \

--enable-mbregex  \

--enable-mbstring\

--enable-gd-native-ttf  \

--enable-ftp  \

--enable-pcntl  \

--enable-sockets  \

--enable-zip\

--enable-soap  \

--disable-debug  \

--disable-ipv6\

--with-gettext\

--enable-calendar\

--enable-dom

# make && make install

#ln –s  $PHP_HOME/usr/local/php

注:

1) 特別需要注意libmcrypt包。由於CentOS沒有版權所以通用的官方源裡都沒有這個包。推薦大家使用atomic的第三方源,或者使用原始碼包安裝(沒有編譯安裝過的不建議)。

# sh ./atomic(執行指令碼獲取最新源)

3) 其他缺少依賴包的報錯請自行處理,直接通過yum安裝相應的devel包即可。

4) 這裡編譯的PHP使用的是fpm的啟動型別,而沒有選擇fastcgi的形式。二者的區別可以百度。

1.2.4.安裝完成驗證

# php –version

         如環境變數中沒有,則執行下面的操作:

1)  # vim /etc/profile

2)  加入:

export PHP_HOME=/usr/local/php

export PATH=$PATH:$PHP_HOME/bin

3)  . /etc/profile

驗證:

# php --version(顯示版本資訊正確時安裝完成)

1.2.5.PHP啟動環境配置

# cd $PHP_SRC

拷貝原始碼包中的配置檔案到安裝目錄:

# cp -rf sapi/fpm/php-fpm.conf /usr/local/php/etc/

拷貝啟動檔案到啟動目錄:

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

拷貝生產環境配置檔案到安裝目錄:

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

1.2.6.加入到system V服務控制

# chkconfig --add php-fpm

修改啟動目錄下的啟動檔案的執行許可權為755:

# chmod 755 /etc/init.d/php-fpm

配置開機啟動:

# vim/etc/rc.local

加入:/etc/init.d/php-fpm  start

1.2.7.Php-fpm.conf優化

Php-fpm.conf:

error_log = /usr/local/php/var/log/php-fpm.log

log_level = notice

emergency_restart_threshold = 10

emergency_restart_interval = 1m

process_control_timeout = 5

daemonize = yes

listen.owner = daemon

listen.group = daemon

listen.mode = 0666

pm = dynamic

pm.max_children = 256

pm.min_spare_servers = 128

pm.max_spare_servers = 256

pm.max_requests = 1024(*)

request_terminate_timeout = 600s(*)

request_slowlog_timeout = 300s

rlimit_files = 65536

rlimit_core = 65536

注意:

在PHP與NGINX整合時,VHOST的fastcgi_pass不要使用本地迴環地址,因為TCP協議的傳輸速度很慢,因此建議使用unixsocket協議做程式間資訊傳輸。

如果在nginx與php結合時出現形如connect() to unix:/dev/shm/php.socket failed找不到socket檔案的錯誤時,請按以下步驟修復:

1)修改nginxvhost配置檔案,將對127.0.0.1:9000的監聽轉換為使用socket協議監聽:

如原為:fastcgi_pass    127.0.0.1:9000;

改為:fastcgi_pass    /dev/shm/php.socket;

2)手動建立/dev/shm/php.socket檔案:

# touch/dev/shm/php.socket

3)修改socket檔案許可權(修改的使用者必須與php-fpm.conf檔案中的usergroup一致):

# chown daemon:daemon/dev/shm/php.socket

# chmod 777 /dev/shm/php.socket

4)修改php-fpm.conf檔案中監聽物件:

原為:listen = 127.0.0.1:9000

改為:listen=/dev/shm/php.socket

5)重啟服務:

# nginx –s reload

# /etc/init.d/php-fpmrestart

1.2.8.Php.ini優化

max_execution_time = 300                
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone PRC

1.3.PHP與NGINX整合:

NGINX詳情參見每個vhost的配置檔案

PHP詳情如前所述。

1.4.MYSQL安裝:

二進位制包或原始碼安裝方式,本文不贅述。

2.zabbix server環境搭建

2.1.下載安裝包

(本文采用zabbix 2.4.5)

# wget

2.2.解壓與編譯安裝

$ZABBIX_HOME=/data/zabbix

# ./configure --prefix=$ZABBIX_HOME/ \

--enable-server \      //開啟server端,做zabbixserver的機器編譯時必須加入

--enable-agent \ //開啟agent端,被監控的機器編譯時必須加入,server端也應加入

--enable-proxy \ //開啟proxy端,打算使用zabbixproxy功能的機器編譯時必須加入

--with-mysql=/usr/local/mysql/bin/mysql_config \       //整合mysql。編譯時報找不到mysql_config時,應當加入原始碼安裝路徑中的絕對路徑

--with-net-snmp \     //整合郵件傳送模組。編譯時報找不到net-snmp-config時,應當加入絕對路徑

--with-libcurl \    //整合curl模組

--with-libxml2              //整合libxml2模組

#make && make install

#ln –s $ZABBIX_HOME /usr/local/zabbix

2.3.安裝輔助包fping

下載zabbix源,無需原始碼安裝:

# yum install fping

2.4.建立ZABBIX所在使用者與組

# groupadd zabbix

# useradd zabbix

2.5.初始化ZABBIX資料庫

注:

1)只有server 和 proxy需要使用資料庫。Proxy只需要匯入一個schema.sql檔案,而server在匯入schema.sql外還需匯入images.sqldata.sql.

2)建立資料庫時,如果沒有在配置檔案中預設定義庫字符集為utf8的話,那麼需要手動指定,否則會出現中文亂碼。

3)上述三個檔案的路徑為原始碼包中的database/mysql中。

4)三個檔案的匯入順序,schema.sql必須最先匯入。

mysql>create database zabbix default charset utf8;

# mysql –u$USER –p$PASSWD zabbix < schema.sql

# mysql –u$USER –p$PASSWD zabbix <images.sql

# mysql –u$USER –p$PASSWD zabbix <data.sql

2.6.建立ZABBIX的MYSQL使用者

mysql>grant all privileges on zabbix.* to [email protected] by 'zabbix';

mysql > flush privileges;

2.7.優化ZABBIX_SERVER配置檔案

注:檔案路徑在原始碼包下。

# cp $ZABBIX_SRC/config/zabbix_server.conf $ZABBIX_HOME/etc/

# mkdir -p $ZABBIX_HOME/alertscripts

# mkdir -p $ZABBIX_HOME/externalscripts

# mkdir -p $ZABBIX_HOME/log

# vim $ZABBIX_HOME/etc/zabbix_server.conf

ListenPort=10051

LogFile=$ZABBIX_HOME/log/zabbix_server.log

LogFileSize=1024

DebugLevel=3   

PidFile=$ZABBIX_HOME/zabbix_server.pid

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

DBSocket=/tmp/mysql.sock

DBPort=3306

StartPollers=10

StartPollersUnreachable=10

StartTrappers=10

StartPingers=5

ListenIP=0.0.0.0

HousekeepingFrequency=1

CacheSize=1024M

StartDBSyncers=10

HistoryCacheSize=1024M

TrendCacheSize=512M

ValueCacheSize=32M

Timeout=20

AlertScriptsPath=$ZABBIX_HOME/alertscripts

ExternalScripts=$ZABBIX_HOME/externalscripts

LogSlowQueries=3000

注:以上引數都已優化,且在實際生產環境測試檢驗。

注:PROXY的配置沒有列在本文的討論範圍內。

2.8.配置ZABBIX SERVER服務

配置自啟動:

# cp$ZABBIX_SRC/misc/init.d/fedora/core5/zabbix_* /etc/init.d/

注:CentOS和RedHat均使用fedora下的指令碼。

# chmod+x /etc/init.d/zabbix_*

# chown-R zabbix:zabbix $ZABBIX_HOME/

# vim/etc/init.d/zabbix_server

修改ZABBIX_BIN="$ZABBIX_HOME/sbin/zabbix_server"

2.9.防火牆規則配置

如果開啟防火牆,則需要增加針對zabbix_server的規則:

# iptables-A INPUT -p tcp -m tcp --dport 10050:10051 -j ACCEPT

# iptables-A INPUT -p udp -m udp --dport 10050:10051 -j ACCEPT

#service iptables save

2.10.啟動ZABBIX_SERVER

# /etc/init.d/zabbix_serverstart

若無報錯則配置ZABBIX SERVER服務成功。

配置開機自啟動[建議]:

# vim/etc/rc.local

/etc/init.d/zabbix_serverstart

# chkconfig--addzabbix_server

#chkconfig --level 3 5 zabbix_server on

3.配置ZABBIX WEB

1.    前面已經配置並啟動了nginx伺服器。

2.    Zabbix web工程全部拷貝到之前配置的vhost指定的路徑中。

如:

vhost指定的工程路徑為:root  $ZABBIX_HOME/frontends;

則應執行:

# cp –r $ZABBIX_SRC/frontends/php/* $ZABBIX_HOME/frontends

      注:

1)        在上述安裝配置結束後,請務必保證zabbix的安裝路徑的屬主為zabbix:zabbix

nginx的安裝路徑的屬主為daemon:daemon

2)        修改完nginxzabbix的配置後,記得重啟服務(nginx為熱載入配置檔案,無需重啟服務)。

3.    登入之前配置的虛擬主機域名: test.zabbix.com

出現首次安裝介面則安裝成功。

 


如果出現配置錯誤會如下圖所示:


這裡的錯誤是php.ini中的max_input_time引數設定過小,推薦值為300.

修改後重啟PHP-FPM:# /etc/init.d/php-fpmrestart

修復後報錯消失,如無其他報錯則執行下一步。

 

Next後進入資訊檢查頁


無誤的話點選next。

如果出現$ZABBIX_HOME/frontends/conf/zabbix.conf.php"created: Failed的報錯的話,則需要給你存放zabbix前端程式碼的資料夾更高的許可權。這裡我給了777.

# chmod –R 777 $ZABBIX_HOME/frontends/

 

安裝成功。進入下圖的登入介面。

預設的使用者密碼為admin/zabbix

 

歡迎使用~

4.安裝ZABBIX AGENT端

1.      下載與SERVER端相同。

2.      解壓與編譯安裝:

如果是SERVER伺服器的話,那麼我們在上面的安裝過程中已經介紹瞭如何編譯。可以跳過此步。

獨立的需要被監控的機器上需要如下過程安裝ZABBIX AGENT端:

# ./configure --prefix=$ZABBIX_HOME --enable-agent

# make && make install

3.    優化ZABBIX_AGENTD的配置檔案:

# vim $ZABBIX_HOME/etc/zabbix_agentd.conf

LogFile=$ZABBIX_HOME/log/zabbix_agentd.log

LogFileSize=1024

DebugLevel=3

PidFile=$ZABBIX_HOME/zabbix_agentd.pid

Server=127.0.0.1    

ServerActive=127.0.0.1

注:ServerServerActive指定的都是SERVER端的地址。不同的是Serve是被動而ServerActive是主動。即Server=127.0.0.1允許127.0.0.1這個IP來取資料,而ServerActive=127.0.0.1則表示客戶端主動提交資料給這個IP。如果SERVER端和AGENT端不在同一臺機器(如監控機),則需要將該機器上zabbix_agentd.conf檔案的這兩個值設定為SERVERIP地址。

ListenPort=10050

UnsafeUserParameters=1

EnableRemoteCommands=1

Timeout=10

Hostname=$YOUR_HOST

4.    拷貝啟動指令碼到init.d:

# cp $ZABBIX_SRC/misc/init.d/fedora/core5/zabbix_agentd \

/etc/init.d/zabbix_agentd

5.    啟動ZABBIX_AGENTD:

# /etc/init.d/zabbix_agentd start

注:提示找不到~~/sbin/zabbix_agentd檔案時,修改/etc/init.d/zabbix_agentd指令碼中的$ZABBIX_BIN變數為$ZABBIX_HOME/sbin/zabbix_agentd

6.    加入自啟動:

# vim /etc/init.d/rc.local

/etc/init.d/zabbix_agentd start

7.    檢查web頁面中zabbix_agent是否啟動成功:

如果所監控的機器的agent端圖示一直沒有點亮,則需要檢視它的日誌。

日誌路徑:$ZABBIX_HOME/log/zabbix_agentd.log

錯誤類似:

說明zabbix裡面監控的主機名和在配置檔案裡面的儲存的主機名不一樣預設沒有開啟監控。

開啟監控的方法如下:

configuration->Hosts面板中Status,啟用monitored,才能監控server

 

正確監控後,被監控主機的 avalibility 會變成綠色。

開啟監控也可以直接在主機面板下方開啟,如下:


安裝教程到此為止。後續會繼續SOP教程。

相關推薦

zabbix監控環境搭建指南---網上最最詳細搭建過程

原創:Perry.Zhang   修改:Jane.Hoo 本文未經許可嚴禁轉載。 注:涉及到的可自定義的部分均使用變量表示。如zabbix安裝路徑為$ZABBIX_HOME。 1.LNMP環境搭建 1.1.Nginx安裝 1.1.1.環境依賴 1)   支援rewrit

zabbix監控環境搭建

windows 解決方案 系統管理員 服務器 server zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各種問題。

Zabbix監控環境搭建

監控 zabbix Zabbix簡介:zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。zabbix由2部分構成,zabbix serve

Zabbix監控環境搭建實現7x24監控服務

允許 lamp flush fonts 發郵件 通用 ble 傑出 tmp Zabbix是一個高度集成的企業級開源網絡監控解決方案,與Cacti、nagios類似,提供分布式監控以及集中的web管理界面。zabbix具備常見商業監控軟件所具備的功能,例如主機性能監控,網絡設

Docker 容器監控環境(Influxdb + Cadvisor + Grafana)搭建

       由於伺服器環境上執行的Docker容器比較多,有時候一些容器的執行情況需要監控,特別是生產環境下的容器監控,這個時候我們安裝Influxdb + Cadvisor + Grafana服務特別有用。 一、Influxdb 用於資料儲存 &n

centos6.5lnmp環境 zabbix監控平臺搭建

zabbix lamp 監控 nginx+php centos6.5 一:安裝nginx~安裝依賴[root@localhost ~]# yum -y install pcre* openssl* 編譯安裝 [root@localhost ~]# ls anaconda-ks.

Linux中詳細搭建監控服務zabbix部署

排查 cto 守護 3.4 linux中 末尾 service 分享圖片 lamp 1.Linux服務器安裝zabbix監控平臺   zabbix是基於web界面的開源分布式監控平臺,可以監控各種服務器的配置參數,支持自定義配置和自定義告警,並且可以實現郵件、短信等方式的告

LNMP環境搭建zabbix監控平臺

安裝之前,先建幾個目錄:    mkdir tools    mkdir /usr/local/mysql    mkdir /usr/local/mysql/data    mkdri /usr/local/zabbi

python selenium 環境開發新手搭建指南

src tar dex med 建立 soft unit http 完成 一.所需軟件: 1. python2.7.13 2. pycharm 3. selenium 4. chromedriver 5. chrome瀏覽器 所有軟件下載地址: python3

zabbix監控搭建步驟

兩臺 項目上線 for 80端口 .org .com use 新建 logs Zabbix搭建,監控tomcat、mysql三臺服務器,以及微信告警 系統詳情:Centos6.5 Centos6.8 Centos6.7 新項目上線在即,現在在測試階,搭建zabbix進行監控

搭建Zabbix監控服務器

cut configure 5.1 start 回車 存儲 安裝目錄 conn str 搭建Zabbix監控服務器 192.168.4.88一、部署服務運行環境LAMP#rpm -q httpd mariadb-server php#yum -y install

Linux 搭建Zabbix監控

ctu passwd 命令 rem user 自動 使用 sender inpu 搭建Zabbix監控一,搭建Zabbix監控 服務器 192.168.4.211.1 部署服務運行環境 (LAMP/LNMP)1.2 安裝zabbix 軟件(源碼) 軟件包: zabbi

centos7手把手教你搭建zabbix監控

centos7手把手教你搭建zabbixCentos7安裝部署zabbix3.4centos系統版本: 1、安裝前需要先關閉selinux和firewall.1.1[root@zabbix ~]# vi /etc/selinux/config 將SELINUX=enforcing改為SELINUX=disa

轉載:超詳細搭建PhpStorm+PhpStudy開發環境

網站目錄 view 尋找 運行 代碼上傳 tar down copyto HR 轉載:http://blog.csdn.net/u012861467/article/details/54692236 剛開始接觸PHP開發,搭建開發環境是第一步,網上下載PhpStorm和

Linux監控平臺——搭建zabbix監控平臺

搭建zabbix監控平臺19.1 Linux監控平臺介紹 常見開源監控軟件 cacti、nagios、zabbix、smokeping、open-falcon等等。cacti、smokeping偏向於基礎監控,成圖漂亮。cacti、nagios、zabbix服務端監控中心,需要php環境支持,其中zabbi

zabbix監控搭建

zabbix監控zabbix監控的搭建 zabbix的組件介紹 zabbix agent:部署在被監控的主機上,負責被監控的主機數據並發送給zabbix server zabbix server:負責接收agent發來的數據並保存至zabbix database zabbix database:用來存儲所有z

docker搭建zabbix監控

zabbix docker1、創建目錄[root@localhost script]# mkdir /usr/local/zabbix/etc/script 2、編輯容器發現腳本[root@localhost script]# vim docker_discovery.py#!/usr/bin/env pyt

Java環境搭建指南

edit 1.3 open mage work local 菜單欄 下載 nbsp 1.1 配置Java環境 1. 下載並安裝Jdk1.7或Jdk1.8 http://www.oracle.com/technetwork/java/javase/downloads/ind

線上實戰zabbix監控mongodb詳細步驟

都是 targe 獲取 alt reat ubuntu16 系統參數 supported 服務 **Zabbix 監控mongodb做後整理** 系統運維工程師 李超因為我安全問題我們只能呢個通過mo

mysql 數據庫搭建Zabbix 監控

led 文檔 cin swd bin star user con .so mysql安裝zabbix4.0一 準備環境 1. 關閉系統selinux[root@linux01 ~]#vi /etc/selinux/config #This file controls th