zabbix6.0安装及常用监控配置
文章目录
- 部署zabbix-server
- zabbix监控节点部署
- 解决zabbix中文乱码
- 创建主机组
- 创建模版
- 配置主机与模版关联
- 监控boot分区
- 监控网卡流量
- 出网卡流量监控
- 进入和出的总流量
- 监控内存
- 监控服务器端口
- 用户自定应监控key值 (监控mysql查询数量)
- zabbix触发器
- 监控cpu
- 监控入网卡流量
- 邮件告警
- 内置宏变量
- 自动发现
- 自定义监控key(监控tcp链接状态)
- 优化:使用传参数的方式
修改主机名
hostnamectl set-hostname zyj86
hostnamectl set-hostname zyj87
部署zabbix-server
安装mysql
mkdir packages
tar -xf mysql-8.0.36-1.el8.x86_64.rpm-bundle.tar -C packages/
cd packages
yum install -y ./*
systemctl enable --now mysqldcat /var/log/mysqld.log | grep pass
2024-10-12T11:38:07.021454Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: hHuk/UeP!0LQmysqladmin -uroot password aaA...111 -pMySQL安全配置向导
mysql_secure_installation
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : ysystemctl restart mysqld.service# 可选
# 设置root可以远程连接
update user set host='%' where user='root';
grant all privileges on *.* to root@"%";
flush privileges;
安装zabbixserver
# 配置yum仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
dnf clean all # 安装Zabbix server,Web前端,agent
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-get# 创建初始数据库
mysql> drop user zabbix@'localhost';
mysql> flush privileges;mysql -uroot -paaA...111
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'localhost' identified by 'aaA...111';
mysql> grant all privileges on zabbix.* to'zabbix'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;# 导入初始架构和数据,系统将提示您输入新创建的密码。
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix# Disable log_bin_trust_function_creators option after importing database schema.
mysql -uroot -paaA...111
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;# 为Zabbix server配置数据库
编辑配置文件 vim /etc/zabbix/zabbix_server.conf
DBPassword=aaA..111# 启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启:
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm
web界面进行安装,访问 192.168.3.86:80/zabbix
点击下一步后 这里遇到一个错误: php版本低,不支持使用mysql的caching_sha2_password验证插件
无法连接到数据库 The server requested authentication method unknown to the client
PHP 7.2.8和PHP 7.1.20已经可以支持caching_sha2_password,直接连接MySQL8。
切换php版本至7.4
dnf module switch-to php:7.4
重启httpd服务
systemctl restart httpd
再次点击下一步继续安装即可
安装完成
默认登录账号密码为: Admin zabbix
zabbix监控节点部署
# 配置yum仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
dnf clean all # 被监控机器安装zabbix-get和zabbix-agent
yum install zabbix-get zabbix-agent -y# 修改zabbix-agent 配置文件指向server端地址
vim /etc/zabbix/zabbix_agentd.conf117 Server=192.168.3.86
171 ServerActive=192.168.3.86# 启动zabbix-agent
systemctl enable --now zabbix-agent.service
监控信息的两种方式
主动模式:定时查看业务状态,及时性好。占用资源多。
被动模式:监控对象上报故障,占用资源少,如网络,存储资源。及时性差。
使用 zabbix_get 命令手动获取
zabbix_get -s 127.0.0.1 -k system.uname
Linux zyj86 4.18.0-553.el8_10.x86_64 #1 SMP Fri May 24 13:05:10 UTC 2024 x86_64
将主机添加到zabbix中 选择主机所属的群组
配置主机模版
在查看图形数据中存在乱码 如图
解决zabbix中文乱码
上传到 zabbix 服务器 simkai.ttf 中文楷体字体,也可上传其他字体。
cd /usr/share/zabbix/assets/fonts/
rz simkai.ttf
mv graphfont.ttf ./graphfont.ttf.bak
mv simkai.ttf graphfont.ttf
刷新网页后就不会出现乱码了
创建主机组
创建模版
选择关联的群组 (模版是一个监控项,图形,触发器等集合,一个群组可包括多个模版)
在添加主机后放置到群组中后 与群组关联的模版即生效,可以看到有很多监控项图形触发器等监控条目。
配置主机与模版关联
当我们在模板中添加监控项后就可以在web页面中查看了,如下例监控boot分区
监控boot分区
创建监控项
在这个模板中创建图形 选择刚才创建的监控项 为该数据展示图形
查看图表
监控网卡流量
创建监控项
添加两个预处理步骤
添加网卡的图形
将模板和主机关联
出网卡流量监控
键值net.if.out[ens160,bytes]
单位bps
进入和出的总流量
键值net.if.total[ens160,bytes]
单位bps
监控内存
键值vm.memory.size[buffers]
单位B
监控服务器端口
键值net.tcp.listen[3306]
# 使用zabbix_get 查看获取的数据
[root@zyj86 ~]# zabbix_get -s 127.0.0.1 -k net.tcp.listen[3306]
1键值net.tcp.listen[3306]
# 使用zabbix_get 查看获取的数据
[root@zyj86 ~]# zabbix_get -s 127.0.0.1 -k net.tcp.port[127.0.0.1,3306]
1
用户自定应监控key值 (监控mysql查询数量)
# 使用shell命令获取mysql查询数
mysqladmin status -uroot -paaA...111 2>&1
mysqladmin status -uroot -paaA...111 2>&1 | grep "^Uptime" | awk '{print $6}'
104
自定义key
vim /etc/zabbix/zabbix_agentd.d/self_define_parameter_mysql.confUserParameter=mysql.questions,mysqladmin status -uroot -paaA...111 2>&1 | grep "^Uptime" | awk '{print $6}'
使用zabbix_agentd -t 指定key名查看是否可以获取
[root@zyj87 ~]# zabbix_agentd -t mysql.questions
mysql.questions [t|110]
重启agent客户端
systemctl restart zabbix-agent.service
创建模版
UserParameter=mysql.questions 使用前面自定义的mysql.questions 作为key
添加图形
将模版与主机关联
zabbix触发器
触发器用于定义item的报警阈值,触发器对象可以用于主机或模版。
监控cpu
创建一个 用于监控cpu的模版
创建监控项 监控cpu的负载
添加触发器
触发器表达式解释:
last(/cpualert/system.cpu.load[all,avg1])>1
cpualert使用这个模版的主机的system.cpu.load所有cpu的1分钟平均值,最近一次数据的平均值大于1报警
完整设置如下
添加图形展示
将主机和模版关联
生成 大文件 压测cpu
dd if=/dev/zero of=/1.txt bs=1M count=10000
cpu利用率大于1 高于阈值出发告警
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
查看首页有告警信息
监控入网卡流量
当入网卡流量过高时会报警
邮件告警
开启授权码
BZgBZWARUac4TePu
添加一个邮箱报警媒介
创建此媒介的告警消息模板
点击添加后如下图所示
配置好后会在媒介中有字节添加的电子邮件告警栏目,可以点击右方测试按钮进行测试
如有以下结果说明上述步骤均配置成功
创建运维用户组 group_cloud2024_yunwei
创建属于group_cloud2024_yunwei组的用户group_cloud2024_zhangsan
添加该用户的报警媒介,使用163邮箱报警
设置用户为超级管理员权限
点击添加
创建触发器动作,例如: zyj87 主机宕机,监控项检测不到数值后触发器就会触发动
设置触发该动作的满足条件
添加操作
点击添加
内置宏变量
如定义报警消息时使用
主题: 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
消息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
自动发现
需安装zabbix-agent
# 修改zabbix-agent 配置文件指向server端地址
vim /etc/zabbix/zabbix_agentd.conf117 Server=192.168.3.86
171 ServerActive=192.168.3.86
创建自动发现规则
创建发现动作
创建动作
添加相应操作
稍等片刻zabbix会自动扫描局域网内的机器并添加到zabbix的监控中,如下图192.168.3.88
TCP连接状态
1、LISTENING状态
HTTPD服务启动后首先处于侦听(LISTENING)状态。
2、ESTABLISHED状态
ESTABLISHED的意思是建立连接。表示两台机器正在通信。
3、CLOSE_WAIT
对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭
4、TIME_WAIT
我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分 段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情 况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。
目前有一种避免TIME_WAIT资源浪费的方法,就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使用的,在某些情况下这个操作可能会带来错误。
5、SYN_SENT状态
SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为 ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波 之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多 SYN_SENT的原因。
自定义监控key(监控tcp链接状态)
准备自定义key
vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf
# Format:UserParameter=<key>,<shell commmand>
UserParameter=tcp.status.listen,ss -an | grep :80 |grep -i 'LISTEN' | wc -l
UserParameter=tcp.status.timewait,ss -an | grep :80 |grep -i 'TIME-WAIT' | wc -l
UserParameter=tcp.status.established,ss -an | grep :80 |grep -i 'ESTAB' | wc -l
UserParameter=tcp.status.syn_recv,ss -an | grep :80 |grep -i 'SYNC-RECV' | wc -l
UserParameter=tcp.status.syn_sent,ss -an | grep :80 |grep -i 'SYNC-SENT' | wc -l
UserParameter=tcp.status.close,ss -an | grep :80 |grep -i 'CLOSE' | wc -l
重启zabbix-agent
systemctl restart zabbix-agent.service
使用zabbix_get 指定key获取数据
zabbix_get -s 192.168.3.87 -k tcp.status.established
创建模版用于监控tcp状态
创建使用自定义key值的监控项 tcp.status.established
在模板中添加图形展示
设置主机与群组下的模板关联
用户访问httpd服务,查看图形展示
优化:使用传参数的方式
vim /etc/zabbix/zabbix_agentd.d/tcp_status.confUserParameter=tcp.status.[*],ss -an | grep :80 |grep -i '$1' | wc -l
重启zabbix-agent
systemctl restart zabbix-agent.service
使用key获取数据
zabbix_get -s 192.168.3.87 -k tcp.status.[listen]
设置监控项键值使用 tcp.status.[listen] [] 中的listen为传入$1的参数 ,使用这种穿传参的方式就简化了配置文件,只需要在设置健康项的时候出入需要监控的值即可。如传入:time_wait listen 等
当然也可以在shell脚本中使用函数调用的方式再进行优化。
相关文章:

zabbix6.0安装及常用监控配置
文章目录 部署zabbix-serverzabbix监控节点部署解决zabbix中文乱码创建主机组创建模版配置主机与模版关联 监控boot分区监控网卡流量出网卡流量监控进入和出的总流量监控内存监控服务器端口用户自定应监控key值 (监控mysql查询数量)zabbix触发器监控cpu监控入网卡流量 邮件告警…...

SQL-leetcode—1179. 重新格式化部门表
1179. 重新格式化部门表 表 Department: ---------------------- | Column Name | Type | ---------------------- | id | int | | revenue | int | | month | varchar | ---------------------- 在 SQL 中,(id, month) 是表的联合主键。 这个表格有关…...

JavaWeb 学习笔记 XML 和 Json 篇 | 020
今日推荐语 愿你遇见好天气,愿你的征途铺满了星星——圣埃克苏佩里 日期 学习内容 打卡编号2025年01月23日JavaWeb笔记 XML 和 Json 篇020 前言 哈喽,我是菜鸟阿康。 以下是我的学习笔记,既做打卡也做分享,希望对你也有所帮助…...

在Raspbian上,如何获取树莓派的CPU当前频率
本文不用汇编实现,因为我是要用在 Go 里的,Go 并不支持内联汇编,要用汇编比较麻烦。而且项目并不是很在意性能,所以直接用命令获取内核准备好的。 在Raspbian上,CPU 信息存放在/sys/devices/system/cpu/中,…...

网络打印机的搜索与连接(一)
介绍 网络打印机就是可以通过网络连接上的打印机,这类打印机分2种:自身具有互联网接入功能可以分配IP的打印机我们称为网络打印机、另外一种就是被某台电脑连接上去后通过共享的方式共享到网络里面的我们称为共享打印机。现在还有一种可以通过互联网连接…...

LangChain + llamaFactory + Qwen2-7b-VL 构建本地RAG问答系统
单纯仅靠LLM会产生误导性的 “幻觉”,训练数据会过时,处理特定知识时效率不高,缺乏专业领域的深度洞察,同时在推理能力上也有所欠缺。 正是在这样的背景下,检索增强生成技术(Retrieval-Augmented Generati…...

【自然语言处理(NLP)】介绍、发展史
文章目录 介绍发展史1. 规则驱动时期(20世纪50年代-80年代)技术特点标志性成果 2. 统计方法兴起(1990年代-2000年代)技术特点标志性成果 3. 神经网络复兴(2010年代初至今)技术特点标志性成果 4. 集成与应用…...

1.CSS的三大特性
css有三个非常重要的三个特性:层叠性、继承性、优先级 1.1 层叠性 想通选择器给设置想听的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要是解决样式冲突的问题。 <!DOCTYPE html> <html lang"en&…...

【分布式日志篇】从工具选型到实战部署:全面解析日志采集与管理路径
网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...

基于springcloud汽车信息分析与可视化系统
基于Spring Cloud的汽车信息分析与可视化系统是一款旨在整合、分析汽车相关数据并以直观可视化方式呈现的应用系统。 一、系统架构 该系统基于先进的Spring Cloud架构构建,充分利用其分布式、微服务特性,确保系统具备高可用性、可扩展性和灵活性。Spri…...

TOGAF之架构标准规范-信息系统架构 | 数据架构
TOGAF是工业级的企业架构标准规范,信息系统架构阶段是由数据架构阶段以及应用架构阶段构成,本文主要描述信息系统架构阶段中的数据架构阶段。 如上所示,信息系统架构(Information Systems Architectures)在TOGAF标准规…...

Databend x 沉浸式翻译 | 基于 Databend Cloud 构建高效低成本的业务数据分析体系
「沉浸式翻译」是一个非常流行的双语对照网页翻译扩展工具,用户可以用它来即时翻译外文网页、PDF 文档、ePub 电子书、字幕等。它不仅可以实现原文加译文实时双语对照显示,还支持 Google、OpenAI、DeepL、微软、Gemini、Claude 等数十家翻译平台服务的自…...

cuda的并行运算介绍
cuda是如何使用GPU并行运算的: 以一个函数为例: duplicateWithKeys << <(P 255) / 256, 256 >> > (P,geomState.means2D,geomState.depths,geomState.point_offsets,binningState.point_list_keys_unsorted,binningState.point_list_…...

「全网最细 + 实战源码案例」设计模式——抽象工厂模式
核心思想 抽象工厂模式是一种创建型设计模式,它提供一个接口,用于创建一系列相关或互相依赖的对象,而无需指定它们的具体类。抽象工厂模式解决了产品族的问题,可以管理和创建一组相关的产品。 结构 1. 抽象工厂 定义创建一些列…...

领域驱动设计(DDD)四 订单管理系统实践步骤
以下是基于 领域驱动设计(DDD) 的订单管理系统实践步骤,系统功能主要包括订单的创建、更新、查询和状态管理,采用 Spring Boot 框架进行实现。 1. 需求分析 订单管理系统的基本功能: 订单创建:用户下单创…...

leetcode 面试经典 150 题:简化路径
链接简化路径题序号71题型字符串解法栈难度中等熟练度✅✅✅ 题目 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为 更加简洁的规范路径。 在 Unix 风格的文件系统中规则如下…...

基于 STM32 的智能农业温室控制系统设计
1. 引言 随着农业现代化的发展,智能农业温室控制系统对于提高农作物产量和质量具有重要意义。该系统能够实时监测温室内的环境参数,如温度、湿度、光照强度和土壤湿度等,并根据这些参数自动调节温室设备,如通风扇、加热器、加湿器…...

【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
前言 🌟🌟本期讲解关于spring 事务传播机制介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话…...

【Postgres_Python】使用python脚本将多个PG数据库合并为一个PG数据库
需要合并的多个PG数据库表个数和结构一致,这里提供一种思路,选择sql语句insert插入的方式进行,即将其他PG数据库的每个表内容插入到一个PG数据库中完成数据库合并 示例代码说明: 选择一个数据库导出表结构为.sql文件(…...

Tailwind CSS v4.0 发布
Holy shit its actually done ! 1 月 22 日,Tailwind CSS 正式发布了 4.0 版本,针对性能和灵活性进行了优化,重新构想了配置和定制体验,并充分利用了 Web 平台提供的最新进展。 新的高性能引擎- 完整构建速度提高 5 …...

pandas基础:文件的读取和写入
文件的读取和写入 读取csv文件 csv文件: name,age,city Alice,25,New York Bob,30,Los Angelesread_csv(filename) header:如 何处理文件的第一行。header0将第一行作为列名,headerNone表示文件中没有列名,所有行都是数据。 im…...

【MySQL — 数据库增删改查操作】深入解析MySQL的create insert 操作
数据库CRUD操作 1 CRUD简介 CURD是对数据库中的记录进行基本的增删改查操作: 2. Create 新增 语法 INSERT [INTO] table_name[(column [,column] ...)] VALUES(value_list)[,(value_list)] ... # value 后面的列的个数和类型,要和表结构匹配…...

每日OJ_牛客_小红的子串_滑动窗口+前缀和_C++_Java
目录 牛客_小红的子串_滑动窗口前缀和 题目解析 C代码 Java代码 牛客_小红的子串_滑动窗口前缀和 小红的子串 描述: 小红拿到了一个长度为nnn的字符串,她准备选取一段子串,满足该子串中字母的种类数量在[l,r]之间。小红想知道&…...

HTTP 配置与应用(局域网)
想做一个自己学习的有关的csdn账号,努力奋斗......会更新我计算机网络实验课程的所有内容,还有其他的学习知识^_^,为自己巩固一下所学知识,下次更新HTTP 配置与应用(不同网段)。 我是一个萌新小白…...

ultralytics 是什么?
ultralytics 是一个用于计算机视觉任务的 Python 库,专注于提供高效、易用的目标检测、实例分割和图像分类工具。它最著名的功能是实现 YOLO(You Only Look Once) 系列模型,特别是最新的 YOLOv8。 1. YOLO 是什么? YO…...

AI竞争:从技术壁垒到用户数据之争
标题:AI竞争:从技术壁垒到用户数据之争 文章信息摘要: AI市场呈现开放模型与封闭模型并存的双轨发展态势,但核心竞争力已从模型技术转向用户数据积累和使用习惯培养。商业模式正在多元化发展,从早期的价格战转向subsc…...

MySQL 主从复制(单组传统复制,GTID复制。双主复制)
案例环境 单组复制 master: 192.168.180.143 slave01:192.168.180.144 双组复制 master01:192.168.180.143 master02:192.168.180.144 案例过程 准备工作 关闭所有防火墙 setenforce 0 && systemctl stop firewa…...

python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖
【1】引言 前序学习了使用numpy创建单通道的灰色图像,并对灰色图像的局部进行了颜色更改,相关链接为: python学opencv|读取图像(九)用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客 之后又学习了使用numpy创…...

vue3 中如何监听 props 中的值的变化
在 Vue 3 中,你可以使用 watch 函数来监听组件的 props 值的变化。watch 函数允许你观察一个或多个响应式数据源,并在这些数据源发生变化时执行回调函数。 以下是一个示例,展示了如何在 Vue 3 中使用 watch 来监听 props 中的值的变化&#…...

Scrapy之一个item包含多级页面的处理方案
目标 在实际开发过程中,我们所需要的数据往往需要通过多个页面的数据汇总得到,通过列表获取到的数据只有简单的介绍。站在Scrapy框架的角度来看,实际上就是考虑如何处理一个item包含多级页面数据的问题。本文将以获取叶子猪网站的手游排行榜及…...