1. 程式人生 > >Zabbix監控系統

Zabbix監控系統

zabbix安裝

一、zabbix簡介:

zabbix是完全開源的工具,整合了cactinagios等特性

附:SNMP(udp 161 udp 162)

眾多網絡工具都支持此協議,比如常見路由交換,常見OS

其既可以做管理端也可以做被管理端

snmp協議大致有3個版本分別是v1 v2v3

無論是v1 v2 的安全性是比較差的,因為傳輸是明文的, V3的認證密碼用MD5/SHA摘要算法加密

很多工具支持網絡管理的功能,而對於非網絡設備(操作系統),可以完全拋開snmp這種不安全的架構來實現監控的。所以很多工具都是控制端和agent架構,他們有專屬的agent

Zabbix的主要功能:

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

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

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

支持分布式,能集中展示、管理分布式的監控點,擴展性強

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

數據收集,支持 snmp(包括 trapping and polling )IPMIJMXSSHTELNET

自定義的檢測;自定義收集數據的頻率;

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

靈活的觸發器;可以定義非常靈活的問題閾值,稱為觸發器;

高可定制的報警;發送通知,可定制的報警升級,收件人,媒體類型。

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

硬件監控:Zabbix IPMI Interface

系統監控:ZabbixAgent Interface

Java監控:Zabbix JMXInterface

網絡設備監控:Zabbix SNMP Interface

應用服務監控:Zabbix Agent UserParameter

MySQL數據庫監控:percona-monitoring-plulgins

URL監控:Zabbix Web 監控

zabbix重要組件說明:

1zabbix server:負責接收agent發送的報告信息的核心組件,所有配置、統計數據及操作數據都由它組織進行;

2database storage:專用於存儲所有配置信息,以及由zabbix收集的數據;

3web interfacezabbixGUI接口;

4proxy:可選組件,常用於監控節點很多的分布式環境中,代理server收集部分數據轉發到server,可以減輕server的壓力;

5agent:部署在被監控的主機上,負責收集主機本地數據如cpu、內存、數據庫等數據發往server端或proxy端;

另外,zabbix serverproxyagent都有自己的配置文件以及log文件,重要的參數需要在這裏配置,後面會詳細說明。

一個監控系統運行的大概的流程是這樣的:

agentd需要安裝到被監控的主機上,它負責定期收集各項數據,並發送到zabbix server端,zabbix server將數據存儲到數據庫中,zabbix web根據數據在前端進行展現和繪圖。這裏agentd收集數據分為主動和被動兩種模式:

主動:agent請求server獲取主動的監控項列表,並主動將監控項內需要檢測的數據提交給server/proxy

被動:serveragent請求獲取監控項的數據,agent返回數據。

zabbix常用的監控架構平臺

1server-agentd模式:

這個是最簡單的架構了,常用於監控主機比較少的情況下。

2server-proxy-agentd模式:

這個常用於比較多的機器,使用proxy進行分布式監控,有效的減輕server端的壓力。

zabbix的系統架構:

技術分享

Zabbix是一個基於Web界面的提供分布式系統監視以及網絡監視功能的企業級開源解決方案。借助Zabbix,可以很輕松地減輕運維人員們繁重的服務器管理任務,實現業務系統的持續運行。下面會逐步介紹Zabbix分布式監控系統的部署及使用

配置好IPDNS 、網關,確保使用遠程連接工具能夠連接服務器

zabbix監控服務器:192.168.130.76 #zabbix的服務端(若要監控本機,則需要配置本機的zabbixagent)

Zabbix agent被監控主機:192.168.130.78#zabbix的客戶端(被監控端,需要配置Zabbix agent

二、Zabbix部署前的LNMP環境的搭建過程:

Zabbix是基於lnmp環境搭建的,lnmp環境搭建參考前邊文檔這裏直接做zabbix。

三、監控系統Zabbix-3.2.1的安裝

zabbix-server端的操作

zabbix服務器端要提前安裝好LNMP環境(mysqlnginxphp5的安裝目錄均是/usr/local

創建Zabbix運行的用戶:

[[email protected] ~]#groupadd zabbix

[[email protected] ~]#useradd -g zabbix zabbix

安裝libcurlnet-snmp:

[[email protected] ~]#yum -y install net-snmp net-snmp-develcurl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel OpenIPMI-devel libssh2-devel

註:OpenIPMI-devel libssh2-devel軟件包使用centos在線yum軟件源安裝

安裝Fping:

[[email protected] ~]# tar zxffping-3.12.tar.gz

[[email protected] ~]# cd fping-3.12/

[[email protected] fping-3.12]# ./configure&& make && make install

[[email protected] fping-3.12]# chownroot:zabbix /usr/local/sbin/fping

[[email protected] fping-3.12]# chmod 4710/usr/local/sbin/fping

安裝Zabbix Server:

[[email protected] ~]# tar zxfzabbix-3.2.1.tar.gz

[[email protected] ~]# cd zabbix-3.2.1/

[[email protected] zabbix-3.2.1]# ./configure--prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java--with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl--with-openipmi

註意:編譯時最好帶上--enable-java這個參數,方便後續監控tomcat程序所用。

--with-ssh2 是不需要在客戶端服務器上面安裝Zabbix agent,如果需要使用ssh檢查,需要在編譯的時候加上這項,最低需要libssh2 1.0.0版本,需要安裝ssh開發包

--with-openipmi用戶可以利用 IPMI 監視服務器的物理特征,如溫度、電壓、電扇工作狀態、電源供應等

如果添加了--enable-proxy, 那麽會生成getsender兩條命令. 如下, 用於接收agent發生過來的信息, 同時發送給server.

[[email protected] zabbix-3.2.1]#make&& make install

添加系統軟連接

[[email protected] ~]# ln -s/usr/local/zabbix/bin/* /usr/local/bin/

[[email protected] ~]# ln -s/usr/local/zabbix/sbin/* /usr/local/sbin/

Zabbix Server配置與啟動
創建Zabbix數據庫和MySQL用戶:

mysql> create database zabbixcharacter set utf8;

Query OK, 1 row affected (0.01 sec)

mysql> grant all privileges onzabbix.* to [email protected] identified by ‘zabbix‘;

Query OK, 0 rows affected, 1 warning(0.00 sec)

導入Zabbix初始數據:

切換到zabbix的解壓目錄下

[[email protected] zabbix-3.2.1]# cddatabase/mysql/

[[email protected] mysql]# pwd

/root/zabbix-3.2.1/database/mysql

[[email protected] mysql]# ls

data.sql images.sql schema.sql

進行zabbix初始數據導入

[[email protected] mysql]# mysql -uzabbix-pzabbix -hlocalhost zabbix < schema.sql

[[email protected] mysql]# mysql -uzabbix-pzabbix -hlocalhost zabbix < images.sql

[[email protected] mysql]# mysql -uzabbix-pzabbix -hlocalhost zabbix < data.sql

編輯/usr/local/zabbix/etc/zabbix_server.conf:

[email protected] ~]# grep -v "^#"/usr/local/zabbix/etc/zabbix_server.conf | grep -v "^$"

LogFile=/usr/local/zabbix/logs/zabbix_server.log

PidFile=/usr/local/zabbix/logs/zabbix_server.pid

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

DBPort=3306

FpingLocation=/usr/local/sbin/fping

#mkdir -p /usr/local/zabbix/logs
#chown -R zabbix:zabbix /usr/local/zabbix

啟動Zabbix Server:

# /usr/local/zabbix/sbin/zabbix_server-c /usr/local/zabbix/etc/zabbix_server.conf

/usr/local/zabbix/sbin/zabbix_server:error while loading shared libraries: libmysqlclient.so.20: cannot open sharedobject file: No such file or directory

解決方法:

ld.so.conf中加入/usr/local/mysql/lib

[[email protected] zabbix-3.2.1]# cat/etc/ld.so.conf

include ld.so.conf.d/*.conf

/usr/local/mysql/lib

/usr/local/lib

[[email protected] zabbix-3.2.1]# ldconfig

再次執行zabbix_server啟動

# /usr/local/zabbix/sbin/zabbix_server-c /usr/local/zabbix/etc/zabbix_server.conf

[[email protected] init.d]# netstat -anpt|grep zabbix_server

tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 27199/zabbix_server

添加開機啟動腳本

[[email protected] ~]# cd zabbix-3.2.1/

# cpmisc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server

# cpmisc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd

[[email protected] zabbix-3.2.1]# chmod +x/etc/rc.d/init.d/zabbix_server

[[email protected] zabbix-3.2.1]# chmod +x/etc/rc.d/init.d/zabbix_agentd

[[email protected] zabbix-3.2.1]# chkconfig--add zabbix_server

[[email protected] zabbix-3.2.1]# chkconfig--add zabbix_agentd

[[email protected] zabbix-3.2.1]# chkconfigzabbix_server on

[[email protected] zabbix-3.2.1]# chkconfigzabbix_agentd on

修改zabbix開機啟動腳本中的zabbix安裝目錄

vi /etc/rc.d/init.d/zabbix_server #編輯服務端配置文件

BASEDIR=/usr/local/zabbix/ #zabbix安裝目錄

PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid #pid文件路徑

:wq! #保存退出

vi /etc/rc.d/init.d/zabbix_agentd #編輯客戶端配置文件

BASEDIR=/usr/local/zabbix/ #zabbix安裝目錄

PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid #pid文件路徑

:wq! #保存退出

[[email protected] zabbix-3.2.1]# systemctldaemon-reload

[[email protected] zabbix-3.2.1]#/etc/init.d/zabbix_server stop

Stopping zabbix_server (viasystemctl): [ OK ]

[[email protected] zabbix-3.2.1]# netstat-anpt | grep zabbix

[[email protected] zabbix-3.2.1]#/etc/init.d/zabbix_server start

Starting zabbix_server (viasystemctl): [ OK ]

[[email protected] zabbix-3.2.1]# netstat-anpt | grep zabbix

tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 28106/zabbix_server

設置防火墻規則

[[email protected] zabbix-3.2.1]# firewall-cmd--permanent --add-port=10051/tcp

success

[[email protected] zabbix-3.2.1]# firewall-cmd--reload

success

配置zabbix web頁面

在安裝目錄將frontends拷貝到指定的web root:

[[email protected] ~]# cd /root/zabbix-3.2.1/

[[email protected] zabbix-3.2.1]# cp -rfrontends/php/ /usr/local/nginx1.10/html/zabbix

[[email protected] zabbix-3.2.1]# chown -R www:www /usr/local/nginx1.10/html/zabbix/

註:/usr/local/nginx/htmlNginx默認站點目錄 wwwNginx運行賬戶

:PHP需要至少開啟擴展:

gd,bcmath,ctype,libXML,xmlreader,xmlwriter,session,sockets,mbstring,gettext,mysql
如下,查看是否包括了上面所提到的擴展模塊

[[email protected] ~]# /usr/local/php5.6/bin/php-m

[PHP Modules]

bcmath

bz2

Core

ctype

curl

date

dom

ereg

fileinfo

filter

ftp

gd

gettext

hash

iconv

json

libxml

mbstring

mcrypt

mhash

mysql

mysqli

openssl

pcntl

pcre

PDO

pdo_sqlite

Phar

posix

Reflection

session

shmop

SimpleXML

soap

sockets

SPL

sqlite3

standard

sysvsem

tokenizer

xml

xmlreader

xmlrpc

xmlwriter

zip

zlib

安裝web

訪問Web界面http://192.168.31.225/zabbix,進行相關web配置,配置完成後使用默認用戶admin(密碼:zabbix)登陸即可

進入ZABBIX WEB安裝畫面

技術分享

進入ZABBIX檢測畫面

技術分享

對數據庫進行設置,這裏如果數據庫在本地的話端口可以使用0

技術分享

點擊Next step 一下步進行zabbix server 細節的設置 這一步可以默認

技術分享

完成畫面有設置文件放在服務器的位置,請記下來

技術分享

技術分享

點擊Finish 完成

使用Admin 用默認密碼 zabbix 登錄

技術分享

登錄後畫面如下

技術分享

至此 ZABBIX的基礎安裝完成

本文出自 “13110271” 博客,請務必保留此出處http://13120271.blog.51cto.com/13110271/1956567

Zabbix監控系統