分布式監控平臺——Zabbix

市場上常用的監控軟件:

  • 傳統運維:zabbix、 Nagios

一、zabbix概述

作為一個運維,需要會使用監控系統查看服務器狀態以及網站流量指標,利用監控系統的數據去了解上線發布的結果,和網站的健康狀態。

利用一個優秀的監控軟件,我們可以:

  • 通過一個友好的界面進行瀏覽整個網站所有的服務器狀態
  • 可以在Web 前端方便的查看監控數據
  • 可以回溯尋找事故發生時系統的問題和報警情況

1.1 zabbix是什么?

  • zabbix是一個基于Web界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
  • zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
  • zabbix由2部分構成,zabbix server 與可選組件zabbix agent。 通過c/s 模式采集數據,通過B/s模式在web端展示和配置。
  • zabbix server 可以通過SNMP(簡單網絡管理協議),zabbix agent,ping, 端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它 可以運行在Linux等平臺上。(支持多個平臺,windows也支持)
  • zabbix agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。

0.jpg

1.2 zabbix監控原理

zabbix agent安裝在被監控的主機上,zabbix agent 負責定期收集客戶端本地各項數據,并發送至zabbix server 端,zabbix server收到數據后,將數據存儲到數據庫中,用戶基于zabbix WEB可以看到數據在前端展現圖像。

當zabbix 監控某個具體的項目,該項目會設置一個觸發器閾值,當被監控的指標超過該觸發器設定的閾值,會進行一些必要的動作,動作包括:發送信息(郵件、微信、短信)、發送命令(shell 命令、reboot、 restart、 install 等)。

用戶可以基于zabbix-web可以在WEBUI界面中查看展現的數據圖像,以及進行相關的配置管理用戶還可以在WEBUI界面中設置監控項的觸發器,如被監控的數據指標超過觸發器設定的閾值,會進行發送通知信息或者一些應急操作指令。

1.3 zabbix常見的五個程序

zabbix監控部署在系統中,包含常見的五個程序: zabbix server、 zabbix agent、 zabbix proxy、zabbix get、zabbix sender 等。

(1) zabbix server: zabbix 服務端守護進程,其中zabbix_agent、 zabbix_ get、zabbix_sender、 zabbix_proxy的數據最終都提交給zabbix server;

(2) zabbix agent: 客戶端守護進程,負責收集客戶端數據,例如:收集CPU負載、內存、硬盤使用情況等;

(3)zabbi xproxy: zabbix分布式代理守護進程,通常大于500臺主機,需要進行分布式監控架構部署;

(4)zabbix get: zabbix 數據接收工具,單獨使用的命令,通常在server 或者proxy端執行獲取遠程客戶端信息的命令;

(5)zabbix sender: zabbix 數據發送工具,用戶發送數據給server 或proxy端,通常用戶耗時比較長的檢查。

1.4 zabbix端口號

  • zabbix服務端zabbix_server 默認使用10051 端口。
  • 客戶端zabbix_agent2 默認使用10050 端口。

二、安裝zabbix 5.0

建議使用5.0版本/4.6版本/4.8 版本,不使用6.0。

實驗環境:

節點IP安裝服務
zabbix-server192.168.41.45zabbix-server-mysql、zabbix-agent
zabbix-agent192.168.41.46zabbix-agent2

2.1 部署 zabbix 服務端(端口號10051)

zabbix-server內存至少2G,推薦4G。

zabbix 服務端同時安裝zabbix-server-mysql和zabbix-agent,因為服務端所在主機自己也要被監控。

1、關閉防火墻,修改主機名

1-1.png

2、獲取 zabbix 的下載源

1-2.png

3、更換 zabbix.repo 為阿里源,安裝zabbix-server-mysql、zabbix-agent和SCL

1-3.png

1-4.png

1-5.png

4、修改 zabbix-front 前端源,安裝 zabbix 前端環境到 scl 環境下。

修改/etc/yum.repos.d/zabbix.repo文件:

1-6.png

1-7.png

5、安裝zabbix所需的數據庫

1-8.png

1-9.png

1-10.png

6、添加數據庫用戶,以及 zabbix 所需的數據庫信息

1-11.png

1-12.png

1-13.png

7、修改 zabbix-server 配置文件/etc/zabbix/zabbix_server.conf,修改數據庫的密碼。

1-14.png

8、修改 zabbix 的 php 配置文件,/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

1-15.png

9、啟動 zabbix 相關服務

1-16.png

1-16-2.png

10、瀏覽器訪問 http://192.168.41.45/zabbix

1-17.png

1-18.png

1-19.png

1-20.png

1-21.png

1-22.png

1-23.png

1-24.png

1-25.png

1-26.png

1-27.png

11、解決 zabbix-server Web頁面中文亂碼問題

1-28.png

1-29.png

2.2 部署zabbix 客戶端(端口號10050)

zabbix 5.0版本采用golang 語言開發的新版本客戶端agent2 。

zabbix 服務端 zabbix_server 默認使用 10051 端口,客戶端 zabbix_agent2 默認使用 10050 端口。

 

1、關閉防火墻,修改主機名
?systemctl disable --now firewalld
?setenforce 0
?hostnamectl set-hostname zbx-agent01
?su
??
2、服務端和客戶端都配置時間同步,使用阿里云的時鐘源
?yum install -y ntpdate
?ntpdate -u ntp.aliyun.com
??
?3、客戶端配置時區,與服務器保持一致
?mv /etc/localtime{,.bak}
?ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
??
?date
??
4、設置 zabbix 的下載源,安裝 zabbix-agent2
?rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm?
??
?cd /etc/yum.repos.d
?sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' ?/etc/yum.repos.d/zabbix.repo ?
??
?yum install -y zabbix-agent2 ??
??
?5、修改 agent2 配置文件
?vim /etc/zabbix/zabbix_agent2.conf
?......
?Server=192.168.41.45 ? ? ? ? ? ?#80行,指定 zabbix 服務端的 IP 地址
?ServerActive=192.168.41.45 ? ? ?#120行,指定 zabbix 服務端的 IP 地址
?Hostname=zbx-agent01 ? ? ? ? ? ?#131行,指定當前 zabbix 客戶端的主機名
??
?6、啟動 zabbix-agent2
?systemctl start zabbix-agent2
?systemctl enable zabbix-agent2
??
?netstat -natp | grep zabbix
?tcp6 ??????0 ?????0 :::10050 ?????????????? :::* ???????????? LISTEN ?????4381/zabbix_agent2
??
??
7、在服務端驗證 zabbix-agent2 的連通性
?yum install -y zabbix-get ? ?#服務端,安裝 zabbix 主動獲取數據的命令,get指令
??
?zabbix_get -s '192.168.41.46' -p 10050 -k 'agent.ping'
?1 ?????????????#服務端對客戶端進行連通性測試,返回1表示連通
??
?zabbix_get -s '192.168.41.46' -p 10050 -k 'system.hostname'
?zbx-agent01 ????#返回客戶端的主機名說明正常連通

1、關閉防火墻,修改主機名

2-1.png

2、服務端和客戶端都配置時間同步

2-2.png

3、客戶端配置時區,與服務器保持一致

2-3.png

4、設置 zabbix 的下載源,安裝 zabbix-agent2

2-4.png

2-5.png

5、修改 agent2 配置文件,/etc/zabbix/zabbix_agent2.conf

2-6.png

2-7.png

2-8.png

6、啟動 zabbix-agent2

2-9.png

7、在服務端驗證 zabbix-agent2 的連通性

2-10.png

2-11.png

2.3 將客戶端加入服務端的監控主機中

在 Web 頁面中添加 agent 主機。

 

1.點擊左邊菜單欄【配置】中的【主機】,點擊【創建主機】
?【主機名稱】設置成 zbx-agent01
?【可見的名稱】設置成 zbx-agent01-192.168.41.46
?【群組】選擇 Linux server
?【Interfaces】的【IP地址】設置成 192.168.41.46
??
?2.再點擊上方菜單欄【模板】
?【Link new tamplates】搜索 Linux ,選擇 Template OS Linux by Zabbix agent
?點擊 【添加】

1、點擊左邊菜單欄【配置】中的【主機】,點擊【創建主機】

3-1.png

3-2.png

3-3.png

2、再點擊上方菜單欄【模板】

3-4.png

3-5.png

3-6.png

3-7.png

3-8.png

總結

zabbix工作原理(工作流程):

  • zabbix-agent 客戶端,部署在被監控的對象主機上,負責定期收集監控數據,發送給zabbix-server 端;
  • zabbix-server 收到數據后會將數據存儲在數據庫中。
  • 用戶可以基于zabbix-web可以在WEB UI界面中查看展現的數據圖像,以及進行相關的配置管理 用戶還可以在WEBUI界面中設置監控項的觸發器,如被監控的數據指標超過觸發器設定的閾值,會進行發送通知信息或者一些應急操作指令。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37346.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37346.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37346.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Dedecms V110最新版RCE---Tricks

前言 剛發現Dedecms更新了發布版本,順便測試一下之前的day有沒有修復,突然想到了新的tricks去實現RCE。 文章發布的時候估計比較晚了,一直沒時間寫了。 利用 /uploads/dede/article_string_mix.php /uploads/dede/article_template_rand.…

Blender增強現實3D模型制作指南【AR】

推薦:用 NSDT編輯器 快速搭建可編程3D場景 將靜態和動畫 3D 內容集成到移動增強現實 (AR) 體驗中是增強用戶沉浸感和參與度的高效方法。 然而,為 AR 創建 3D 對象可能相當艱巨,尤其是對于那些缺乏 3D 建模經驗的人來說。 與添加視頻或照片 AR…

黑馬項目一階段面試58題 蒼穹外賣具體技術細節9題

一、Nginx的作用 1.反向代理 前端把請求發送給nginx,再由nginx將請求發送給后端服務器。 2.負載均衡 提高訪問速度;進行負載均衡;保證后端服務安全 二、Swagger有什么作用 直接調試后端請求響應 三、Redis常見數據類型 String、Hash、L…

flutter 解壓 zip 中文亂碼問題處理

前言 很簡單的一個 zip 包解壓縮的功能,但是 windows 平臺中文顯示亂碼,很糟心,搜了一圈沒找到現成的方法,在此貼上我的解決方式。 實現 導入需要的包 flutter pub add archiveflutter pub add fast_gbkflutter pub add path代…

THUDM/chatglm2-6b-int4體驗

在gpu下 gpu: Telsa T4 資源消耗:RAM大概4G,GPU顯存大概6G # 安裝transformers等包 !pip install protobuf transformers4.30.2 cpm_kernels torch>2.0 gradio mdtex2html sentencepiece accelerate# 導入AutoTokenizer, AutoModel from…

CSAPP Lec01

1. CMU 15213_15513 CSAPP 深入理解計算機系統 Lecture 01 Course Overview 中英字幕_嗶哩嗶哩_bilibili 從這個課程中可以學到什么?(為什么要學這門課) Great Reality #1(數字類型): Ints are not Integers, Floats…

idea打jar包

目錄 1、打包設置 2、打包介紹 3、開始打包 1、打包設置 先設置要打包的模塊信息,即打包進去的內容。如下圖所示:File --> Project Structure --> Artifacts,點擊+號完成模塊創建,其中有兩種方式:…

《零基礎實踐深度學習》(第2版)學習筆記,(二)機器學習和深度學習綜述

文章目錄 1. 人工智能、機器學習、深度學習的關系2. 機器學習2.1 實現原理2.2 如何實施 3. 深度學習神經網絡核心概念 1. 人工智能、機器學習、深度學習的關系 **人工智能(Artificial Intelligence,AI)**是研發用于模擬、延伸和擴展人的智能…

微服務系列(2)--注冊中心

在博文:微服務系列(1)里我們提到過注冊中心的概念,簡單來說微服務注冊中心是一個用于存儲和管理微服務實例信息的組件,它提供了服務注冊、服務發現、服務健康檢查等功能,以確保微服務之間的穩定通信。在微服務架構中,各…

Debian純凈系統安裝php常用擴展和程序

適用于 php-fpm debian容器 mysql擴展 docker-php-ext-install pdo_mysql docker-php-ext-install mysqliredis擴展 pecl install redis docker-php-ext-enable redis# pecl無法裝就: docker-php-source extract # 創建并初始化 /usr/src/php目錄(擴展…

應用層協議——TCP(上)

文章目錄 1. TCP協議1.1 TCP協議段格式1.2 確認應答(ACK)機制1.3 16位窗口大小1.4 6位標志位1.4.1 TCP三次握手 1.5 確認應答(ACK)機制1.6 超時重傳機制1.7 連接管理機制1.7.1 理解TIME_WAIT狀態1.7.2 理解 CLOSE_WAIT 狀態 1. TCP協議 TCP全稱為傳輸控制協議,意思…

【uniapp 中使用uni-popup阻止左滑退出程序】

在uniapp中,可以使用uni-app插件uni-popup提供的阻止左滑退出程序的功能。具體步驟如下: 安裝uni-popup插件:在HBuilderX編輯器中,打開manifest.json文件,找到“dependencies”字段,在其后添加&#xff1a…

〔AI 繪畫〕Stable Diffusion 之 VAE 篇

? 目錄 🎈 什么是VAE🎈 開啟VAE🎈 下載常見的VAE🎈 對比不同VAE生成的效果 🎈 什么是VAE VAE:是 Variational Auto-Encoder 的簡稱,也就是變分自動編碼器可以把它理解成給圖片加濾鏡&#xff…

JavaWeb-Filter過濾器

目錄 Filter過濾器 1. Filter的生命周期 2.Filter的配置 3.攔截路徑 4.攔截具體的使用 5.攔截方式配置(資源被訪問方式) 6.FilterChain攔截鏈 Filter過濾器 filter是過濾器,相比于Servlet的發送請求,filter是用于攔截請求。…

2023-08-14 linux 串口終端輸入長命令不換行,覆蓋前面內容,stty命令設置串口終端行列數

一、linux 串口終端輸入長命令不換行,覆蓋前面內容,現象如下圖: 二、解決方法:用stty 命令設置行列數 stty columns 200 stty rows 10三、參考文章 https://www.cnblogs.com/goloving/p/15170537.html 常用Linux串口設備操作命…

【Servlet】(Servlet API HttpServlet 處理請求 HttpServletRequest 打印請求信息 前端給后端傳參)

文章目錄 Servlet APIHttpServlet處理請求 HttpServletRequest打印請求信息前端給后端傳參 Servlet API Servlet中常用的API HttpServlet 實際開發的時候主要重寫 doXXX 方法, 很少會重寫 init / destory / service destory 服務器終止的時候會調用. //下面的注解把當前類和…

gin的占位符:和通配符*

1、用法 在 Gin 路由中,可以使用一個通配符(*)或一個占位符(:)來捕獲 URL 的一部分。 r.GET("/royal/:id", func(c *gin.Context) {id : c.Param("id")//fmt.Println("into :id")c.Str…

成都到長沙自駕游路線推薦-成都至長沙自駕游攻略

請問成都到長沙自駕怎么走,中途在哪里休息比較合適,沿途有哪些景點? 在湖南湘西的吉首落腳是首選 一,成都到吉首 約在800公里。全程高速估計就是 9個小時左右。如果上午出發,差不多可以到吉首吃晚餐,再住酒…

ef core 分頁

在使用 Entity Framework Core(EF Core)進行分頁查詢時,你可以借助以下方法來實現: 使用 Skip 和 Take 方法:Skip 方法用于跳過指定數量的記錄,而 Take 方法用于選擇指定數量的記錄。結合使用這兩個方法&am…

HBase API

我們之后的實際開發中不可能在服務器那邊直接使用shell命令一直敲的&#xff0c;一般都是通過API進行操作的。 環境準備 新建Maven項目&#xff0c;導入Maven依賴 <dependencies><dependency><groupId>org.apache.hbase</groupId><artifactId>…