Zabbix實現7x24小時架構監控

上篇:https://blog.csdn.net/Lzcsfg/article/details/138774511

文章目錄

        • Zabbix功能介紹
        • Zabbix平臺選擇
        • 安裝Zabbix監控端
        • 部署MySQL數據庫
        • Zabbix參數介紹
        • 登錄Zabbix WEB
        • WEB界面概覽
        • 修改WEB界面語言
        • 添加被控主機
        • 導入監控模板
        • 主機綁定模板
        • 查看主機狀態
        • 查看監控數據
        • 解決Zabbix亂碼
        • 監控Nginx狀態信息
        • 監控PHP狀態信息
        • 監控Redis狀態信息

源碼鏈接:https://pan.baidu.com/s/1HbbZJzqD8-l565H9Mb8W1g?pwd=2euj
提取碼:2euj


Zabbix功能介紹

Zabbix 是C語言編寫的企業級開源免費的分布式監控解決方案,可監控網絡的眾多參數以及服務器、虛擬機、應用程序、數據庫、網站、云等的健康狀況和完整性。

Zabbix 使用靈活的報警通知機制,允許用戶為幾乎任何事件配置電子郵件的警報。這允許對服務器問題做出快速反應。

Zabbix 可通過存儲的數據提供出色的報告和數據可視化功能。

官網地址:https://www.zabbix.com/

常用的監控軟件:Cacti、Nagios、Ganglia、Open-Falcon、zabbix、prometheus

選擇一款監控軟件,需要軟件具備什么功能?

  • 指標采集:服務器狀態、程序狀態、CPU、內存、磁盤、網絡
  • 指標存儲:實現數據持久化,后期分析監控指標
  • 指標可視化:提供web頁面,通過瀏覽器訪問頁面
  • 故障報警:出現問題,及時發送報警通知

Zabbix版本介紹

Zabbix穩定版:LTS代表穩定版,官方提供技術支持時間長達5年時間

Zabbix標準版:不帶LTS標簽,官方提供技術支持時間7個月

Zabbix組件介紹

zabbix agent:指標采集器,在被監控主機上采集指標數據,并將采集到的數據發送給zabbix server

zabbix server:負責提供監控功能,負責接收agent發送的數據,統計數據、管理數據

zabbix database:用于存儲所有zabbix的配置信息以及監控數據

zabbix web:管理員通過web界面管理、配置以及查看相關監控信息

zabbix proxy:分布式監控,用來分擔zabbix server的壓力(不是必須)

Zabbix平臺選擇

在這里插入圖片描述



安裝Zabbix監控端
主機名IP地址操作系統硬件環境
zbx-server192.168.226.133CentOS 72 Core/4G Memory

更改主機名

hostnamectl set-hostname zbx-server

下載Zabbix5.0存儲庫(二進制安裝方式)

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

安裝zabbix軟件包

yum install zabbix-server-mysql zabbix-agent -y

下載centos-release-scl倉庫(提供zabbix前端所需的一些軟件包)

yum install centos-release-scl -y

啟用zabbix前端倉庫

vim /etc/yum.repos.d/zabbix.repo
#...
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1   #改為1啟用倉庫
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

安裝Zabbix前端軟件包(兩個軟件中內置PHP與Apache)

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y


部署MySQL數據庫

下載MySQL倉庫

rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

導入GPG密鑰文件

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

安裝MySQL

yum install mysql-server -y

啟動MySQL

systemctl enable mysqld --now

查看MySQL的root初始密碼

grep -i password /var/log/mysqld.log

通過初始密碼登錄到數據庫

 mysql -uroot -p'密碼'

修改密碼復雜度策略(即不驗證復雜度)

mysql> set global validate_password_policy=0;

設置root本機登錄密碼(長度須滿足8位)

mysql> alter user root@"localhost" identified by "admin123456";

退出數據庫,修改my.cnf文件,在文件中定義密碼策略,讓策略永久生效

vim /etc/my.cnf
#...
[mysqld]
validate_password_policy=0

重啟MySQL

systemctl restart mysqld

登錄數據,創建一個名為 zabbix 的數據庫用于存儲監控指標,并支持中文

mysql> create database zabbix character set utf8 collate utf8_bin;

創建一個名為 zabbix 的用戶用于連接數據庫,并設置密碼

mysql> create user zabbix@localhost identified by '12345678';

授權 zabbix 用戶對 zabbix 庫的所有權限

mysql> grant all privileges on zabbix.* to zabbix@localhost;

導入數據庫所需的表文件

zcat /usr/share/doc/zabbix-server-mysql-*/create.sql.gz | mysql -uzabbix -p12345678 zabbix

配置zabbix連接數據庫

vim /etc/zabbix/zabbix_server.conf
#...
DBName=zabbix         #數據庫名稱,在100行
DBUser=zabbix         #連接數據庫的用戶名,在116行
DBPassword=12345678   #用戶密碼,在124行

為PHP配置正確時區

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
#修改參數,記得修改注釋
php_value[date.timezone] = Asia/Shanghai

啟動所有服務并設置服務隨機自啟

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm


Zabbix參數介紹

zabbix-server 端口:10051

zabbix-agent 端口:10050

zabbix server主配置文件:/etc/zabbix/zabbix_server.conf

zabbix agent主配置文件:/etc/zabbix/zabbix_agentd.conf

zabbix自定義監控項路徑:/etc/zabbix/zabbix_agentd.d

zabbix日志文件路徑:/var/log/zabbix/



登錄Zabbix WEB

從瀏覽器上訪問Zabbix前端URL:http://192.168.226.133/zabbix

在這里插入圖片描述

環境檢查

請確保這里的 Check of pre-requisites 全部OK后點擊下一步

在這里插入圖片描述

配置數據庫連接

在這里插入圖片描述

Zabbix server信息

在這里插入圖片描述

安裝前回顧所有配置

在這里插入圖片描述

完成安裝

在這里插入圖片描述

登錄Zabbix:管理員 Admin , 密碼 zabbix

在這里插入圖片描述



WEB界面概覽

側邊欄的菜單可使用Zabbix各功能,菜單可以整個折疊或隱藏

  • 折疊, 單擊Zabbix logo旁邊的 img

  • 隱藏, 單擊Zabbix logo旁邊的 img

在這里插入圖片描述



修改WEB界面語言

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



添加被控主機

在主機discuz-db discuz01 discuz02 master-proxy backup-proxy 中安裝 zabbix-agent 客戶端程序用于采集主機指標

下載Zabbix5.0存儲庫(二進制安裝方式)

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

安裝zabbix agent

yum install zabbix-agent -y

修改zabbix-agent配置文件,定義zabbix server地址

vim /etc/zabbix/zabbix_agentd.conf
#大約在117行,這里意思是誰可以監控我,統一修改成zbx-server主機的IP,代表監控服務端主機可以監控這些集群機器
Server=192.168.226.133 

啟動服務并設置服務隨機自啟

systemctl start zabbix-agent
systemctl enable zabbix-agent

上述步驟是針對這discuz-db discuz01 discuz02 master-proxy backup-proxy,下面是對 zbx-server 主機操作。

回到Zabbix WEB界面,通過配置主機創建主機 添加被控主機

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

其他主機均按照以上方法添加

在這里插入圖片描述



導入監控模板

通過配置 → 模板單擊右上角的導入按鈕,選擇要導入的文件,單擊導入按鈕。

在這里插入圖片描述



主機綁定模板

通過配置 → 主機找到你的主機,然后選擇模板,選擇好模板后,點擊更新

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

提示:其他主機均按照以上方法綁定模板。


查看主機狀態

通過監測→主機查看Zabbix Server是否采集到主機指標

在這里插入圖片描述

灰色 未采集到指標

icon_zbx_green.png 以采集到指標

icon_zbx_red.png 指標采集失敗

查看監控數據

可通過主機右邊的最新數據來查看監控的指標項

在這里插入圖片描述



解決Zabbix亂碼

zbx-server 主機將準備好的字體文件傳到zabbix存放字體文件路徑,并覆蓋原文件內容。

cd /usr/share/zabbix/assets/fonts/

從windows中C:\Windows\Fonts這個目錄里選擇一款字體,要選正常字體,規整細點的,不然下面圖中的數據看不清,對工作不利。

選擇一款字體上傳到/usr/share/zabbix/assets/fonts/目錄里,**覆蓋**原字體文件的內容即可。

cp SIMSUN.TTC graphfont.ttf

會有個提示是否覆蓋,輸入y回車,原字體文件刪不刪除都行

刷新界面即可

在這里插入圖片描述



監控Nginx狀態信息

通過監控NGINX的狀態可實時了解服務器處理請求的情況,及服務器的負載情況。

以下都對master-proxybackup-proxy 主機操作

master-proxybackup-proxy 主機創建目錄用于存放監控腳本

mkdir /etc/zabbix/script/
cd /etc/zabbix/script

將腳本 ngx_status.sh 上傳到該目錄并為腳本添加執行權限

chmod +x ngx_status.sh

進入自定義監控路徑,將自定義監控文件 nginx_status.conf 上傳到該目錄

cd /etc/zabbix/zabbix_agentd.d/

修改zabbix agent配置文件,開啟自定義監控功能

vim /etc/zabbix/zabbix_agentd.conf 
#...#自定監控路徑對照下不要錯,大概在314行
Include=/etc/zabbix/zabbix_agentd.d/*.conf #改為1為開啟自定義監控功能,默認該功能為關閉狀態,大概在333行
UnsafeUserParameters=1    

重啟zabbix agent服務

systemctl restart zabbix-agent

這里開始對zbx-server主機操作

zabbix server獲取監控項數據,下載zabbix-get軟件包,用于在命令行獲取客戶端監控項的值

yum install zabbix-get -y

獲取客戶端監控項數據,命令如下(按照自己的環境修改IP)

#當前活動用戶的連接數量
zabbix_get -s 192.168.226.131 -k nginx.active#已接收的客戶端連接總數量
zabbix_get -s 192.168.226.131 -k nginx.accepts#已處理的連接總數量
zabbix_get -s 192.168.226.131 -k nginx.handled#客戶端請求的總數量
zabbix_get -s 192.168.226.131 -k nginx.requests#正在讀取請求的連接數
zabbix_get -s 192.168.226.131 -k nginx.reading #將響應反回客戶端的連接數
zabbix_get -s 192.168.226.131 -k nginx.writing#客戶端正在等待服務器的響應數量
zabbix_get -s 192.168.226.131 -k nginx.waiting

通過配置 → 模板 → 導入 將模板導入到zabbix中

在這里插入圖片描述

通過配置 → 主機 找到你的主機,將master-proxy和backup-proxy主機的新增的模板文件綁定到主機

在這里插入圖片描述

隨后通過 監測最新數據 查看監控指標
在這里插入圖片描述



監控PHP狀態信息

通過監控PHP的狀態,可實時了解到PHP進程相關信息及PHP處理請求的情況。

discuz01discuz02 主機主機操作

discuz01discuz02 主機創建目錄用于存放監控腳本

mkdir /etc/zabbix/script/
cd /etc/zabbix/script

將腳本 phpfpm_status.sh 上傳到該目錄并為腳本添加執行權限

chmod +x phpfpm_status.sh 

進入自定義監控路徑,將自定義監控文件 phpfpm_status.conf 上傳到該目錄

cd /etc/zabbix/zabbix_agentd.d/

修改zabbix agent配置文件,開啟自定義監控功能

vim /etc/zabbix/zabbix_agentd.conf 
#...#自定監控路徑,大概在314行
Include=/etc/zabbix/zabbix_agentd.d/*.conf #改為1為開啟自定義監控功能,默認該功能為關閉狀態,大概在333行
UnsafeUserParameters=1    

重啟zabbix agent服務

systemctl restart zabbix-agent

zabbix server獲取客戶端監控項數據,命令如下(按照自己的環境修改IP),這里是在zbx-server主機操作的查看命令

#php-fpm運行時長
zabbix_get -s 192.168.226.129 -k phpfpm_status[start_since]#當前接收的連接數
zabbix_get -s 192.168.226.129 -k phpfpm_status[accepted_conn]#等待連接的請求數
zabbix_get -s 192.168.226.129 -k phpfpm_status[listen_queue]#請求等待隊列最高的數量
zabbix_get -s 192.168.226.129 -k phpfpm_status[max_listen_queue]#socket等待隊列長度
zabbix_get -s 192.168.226.129 -k phpfpm_status[listen_queue_len]#空閑進程數量
zabbix_get -s 192.168.226.129 -k phpfpm_status[idle_processes]#活躍進程數量
zabbix_get -s 192.168.226.129 -k phpfpm_status[active_processes]#總進程數量
zabbix_get -s 192.168.226.129 -k phpfpm_status[total_processes]#最大的活躍進程數量
zabbix_get -s 192.168.226.129 -k phpfpm_status[max_active_processes]#進程最大數量限制的次數
zabbix_get -s 192.168.226.129 -k phpfpm_status[max_children_reached]#php-fpm慢請求
zabbix_get -s 192.168.226.129 -k phpfpm_status[slow_requests]  

通過配置 → 模板 → 導入 將模板導入到zabbix中

在這里插入圖片描述

通過配置 → 主機 找到你的discuz01和discuz02主機,把模板文件綁定到主機

在這里插入圖片描述

隨后通過 監測最新數據 查看監控指標

在這里插入圖片描述



監控Redis狀態信息

通過監控Redis的狀態信息,可實時了解到Redis進程相關、內存消耗、Redis處理請求數量、Redis持久化情況。

discuz-db 主機創建目錄用于存放監控腳本

mkdir /etc/zabbix/script/
cd /etc/zabbix/script

將腳本 redis_status.sh 上傳到該目錄并為腳本添加執行權限

chmod +x redis_status.sh

進入自定義監控路徑,將自定義監控文件 custom_redis_status.conf 上傳到該目錄

cd /etc/zabbix/zabbix_agentd.d/

修改zabbix agent配置文件,開啟自定義監控功能

vim /etc/zabbix/zabbix_agentd.conf 
#...#自定監控路徑,大概在314行
Include=/etc/zabbix/zabbix_agentd.d/*.conf #改為1為開啟自定義監控功能,默認該功能為關閉狀態,大概在333行
UnsafeUserParameters=1    

重啟zabbix agent服務

systemctl restart zabbix-agent

通過配置 → 模板 → 導入 將模板導入到zabbix中

在這里插入圖片描述

通過配置 → 主機 找到你的主機,把模板文件綁定到主機

在這里插入圖片描述

隨后通過 監測最新數據 查看監控指標

在這里插入圖片描述

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

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

相關文章

6.封裝讀寫游戲數據的功能

前置知識:5.模仿CheatEngine實現鎖血無敵功能(封裝它的代碼) 封裝功能.cpp文件 #include "封裝功能.h"GAMECheat::GAMECheat(unsigned pid, unsigned _baseAdr, unsigned _readTime) {readTime _readTime;baseAdr _baseAdr;hPr…

代碼隨想錄算法訓練營第三十四天 | 理論基礎、455.分發餅干、376、擺動序列、53.最大子序和

目錄 理論基礎 455.分發餅干 思路 代碼 376.擺動序列 思路 代碼 53.最大子序和 思路 代碼 理論基礎 代碼隨想錄 455.分發餅干 代碼隨想錄 思路 可以是大餅干優先滿足大胃口,也可以是小餅干優先滿足小胃口。 代碼 class Solution:def findContentChildre…

ArkUI-X開發指南:【SDK配置和構建說明】

ArkUI-X SDK配置和構建說明 ArkUI-X SDK是ArkUI-X開源項目的編譯產物,可將ArkUI-X SDK集成到現有Android和iOS應用工程中,使開發者基于一套ArkTS主代碼,就可以構建支持多平臺的精美、高性能應用。SDK內容包含ArkUI跨平臺運行時,組…

安裝SSL證書能提高網站訪客嗎?

在當今互聯網時代,網站的安全性和用戶體驗至關重要。隨著網絡攻擊和數據泄露事件的不斷增加,用戶對網站的信任也變得越來越重要。SSL證書是一種數字證書,可以在Web服務器和網頁瀏覽器之間建立加密鏈接,確保網站傳輸的數據安全&…

【HarmonyOS嘗鮮課】- 前言

面向人群 本課程適用于HarmonyOS應用開發的初學者。 有無經驗的開發者都可以輕松掌握ArkTS語言聲明式開發范式,體驗更簡潔、更友好的HarmonyOS應用開發旅程。 什么是HarmonyOS HarmonyOS(鴻蒙操作系統)是由華為技術有限公司開發的全場景分…

B站自動回復插件_無需千粉,輕松適配引流拉新資源分享

項目介紹 B站關鍵詞自動回復插件,無需千粉, 很適合做流量做引流做私欲的朋友, 前期沒有千粉是無法開啟官方自動回復的, 適當的情況下可以用這個插件頂一下, 三聯好評領取資源的打法真的超級漲粉, 感謝插件…

【OceanBase診斷調優】—— KVCache 排查手冊

原文鏈接:OceanBase分布式數據庫-海量數據 筆筆算數 本文介紹 KVcache 相關問題的排查方法。 KVCache 相關概念 在進行排查前,需要了解幾個概念。 pin 一個 cache 塊 ( memblock ) 被 pin 住,表示它正在被引用。 cache 的由多個定長的塊組成…

HAL庫點LED燈

文章目錄 一、創建CubeMX項目操作步驟1.STM32CubeMX創建工程2.選擇芯片3.Pinout & Configuration配置4.Clock Configuration配置5.Project Manager配置 二、實驗(一)LED流水燈1.Keil修改代碼2.實驗現象3.keil波形仿真 (二)2只…

代碼隨想錄(棧和隊列)

用棧實現隊列(Leetcode232) package 棧和隊列;import java.util.ArrayList; import java.util.Stack; 思路:1、用一個棧stack2來存壓入的數,當要pop或peek操作時再壓入stack中,實現隊列順序2、不是每次pop都從stack2中…

沒有CAN硬件,在Linux下模擬使用Socket CAN

即使沒有實際的CAN硬件,我們仍然可以在Linux下使用socketcan進行模擬。這可以通過使用虛擬的CAN接口(vcan)來實現。vcan接口是Linux內核提供的虛擬CAN總線接口,適用于開發和測試socketcan應用。 以下是如何設置和使用vcan接口的步驟: 1. 加載vcan模塊 首先,你需要確保…

變量命名的藝術:讓你的代碼更具可讀性

新書上架~👇全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目錄 一、引言:為何變量命名如此重要? 二、變量命名的基本規則 1. 避免數…

卷爆短劇出海:五大關鍵,由AIGC重構

短劇高溫下,談談AIGC的助攻路線。 短劇,一個席卷全球的高溫賽道。 以往只是踏著霸總題材,如今,內容循著精品化、IP化的自然發展風向,給內容、制作、平臺等產業全鏈都帶來新機,也讓短劇消費走向文化深處&am…

Docker僅需3步搭建免費私有化的AI搜索引擎-FreeAskInternet!

簡介 FreeAskInternet 是一個完全免費、私有且本地運行的搜索引擎,并使用 LLM 生成答案,無需 GPU。用戶可以提出問題,系統會進行多引擎搜索,并將搜索結果合并到ChatGPT3.5 LLM中,并根據搜索結果生成答案。 什么是 Fr…

重學java 39.多線程 — 線程安全

逐漸成為一個情緒穩定且安靜成長的人 ——24.5.24 線程安全 什么時候發生? 當多個線程訪問同一個資源時,導致了數據有問題,出現并發問題,數據不能及時更新,導致數據發生錯誤,出現線程安全問題 多線程安全問…

紋理映射技術在AI去衣中的藝術與科技融合

引言: 在數字圖像處理的世界里,AI去衣技術正逐步揭開其神秘的面紗。這門技術結合了深度學習的智能算法與圖形學的先進手段,以實現對圖像中衣物的智能識別與處理。在這一過程中,紋理映射技術發揮著至關重要的作用。本篇博客將深入探…

變量命名的藝術:從蛇形到駝峰

新書上架~👇全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目錄 一、蛇形命名法的魅力 二、類名和模塊名的特殊規則 三、駝峰命名法的魅力與挑戰 四、保持…

【kubernetes】探索k8s集群中kubectl的陳述式資源管理

目錄 一、k8s集群資源管理方式分類 1.1陳述式資源管理方式:增刪查比較方便,但是改非常不方便 1.2聲明式資源管理方式:yaml文件管理 二、陳述式資源管理方法 2.1查看版本信息 2.2查看資源對象簡寫 2.3配置kubectl自動補全 2.4node節點…

初始Java篇(JavaSE基礎語法)—— 內部類

找往期文章包括但不限于本期文章中不懂的知識點: 個人主頁:我要學編程(?_?)-CSDN博客 所屬專欄:JavaSE 目錄 內部類的概念 內部類的種類 使用舉例: 1. 靜態內部類: 2. 實例內部類 3. 局部內部類 4. 匿名內部…

1分鐘帶你搞定Pandas DataFrame運算

1. DataFrame之間的運算 在運算中自動對齊不同索引的數據 如果索引不對應,則補NaN DataFrame沒有廣播機制 導包 # 導包import numpy as npimport pandas as pd 創建 DataFrame df1 不同人員的各科目成績,月考一 # 創建DataFrame二維數組df1 pd.Da…

想要修改Excel表格內容,怎么移除編輯權限?

在使用Excel進行數據處理和管理時,我們經常會遇到需要保護工作表以防止誤操作的情況。有時可能碰到“被保護單元格不支持此功能”的提示,本文將詳細介紹這個問題的解決方案,幫助你取消單元格保護,使用所需的功能。 一、取消單元格…