Zabbix分佈式監控(一)——Zabbix監控平臺搭建及添加被監控主機

一、Zabbix概述

1、Zabbix簡介

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

zabbix由zabbix server與可選組件zabbix agent兩部門組成。

  • zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視。
  • zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。

2、爲什麼需要對各類系統運行進行監控?

加粗樣式當系統構建時的正常流程中,通常是不允許未被監控的系統或應用上線的因爲未被監控的系統存在不可預知性,故障未知等不確定因素,且無法及時被發現並排除的,這時整個架構或系統來說都是非常大的風險因患,所以我們在原則上是要對整個的架構或系統進行監控,隨時監控各個方面的指標是否正常,以提高系統的穩定性。

3、工作原理

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

Zabbix agent需要安裝到被監控的主機上,它負責定期收集各項數據,併發送到zabbix server端,zabbix server將數據存儲到數據庫中,zabbix web 根據數據在前端進行展現和繪圖。

這裏agent收集數據分爲主動和被動兩種模式:

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

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

4、Zabbix的常用組件

  • Zabbix Web Gui: 提供Web界面
  • Zabbix Databases:提供數據庫存儲功能並用於存儲配置信息。以及採集到的數據。
  • Zabbix Server : 接收來自Agent採集數據的核心組件
  • Zabbix Agent :部署在被監控的主機上,用於採集本地的數據。
  • Zabbix Proxy: 當監控節點較多時,用於減輕Server壓力組件,也可用於分佈式監控系統,由Proxy接收數據後統一發送給Server.

5、Zabbix支持的數據採集協議

  • SNMP(Simple Network Managerment Protocol),這是一個非常古老的且通用的監控協議,幾乎任何設備都支持用此方式進行系統的監控。

  • Agent:在監控端安裝專門的監控程序,將數據採集後通過Agent發送至Server

  • IPMI:智能平臺管理接口,可在常用的服務器上看到類似的以太網口的接口。

  • JMX: Java Managerment Exlensions

在這裏插入圖片描述

6、常見進程

zabbix­_agentd:客戶端守護進程,負責收集客戶端數據,例如cpu負載、內存、硬盤使用情況等。

zabbix_get:zabbix工具,單獨使用的命令,通常在Server或者Proxy端執行獲取遠端客戶信息的命令。通常客戶排錯。例如在Server端獲取不到客戶端的內存數據,我們可以使用zabbix_get獲取客戶端的內容的方式來做故障排查。

zabbix_sender:zabbix工具,用於發送數據給Server或者Proxy,通常用於耗時比較長的檢查。很多檢查非常耗時間,導致zabbix超時。於是我們在腳本執行完畢之後,使用sender主動提交數據。

zabbix­­_proxy:zabbix代理守護進程。功能類似Server,唯一不同的是它只是一箇中轉站,它需要把收集到的數據提交/被提交到Server裏。

zabbix­_java­_gateway:Java網關,類似agentd,但是隻用於Java方面。它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會給到Server或者proxy。

二、搭建Zabbix監控平臺

基於rhel7.3操作系統

主機名 服務名稱(角色)
server1 172.25.2.1 zabbix-server,zabbix-web,mariadb-server監控方
server2 172.25.2.2 zabbix-agent(1)被監控方
server3 172.25.2.3 zabbix-agent(2)被監控方

具體步驟如下:

1、配置網絡yum源

我已經在真機下載好了所有需要的安裝包
在這裏插入圖片描述

編寫配置文件,共享真機上的zabbix安裝包
在這裏插入圖片描述在這裏插入圖片描述

2、安裝zabbix-server服務、zabbix-web服務、數據庫服務在同一臺服務器server1

[root@server1 ~]# yum install -y zabbix-server-mysql
[root@server1 ~]# yum install zabbix-web-mysql
[root@server1 ~]# yum install -y mariadb-server

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述在這裏插入圖片描述
3、開啓數據庫並安全初始化

[root@server1 ~]# systemctl start mariadb
[root@server1 ~]# systemctl enable mariadb
[root@server1 ~]# mysql_secure_installation  ##安全初始化

在這裏插入圖片描述

4、登陸數據庫,創建zabbix數據庫並且授權

[root@server1 ~]# mysql -uroot -predhat
MariaDB [(none)]> show databases;
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
	## 使用utf-8編碼並對用戶授權
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat';

在這裏插入圖片描述

5、導入數據庫,時間較長,不可中斷。

[root@server1 zabbix-server-mysql-4.0.5]# pwd
/usr/share/doc/zabbix-server-mysql-4.0.5
[root@server1 zabbix-server-mysql-4.0.5]# zcat create.sql.gz | mysql -p zabbix
	##zcat=gzip + cat 把這個數據庫導入zabbix這個數據庫中

在這裏插入圖片描述

6、再次登錄數據庫,可以看到zabbix數據庫裏面有很多表格以及數據

[root@server1 zabbix-server-mysql-4.0.5]# mysql -uroot -predhat
MariaDB [(none)]> show databases;
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> show tables;

在這裏插入圖片描述

7、編輯zabbix

[root@server1 ~]# cd /etc/zabbix/
[root@server1 zabbix]# ls
[root@server1 zabbix]# vim zabbix_server.conf 
124 DBPassword=redhat     #修改數據庫密碼
[root@server1 zabbix]# systemctl start zabbix-server
[root@server1 zabbix]# systemctl enable zabbix-server

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
服務開啓成功後,可以ps ax或在/var/log/zabbix/zabbix_server.log日誌文件確認。

在這裏插入圖片描述

zabbix的日誌文件:

在這裏插入圖片描述

在這裏插入圖片描述

8、修改php時區:

[root@server1 zabbix]# cd /etc/httpd/
[root@server1 httpd]# cd conf.d/
[root@server1 conf.d]# vim zabbix.conf 
[root@server1 conf.d]# systemctl start httpd
[root@server1 conf.d]# systemctl enable httpd

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
9、查看zabbix-server的端口:是10051
在這裏插入圖片描述
10、在瀏覽器172.25.27.1/zabbix/,進行zabbix的web界面配置

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述【Language】中選擇Chinese,點擊【Update】

在這裏插入圖片描述
點擊【配置】–>【主機】,查看server的狀態,可以看到zabbix監控的名稱zabbix-server是自己,但是還沒有安裝zabbix-agent,因此安裝了之後纔會變綠,纔可以對自己進行相關監控
可用性ZBX表示對自己的監控還沒有開啓,要監控自己,首先要安裝被監控的服務zabbix-agent

三、添加agent主機進行監控

1、監控本機

[root@server1 conf.d]# yum install -y zabbix-agent      # (因爲我之前全部安裝了,顯示已安裝)     
[root@server1 conf.d]# systemctl start zabbix-agent     #用來監控本機
[root@server1 conf.d]# systemctl enable zabbix-agent
[root@server1 conf.d]# netstat -antlp | grep 10050      #10050是zabbix_agentd的

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

2、進瀏覽器查看:在這裏插入圖片描述

  • ZBX:代表zabbix監控狀態
  • SNMP:通過簡單網絡協議對監控對象(一般是網絡設備)進行監控
  • JMX:JMX是java管理擴展,可以監控JVM虛擬機與JAVA模塊
  • IPMI:利用IPMI硬件接口對電壓,電源狀態,溫度等進行監控

可以看到已經可以監控自身了。

3、對server2和server3進行監控,對server2和server3進行相同的操作:

[root@server3 ~]# yum install -y zabbix-agent-4.0.5-1.el7.x86_64.rpm
[root@server3 ~]#  cd /etc/zabbix/
[root@server3 zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@server3 zabbix]# vim zabbix_agentd.conf 
	98 Server=172.25.27.1
	139 ServerActive=172.25.27.1
	150 Hostname=server3  #自己的主機名,一定做好解析
[root@server3 zabbix]# systemctl start zabbix-agent.service 
[root@server3 zabbix]# systemctl enable zabbix-agent.service 
[root@server3 zabbix]# systemctl status zabbix-agent.service 
[root@server3 zabbix]# netstat -antlp

server2:
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

server3:

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述在這裏插入圖片描述

4、在瀏覽器zabbix的web界面中(server1)添加被監控的主機server2和server3(agent)

手動添加

【配置】->【主機】->【創建主機】在這裏插入圖片描述
如下圖填寫:

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述此時發現對server2的zabbix監控ZBX依舊是灰色的,在server2上面重新啓動服務(目的是讓server2去主動發現server1),在瀏覽器刷新一下,可以看到對server2的監控了。

自動發現

先刪除之前手動添加的server2,然後我們再讓監控平臺去自動發現server2

在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
註釋:自動發現通常是server端主動去探測某個ip範圍內的被監控端,適用於大批量的監控,而且監控模板都一樣

自動註冊

自動註冊是被監控端主動去找server端,看自己想要被監控什麼,去匹配什麼樣的模板,適合於單臺主機

首先禁用server2剛纔的動作和自動發現
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

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