天天看點

51.zabbix監控工具

Zabbix3.2監控工具

Zabbix是一個基于WEB界面的提供的分布式系統監控以及網絡監視功能的企業級的開源工具。

Zabbix能監視各種網絡參數,保證伺服器系統的安全營運,并提供靈活的通知機制讓管理者迅速定位/解決存在的各種問題。

Zabbix由Zabbix_Server服務端和Zabbix_Agent用戶端還有Zabbix_proxy代理三個部分組成。

Zabbix_Server:可以通過SNMP,Zabbix_Agent,Ping,SNMP等方法提供對遠端伺服器/網絡狀态的監視。

Zabbix_Agent:是用來采集用戶端伺服器資料來交給Zabbix_Server處理。

Zabbix_Proxy:緩存同步伺服器監控資料。

Zabbix的主要功能:CPU負荷,記憶體使用,磁盤使用,網絡狀況,端口監視,日志監視。

Zabbix的監控架構:

<a href="https://s4.51cto.com/wyfs02/M02/9B/64/wKioL1li4WnyBEtUAAEVlgkgh6I692.png" target="_blank"></a>

Zabbix部署步驟:

環境需求:必須LNMP/LAMP環境的支援,需要PHP5.4以上版本支援才可以。

# systemctl stop firewalld                                    #關閉firewalld防火牆

# systemctl disable firewalld.service                           #禁止firewalld服務自啟

# sed -i -e 's|SELINUX=enforcing|SELINUX=disabled|' /etc/selinux/config  #關閉SELINUX

# sed -i -e 's|SELINUXTYPE=targeted|#SELINUXTYPE=targeted|' /etc/selinux/config

# setenforce 0

源碼編譯方式:

v 安裝相關依賴元件

# yum -y install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel gcc gcc-c++ net-snmp net-snmp-devel perl-DBI httpd mariadb*          #YUM部署LAMP環境

v 解壓安裝包

# tar xzvf zabbix-3.2.1.tar.gz

# cd zabbix-3.2.1

v 編譯安裝Zabbix

 安裝Server和Agent,并支援将資料放入MYSQL資料庫中:

# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl

 僅安裝Server,并支援将資料放入MYSQL資料庫中:

# ./configure --prefix=/usr/local/zabbix --enable-server  --with-mysql  --with-net-snmp --with-libcurl

 僅安裝Proxy代理,并支援将資料放入MYSQL資料庫中:

# ./configure --prefix=/usr/local/zabbix --enable-proxy --with-net-snmp --with-mysql --with-ssh2

 僅安裝Agent用戶端:

# ./configure --enable-agent

# make &amp;&amp; make install

注:--with-libcurl:監控WEB頁面響應時間,下載下傳速度。

v 授權Zabbix資料庫使用者

# systemctl start mariadb                             #啟動MYSQL

# mysqladmin -u root password 123               #設定資料庫ROOT使用者密碼

# mysql -u root -p123                                #登入資料庫

mysql&gt; create database zabbix character set UTF8;   #建立zabbix資料庫并指定編碼為UTF8

mysql&gt; grant all on zabbix.* to 'zabbix'@'localhost' identified by '123' with grant option;

mysql&gt; flush privileges;                            #授權zabbix使用者與重新整理授權

mysql&gt; exit

v 将Zabbix自帶的SQL檔案導入資料庫

# mysql -u zabbix -p123 zabbix &lt; database/mysql/schema.sql  #按順序導入

# mysql -u zabbix -p123 zabbix &lt; database/mysql/images.sql

# mysql -u zabbix -p123 zabbix &lt; database/mysql/data.sql

v 将Zabbix自帶的PHP頁面放入Nginx網頁根目錄

# cp -r frontends/php  /var/www/html/zabbix

# chmod 777 /var/www/html/zabbix/conf

v 将Zabbix添加到服務

# cp -r  misc/init.d/fedora/core/*  /etc/init.d/

# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_server

# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_agentd

v 修改Zabbix_server配置檔案

# sed -i -e 's|# DBPassword=|DBPassword=123|' /usr/local/zabbix/etc/zabbix_server.conf

# sed -i -e 's|# DBSocket=/tmp/mysql.sock|DBSocket=/var/lib/mysql/mysql.sock|' /usr/local/zabbix/etc/zabbix_server.conf

Zabbix_server配置檔案解析

LogFile=/tmp/zabbix_server.log

日志所在位置

LogFileSize=1

日志大小

PidFile=/tmp/zabbix_server.pid

PID程序檔案所在位置

DBHost

資料庫主機位址

DBName

資料庫名

DBUser

資料庫連接配接使用者名

DBPassword

資料庫連接配接使用者密碼

DBSocket

資料庫緩存檔案位置

DBPort

資料庫端口

StartPollers

Zabbix_server程序數

StartIPMIPollers

IPMI線程數(IPMI平台管理接口)

StartPollersUnreachable

該線程用來單獨監控無法連接配接的主機

StartTrapper

檢測主機的線程數

StartPingers

PING主機方式啟動的線程數

StartDiscoverers

發現主機的線程數

StartDBSyncers

将資料同步到資料庫的線程數

Timeout

Zabbix_server的檢測逾時時間

v 修改PHP配置

# sed -i -e 's|post_max_size = 8M|post_max_size = 16M|' /etc/php.ini

# sed -i -e 's|max_execution_time = 30|max_execution_time = 300|' /etc/php.ini

# sed -i -e 's|max_input_time = 60|max_input_time = 300|' /etc/php.ini

# sed -i -e 's|;date.timezone =|date.timezone = PRC|' /etc/php.ini

post_max_size

上傳最大檔案大小

date.timezone

時區設定(PRC代表中國)

max_execution_time

運作逾時時間(秒)

request_terminate_timeout

需求結束逾時時間(秒)

max_input_time

接受資料時間限制(秒)

v 建立運作使用者

# useradd zabbix

v 啟動服務

# service start zabbix_server

# systemctl start zabbix_agentd

# systemctl start httpd

# netstat -lnupt |grep 80

# ps aux |grep zabbix

v 通過網頁驗證通路

Http://localhost/zabbix

被監控主機配置

v 環境需求:關閉防火牆,SELinux

# systemctl stop firewalld

# iptables -F

# yum -y install gcc gcc-c++

v 解壓zabbix包

v 編譯安裝

# ./configure  --prefix=/usr/local/zabbix  --enable-agent

# echo 123 | passwd zabbix --stdin

v 添加到服務

v 修改Zabbix_agentd配置檔案

# sed -i -e 's|Server=127.0.0.1|Server=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf

# sed -i -e 's|ServerActive=127.0.0.1|ServerActive=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf

# sed -i -e 's|# Hostname=|Hostname=1.1.1.20|' /usr/local/zabbix/etc/zabbix_agentd.conf

 Zabbix_agentd配置檔案解析

UnsafeUserParameters

啟動自定義KEY

EnableRemoteCommands

開啟遠端指令

ListenPort

監聽端口

StartAgents

Agent線程數

Server

被動模式指定服務端位址

ServerActive

主動模式指定伺服器位址

Hostname

主機名

# service zabbix_agentd restart

# netstat -lnupt |grep 10050

YUM安裝方式:

環境需求:需要連接配接網絡,關閉防火牆,SELinux

# systemctl stop firewalld                                     #關閉防火牆

v 安裝Zabbix的YUM庫

# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm

# yum makecache                                           #重新生成緩存

# yum -y install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb*               #YUM部署LAMP環境

v 安裝Zabbix_server

# yum -y install zabbix-server-mysql zabbix-web-mysql

v 授權MYSQL資料庫

# systemctl start mariadb                                       #啟動資料庫

# mysqladmin -u root password 123                     

# mysql -u root -p123

&gt; create database zabbix character set UTF8;

&gt; grant all on zabbix.* to 'zabbix'@'localhost' identified by '123' with grant option;

&gt; flush privileges;

&gt; exit

v 導入Zabbix資料庫檔案

# mysql -u zabbix -p123 zabbix &lt; schema.sql

# mysql -u zabbix -p123 zabbix &lt; images.sql

# mysql -u zabbix -p123 zabbix &lt; data.sql

v 修改配置檔案

# sed -i -e 's|# DBPassword=|DBPassword=123|' /etc/zabbix/zabbix_server.conf

# zabbix_server

被監控端安裝配置

v 安裝Zabbix_agentd服務                          

# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm    

# yum makecache                                

# yum -y install zabbix-agent                              

v 啟動Zabbix_agentd服務                                    

# zabbix_agentd                                

# netstat -lnupt |grep zabbix                    

WEB配置圖檔導航:

<a href="https://s1.51cto.com/wyfs02/M02/9B/64/wKiom1li4Yyz4yGxAABZFHn_A-o866.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M02/9B/64/wKioL1li4Y2SmvHEAACycoUTx7w310.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/9B/64/wKioL1li4Y7jZEXmAACsLXwPN5k206.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M01/9B/64/wKiom1li4Y7jh6zeAAB7_9eFGxg694.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/9B/64/wKiom1li4Y_j3E1nAACJD4awsM8648.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/9B/64/wKioL1li4Y-zsJIoAADBZ-D7LBc188.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/9B/64/wKioL1li4ZCBJ7I6AABrrEKK960544.png" target="_blank"></a>

 安裝故障排查

故障一:MYSQL資料庫版本過高問題;   解決方法:重新安裝适用MYSQL資料庫

注:Current database version:目前版本          Required mandatory version:強制版本号

故障二:使用者授權問題;              解決方法:重新授權Zabbix資料庫使用者

 故障三:資料庫問題                 解決方法:重新導入Zabbix對應資料庫

故障四:伺服器程序過多問題          解決方法:設定配置檔案相關參數控制程序

注:Too many processes on Zabbix server:在Zabbix伺服器程序數太多

故障五:Zabbix_server啟動時線程數低導緻輪詢負載 解決方法:StartPollers設定為5或10

故障六:Zabbix_server在運作但是提示沒在運作     解決方法:關閉SELinux

故障七:資料庫密碼錯誤               解決方法:修改配置檔案zabbix.conf.php

<a href="https://s2.51cto.com/wyfs02/M00/9B/64/wKioL1li4f6g_BhMAAA2Mlg2cjs319.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/9B/64/wKioL1li4f_yC-OCAABj9-Xcy60773.png" target="_blank"></a>

本文轉自   觸動的風   51CTO部落格,原文連結:http://blog.51cto.com/10978134/1945798