Zabbix 監控系統部署

Zabbix 監控系統部署

Zabbix是一個企業級開源分布式監控解決方案,可監控網絡的眾多參數以及服務器、虛擬機、應用程序、服務、數據庫、網站、云等的運行狀況和完整性。 Zabbix 使用靈活的通知機制,允許用戶為幾乎任何事件配置基于電子郵件的警報。這允許對服務器問題做出快速反應。 Zabbix 基于存儲的數據提供出色的報告和數據可視化功能。這使得 Zabbix 成為容量規劃的理想選擇。
在這里插入圖片描述

部署環境規劃

節點規劃如下:

節點名稱節點IP操作系統
zabbix-server192.168.72.50Ubuntu 22.04
zabbix-agent192.168.72.51Ubuntu 22.04

其中zabbix-server節點同時部署zabbix-serverzabbix-web以及zabbix-agent三個組件,以及MySQL數據庫服務。

MySQL數據庫部署

安裝MySQL數據庫

在zabbix-server節點安裝mysql數據庫。

配置主機名

root@ubuntu:~# hostnamectl set-hostname zabbix-server

安裝mysql-server

apt update -y
apt install -y mysql-server

查看安裝版本

root@db01:~# mysqld --version
/usr/sbin/mysqld  Ver 8.0.37-0ubuntu0.22.04.3 for Linux on x86_64 ((Ubuntu))

查看數據庫服務運行狀態

root@zabbix-server:~# systemctl status mysql
● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)Active: active (running) since Thu 2024-06-27 12:27:35 CST; 3h 39min agoMain PID: 3426 (mysqld)Status: "Server is operational"Tasks: 37 (limit: 4556)Memory: 365.1MCPU: 13.084sCGroup: /system.slice/mysql.service└─3426 /usr/sbin/mysqldJun 27 12:27:34 db01 systemd[1]: Starting MySQL Community Server...
Jun 27 12:27:35 db01 systemd[1]: Started MySQL Community Server.
root@zabbix-server:~# 

默認情況下,MySQL在127.0.0.1的本地地址上監聽3306端口,可以使用以下命令查看:

root@db01:~# ss -antpl | grep -i mysql
LISTEN 0      70         127.0.0.1:33060      0.0.0.0:*    users:(("mysqld",pid=3426,fd=21))        
LISTEN 0      151        127.0.0.1:3306       0.0.0.0:*    users:(("mysqld",pid=3426,fd=23))  

MySQL 安全加固

運行 mysql_secure_installation 腳本來啟用一些額外的安全功能,包括設置新的 MySQL root 密碼、刪除匿名用戶和禁用遠程登錄。

mysql_secure_installation

回答所有問題,如下所示:

root@db01:~# mysql_secure_installation
Securing the MySQL server deployment.Connecting to MySQL using a blank password.VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?Press y|Y for Yes, any other key for No: YThere are three levels of password validation policy:LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  filePlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

輸入 Y 并按 Enter 鍵以刪除匿名用戶。

Skipping password set for root as authentication with auth_socket is used by default.
If you would like to use password authentication instead, this can be done with the "ALTER_USER" command.
See https://dev.mysql.com/doc/refman/8.0/en/alter-user.html#alter-user-password-management for more information.By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y 
Success.

輸入 Y 并按 Enter 鍵以禁止遠程 root 登錄。

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

輸入 Y 并按 Enter 鍵以刪除測試數據庫。

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y- Dropping test database...
Success.- Removing privileges on test database...
Success.

重新加載配置

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.All done! 

設置 MySQL root 密碼

默認情況下,未設置MySQL root 密碼。要設置它,請連接到 MySQL shell:

root@zabbix-server:~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.37-0ubuntu0.22.04.3 (Ubuntu)Copyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 

連接到 MySQL shell 后,使用以下命令設置 MySQL 密碼:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'Mysql@123456';

接下來,運行以下命令來保存更改:

mysql> FLUSH PRIVILEGES;

接下來,使用以下命令退出 MySQL shell:

mysql> EXIT;

接下來,再次登錄MySQL shell驗證root密碼:

mysql -u root -p

登錄后,您將進入 MySQL shell,如下所示:

root@zabbix-server:~# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.37-0ubuntu0.22.04.3 (Ubuntu)Copyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 

Zabbix-server安裝

以下操作在zabbix server節點執行。

官方文檔:https://www.zabbix.com/cn/download

選擇相應平臺獲取安裝命令,這里以Zabbix 7.0 + Ubuntu + MySQL + Apache為例。
在這里插入圖片描述

安裝 Zabbix 軟件源

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb
dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb
apt update

安裝Zabbix server,Web前端,agent

apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf \
zabbix-sql-scripts zabbix-agent

初始化zabbix數據庫。

在數據庫主機上運行以下代碼。

# mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'Zabbix@123456';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

導入初始架構和數據,系統將提示您輸入新創建的密碼,這里為Zabbix@123456

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | \
mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

導入數據庫架構后禁用log_bin_trust_function_creators選項。

# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

為Zabbix server配置數據庫,編輯配置文件 /etc/zabbix/zabbix\_server.conf

$ vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@123456

安裝中文語言包

sudo apt install -y zabbix-frontend-php language-pack-zh-hans

啟動Zabbix server和agent進程,并為它們設置開機自啟:

systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2

打開Zabbix UI網頁,開始使用Zabbix。使用Apache web服務器時,Zabbix UI的默認URL為http://host/zabbix

http://192.168.72.50/zabbix

選擇默認語言
在這里插入圖片描述
檢查必要條件
在這里插入圖片描述
配置數據庫連接,數據庫主機配置為localhost,密碼為Zabbix@123456
在這里插入圖片描述
設置主機名及系統時間
在這里插入圖片描述
安裝前匯總
在這里插入圖片描述
完成安裝
在這里插入圖片描述

進入登錄頁面,默認賬號密碼為Admin/zabbix

在這里插入圖片描述
登錄后如下:
在這里插入圖片描述

Zabbix-agent 安裝

以下操作在zabbix-agent節點執行。

參考官方文檔,選擇agent組件,按照官方指引進行安裝。
在這里插入圖片描述
配置主機名

root@ubuntu:~# hostnamectl set-hostname zabbix-agent01

安裝 Zabbix 軟件源

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb
dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb
apt update

安裝Zabbix agent組件

apt install -y zabbix-agent

修改zabbix agent配置文件

$ vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.72.50		#被動模式下的Zabbix服務端地址
ListenPort=10050
ServerActive=192.168.72.50	#主動模式下的Zabbix服務端地址,若純被動模式可注釋此行
Hostname=zabbix-agent01

啟動zabbix-agent服務

systemctl restart zabbix-agent
systemctl enable zabbix-agent

zabbix-server 添加主機

選擇數據采集–主機–創建主機

在這里插入圖片描述
主機配置如下:
在這里插入圖片描述

添加后確認可用性
在這里插入圖片描述
選擇監測–最新數據,確認是否監測到最新數據:
在這里插入圖片描述

zabbix-server 配置告警

示例場景:當zabbix-server監測到zabbix-agent01節點CPU負載過高時,發送告警到163郵箱。

設置163郵箱

登錄 https://mail.163.com/ 郵箱,設置中開啟POP3/SMTP/IMAP服務,新增并記錄下授權密碼
在這里插入圖片描述

創建媒介類型

登錄zabbix控制臺,選擇告警–媒介–創建媒介類型,配置如下,注意密碼配置為授權碼密碼
在這里插入圖片描述

設置消息模板。
在這里插入圖片描述
添加后點擊測試
在這里插入圖片描述
確認測試成功
在這里插入圖片描述
登錄163郵箱,確認收到測試郵件
在這里插入圖片描述

用戶添加報警媒介

選擇用戶–用戶–Admin–報警媒介–添加報警媒介

在這里插入圖片描述

設置觸發器動作

選擇告警–動作–觸發器動作–創建動作
在這里插入圖片描述
選擇操作,發送給指定用戶
在這里插入圖片描述

觸發告警事件

在zabbix-agent01節點安裝stress-ng工具,使用stress-ng進行壓測,觸發告警負載過高事件

apt install -y stress-ng
stress-ng --cpu 8 --vm 8

等待5分鐘,在zabbix-server控制臺查看產生的告警事件,并且狀態顯示已送達。
在這里插入圖片描述

在163郵箱確認已收到告警郵件
在這里插入圖片描述

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

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

相關文章

java發送圖文到公眾號

這兩天接到了一個新任務,通過后臺管理編寫文章,發送到官網的同時,推送一份到公眾號,研究了一下微信的文檔,發現不難,只需要有幾個注意點就可以了。 注意: 微信公眾號只能訪問微信自己上傳的圖片…

STM32單片機實現串口IAP升級

一.概述 1.要實現串口IAP升級,首先要編寫一個bootloader程序,然后再寫支持IAP的app程序; 2.keil下bootloader的程序rom和ram設置 3.app程序要用bin文件 注:本文以STM32H743舉例,其他stm32單片機IAP升級原理類似。 …

達夢數據庫的系統視圖v$database

達夢數據庫的系統視圖v$database 基礎信息 OS版本: Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本: DM Database Server 64 V8 DB Version: 0x7000c 03134284132-20240115-215128-20081在達夢數據庫(Dameng Database&#xf…

Java——Lambda表達式

1. 背景 Lambda表達式是JavaSE 8中一個重要的新特性。Lambda表達式允許你通過表達式來代替功能接口。 Lambda表達式就和方法一樣,它提供了一個正常的參數列表和一個使用這些參數的主體(body,可以是一個表達式或一個代碼塊)。 Lambda 表達式(…

C# YoloV8 模型效果驗證工具(OnnxRuntime+ByteTrack推理)

C# YoloV8 模型效果驗證工具(OnnxRuntimeByteTrack推理) 目錄 效果 項目 代碼 下載 效果 模型效果驗證工具 項目 代碼 using ByteTrack; using OpenCvSharp; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using Sys…

遠程服務器配置(堡壘機samba/ssh等)

分配了新的服務器后,要下載代碼首先要配置ssh。有以下兩種方式: 拷貝原本服務器的在本地的重新生成ssh,再跟服務器密鑰配對(如未備份.gitconfig,還需重新配置git賬號郵箱。) ssh配置 如果是拷貝過來的.ss…

【win11】Mouse without Borders安裝問題以管理員權限安裝msi文件

【win11】Mouse without Borders安裝問題&以管理員權限安裝msi文件 Mouse without Borders安裝問題解決&以管理員權限安裝msi文件啟動Windows Installer服務以管理員權限安裝msi文件 參考文獻 Mouse without Borders安裝問題 在win11下我雙擊MouseWithoutBorders2.2.1…

nodejs使用mysql模塊自動斷開

背景 第二天早上來的時候,發現接口返回異常Cannot enqueue Query after fatal error 從日志看上去,接口是正常運行的,搜索一下之后發現是數據庫的問題,連接斷開了 原因 MySQL中有一個名叫wait_timeout的變量,表示操…

由監官要求下架docker hub鏡像導致無法正常拉取鏡像

問題:下載docker鏡像超時 error pulling image configuration: download failed after attempts6: dial tcp 202.160.128.205:443: i/o timeout解決辦法:配置daemon.json [rootbogon aihuidi]# cat /etc/docker/daemon.json {"registry-mirrors&qu…

java springboot過濾器

在Spring Boot應用中添加自定義過濾器,可以通過實現Filter接口或繼承OncePerRequestFilter類來創建過濾器,并使用FilterRegistrationBean將其注冊到Spring容器中。 以下是一個簡單的示例: 1. 創建過濾器類 首先,創建一個實現Fil…

C++基礎語法:類構造函數

前言 "打牢基礎,萬事不愁" .C的基礎語法的學習 引入 類是實現面向對象思想的主要方法.前面提到:類是函數的變種,類可以通過調用靜態方法或者成員函數來實現邏輯.多數情況下使用成員函數.構造函數是生成類對象成員的必須條件,對此做一些構造函數的歸納 構造函數的目…

【日志消息類的編寫】

日志消息類編寫 由于上篇的代碼比較簡單,今天就多寫兩段代碼順便把日志消息類編寫完成。 這個類的實現就是:什么時間,哪個線程,哪個文件的哪一行,發生了什么等級的日志,日志機器名字是什么,日…

20240628 每日AI必讀資訊

📚 Hugging Face 推出新版開源大模型排行榜,中國模型 Qwen-72B 奪冠 - 阿里Qwen-2-72B指令微調版本問鼎全球開源大模型排行榜榜首 - Llama-3-70B 微調版本排名第二,而 Mixtral-8x22B 微調版本位居第四。 - 另外,微軟的 Phi-3-M…

三種分布式鎖實現方式

目錄 1、數據庫自增 2、Redis自增 3、Zookeeper 4、其他 4.1、雪花算法 4.2、Tinyid 4.3、Leaf 4.4、數據庫號段 1、數據庫自增 利用數據庫表的自增特性,或主鍵唯一性,實現分布式ID REPLACE INTO id_table (stub) values (’a‘) ; SELECT LA…

社交App廣告優化新篇章:Xinstall引領用戶體驗升級,助力買量效果提升

隨著移動互聯網的快速發展,社交App已經成為人們生活中不可或缺的一部分。然而,在競爭激烈的市場環境下,如何有效地進行廣告投放,吸引并留住用戶,成為了每個社交App運營者面臨的重大挑戰。今天,我們就來談談…

自費5K,測評安德邁、小米、希喂三款寵物空氣凈化器誰才是高性價比之王

最近,家里的貓咪掉毛嚴重,簡直成了一個活生生的蒲公英,家中、空氣中各處都彌漫著貓浮毛甚至所有衣物都覆蓋著一層厚厚的貓毛。令人難以置信的是,有時我甚至在摳出的眼屎中都能發現夾雜著幾根貓毛。真的超級困擾了。但其實最空氣中…

Packer-Fuzzer一款好用的前端高效安全掃描工具

★★免責聲明★★ 文章中涉及的程序(方法)可能帶有攻擊性,僅供安全研究與學習之用,讀者將信息做其他用途,由Ta承擔全部法律及連帶責任,文章作者不承擔任何法律及連帶責任。 1、Packer Fuzzer介紹 Packer Fuzzer是一款針對Webpack…

4.if 條件判斷

1.if-else語句 if #判斷條件 :pass else:pass2.if - elif- else if #判斷條件 :pass elif #判斷條件:pass else:pass3.if語句可以嵌套 if #判斷條件 :passif #判斷條件 :pass 4.邏輯運算符 and 兩個都為真,才是真 or 一個為真 即是真 not 取反 and從左到右,所有值為真,返回…

麒麟系統安裝MySQL

搞了一整天,終于搞定了,記錄一下。 一、背景 項目的原因,基于JeecgBoot開發的系統需要國產化支持,這就需要在電腦上安裝MySQL等支撐軟件。 國產化項目的操作系統多是麒麟系統,我的系統如下: arm64架構。…

C#快速開發OPCUA服務器

為方便演示,此時創建一個控制臺應用程序。第三方dll(C編寫的庫opcsrv.dll,他人實現)。 拷貝dll到運行目錄下: 拷貝二次封裝后的文件到項目目錄下: 第一步:創建OpcUa服務器 //第一步:創建OpcUa服務器 OPCSr…