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 Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-06-27 12:27:35 CST; 3h 39min ago
   Main PID: 3426 (mysqld)
     Status: "Server is operational"
      Tasks: 37 (limit: 4556)
     Memory: 365.1M
        CPU: 13.084s
     CGroup: /system.slice/mysql.service
             └─3426 /usr/sbin/mysqld

Jun 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: Y

There 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                  file

Please 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邮箱确认已收到告警邮件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/749990.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux-笔记 嵌入式gdb远程调试

目录 前言 实现 1、内核配置 2、GDB移植 3、准备调试程序 4、开始调试 前言 gdb调试器是基于命令行的GNU项目调试器,通过gdb工具我们可以实现许多调试手段,同时gdb支持多种语言,兼容性很强。 在桌面 Linux 系统(如 Ubuntu、Cent…

从新手到高手:彻底掌握MySQL表死锁

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 从新手到高手:彻底掌握MySQL表死锁 前言什么是死锁mysql死锁的原因1. 互斥资源的竞争…

加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新

6月21日-23日,2024华为开发者大会(HDC 2024)如期举行。在22日的【鸿蒙生态伙伴SDK】分论坛中,正式发布了【鸿蒙生态伙伴SDK市场】,其中蚂蚁数科旗下移动开发平台mPaaS(以下简称:蚂蚁mPaaS&#…

科林Linux7_网络爬虫

一、爬虫 网络资源的下载工具,工作与万维网环境,持续获取网页网站中的网络信息。可持续的数据采集机器人 1、搜索引擎技术使用爬虫 2、数据分析、数据挖掘领域,需要爬虫进行数据准备 3、数据批处理、采集,大量获取某些网站中的…

学习笔记(linux高级编程)7

2._exit 系统调用 void _exit(int status); 功能: 让进程退出,不刷新缓存区 参数: status:进程退出状态 返回值: 缺省 回调函数 3.atexit int atexit(void (*function)(void)); 功能: 注册进程退出前执行的函数 参数: function:函数指针 指向void返回值void参数的函数指针 返…

14、电科院FTU检测标准学习笔记-录波功能2

作者简介: 本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验 在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验 ———————————————————…

优思学院|工厂的部门架构管理与精益生产

工厂内有不同部门,各部门之间必须协调合作才能发挥整体功能。工厂最主要的部分是制造产品的现场,这里安装了生产工具,还有操作员进行加工或生产制造。 制造时使用的材料或零组件,需要对外采购。对于加工组装型的工厂,…

MMCV【mmclassification】 从0到1 之 Docker 容器环境搭建步骤总结

🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 📙 Linux 下 Docker 安装环境检查Docker 安装 [ root 或者 sudo 权限用户可安装 ]给 普通用户 加入 Docker …

【新闻】技术工种魅力大增,美国Z世代职场新出路

美国需要更多水管工,Z世代正在响应这一号召。 长期受到劳动力短缺困扰的技工行业,如今对美国最年轻的就业群体产生新的吸引力,他们中许多人正选择放弃读大学。随着从焊接到机械加工等领域出现技术迭代,薪资正在上涨,这…

第4章 客户端-客户端管理

1. 客户端API 1.1client list client list命令能列出与Redis服务端相连的所有客户端连接信息。 127.0.0.1:6379> client list id254487 addr10.2.xx.234:60240 fd1311 name age8888581 idle8888581 flagsN db0 sub0 psub0 multi-1 qbuf0 qbuf-free0 obl0 oll0 omem0 events…

SpringBoot启动出错:无法访问org.springframework.boot.autoconfigure.SpringBootApplication

无法访问org.springframework.boot.autoconfigure.SpringBootApplication类文件具有错误的版本 61.0,应为 52.0请删除该文件或确保该文件位于正确的类路径子目录中。 出现该问题是由于版本不兼容, 在pom.xml文件中,修改版本为2开头即可

抖音营销新策略:MessageBox与HubSpot集成,引领企业获客新潮流

在全球数字化浪潮中,抖音以其独特的短视频形式、庞大的用户群体和高度互动性,成为了企业出海战略中不可或缺的一环。抖音营销不仅仅是简单的内容发布和互动,它更是一种深度策略和创新思维的体现。今天将深入探讨抖音营销的核心价值、应用场景…

【人工智能学习之图像操作(一)】

【人工智能学习之图像操作(一)】 图像读写创建图片并保存视频读取色彩空间与转换色彩空间的转换通道分离理解HSV基本图形绘制 阀值操作OTSU二值化简单阀值自适应阀值 图像读写 图像的读取、显示与保存 import cv2 img cv2.imread(r"1.jpg")…

OpenAI推迟ChatGPT高级语音模式发布!谷歌将推出明星网红AI聊天机器人|AI日报

文章推荐 时序预测双飞轮,全面超越Transformer,纯MLP模型实现性能效能齐飞 OpenAI将终止对我国提供API服务,国内大模型将迎来“六小强”格局!|AI日报 推迟ChatGPT高级语音模式发布!OpenAI将计划在秋季向…

主流先进封装技术介绍

主流先进封装技术介绍 先进封装是指封装集成电路 (IC) 以提高性能的多种创新技术。 本质上,就是将传统封装中被延缓的数据传输速度和被损耗的大量功耗,通过技术和结构的创新极大程度的找回。 1. FO 封装 FO封装包括三大类: 核心扇出型&a…

纯css写一个动态圣诞老人

效果预览 在这篇文章中,我们将学习如何使用CSS来创建一个生动的圣诞老人动画。通过CSS的魔力,我们可以让圣诞老人在网页上摇摆,仿佛在向我们招手庆祝圣诞节和新年。 实现思路 实现这个效果的关键在于CSS的keyframes动画规则以及各种CSS属性…

【Python机器学习】自动化特征选择——单变量统计

添加更多特征会使所有的模型变得更加复杂,从而增大过拟合的可能性。 在添加新特征或处理一般的高位数据集时,最好将特征的数量减少到只包含最有用的那些特征,并删除其余特征,这样会得到泛化能力更好、更简单的模型。 对于如何判…

何用Vue3和Plotly.js打造交互式3D图

本文由ScriptEcho平台提供技术支持 项目地址:传送门 利用 Plotly.js 创建交互式动画图表 应用场景 本代码适用于需要创建交互式动画图表的数据可视化项目。例如,可以用来展示时间序列数据或比较不同函数的行为。 基本功能 该代码使用 Plotly.js 库…

shell编程之免交互(shell脚本)

Here Document 免交互 Here Document 概述 Here Document是一个特殊的用途的代码块。它在linux shell中使用I/O重定向的方式将命令列表提供给交互式程序或命令,比如ftp,cat或read命令。Here Document 是标准输入的一种替代品,可以帮助脚本开…

Vue项目打包优化

Vue项目打包优化 前言 在这篇文章我们讨论Vue项目打包优化,并按步骤展示实际优化过程中的修改和前后对比。 背景 刚开始的打包体积为48.71M 优化 步骤一:删除viser-vue viser-vue底层依赖antv/g2等库一并被删除,目前总体积为46.9M&am…