zabbix监控警告
监控概述
-
对服务的管理,不能仅限于可用性。
-
还需要服务可以安全、稳定、高效地运行。
-
监控的目的:早发现、早治疗。
-
被监控的资源类型:
-
公开数据:对外开放的,不需要认证即可获取的数据
-
私有数据:对外不开放,需要认证、权限才能获得的数据
-
uptime可以查看系统已经运行了多久。最后的3个数字分别是CPU最近1分钟、5分钟、15分钟的平均负载。平均负载的值,不应该大于总核心数。
[root@myhost ~]# uptime
09:28:25 up 53 days, 27 min, 0 users, load average: 0.09, 0.08, 0.03
free -h 主要用于查看内存
total 总内存 available 可用内存
swapon -s # 查看swap空间
df -h # 查看硬盘使用情况
ping -c2 www.baidu.com # 发2个包,测试网络
zabbix
实施监控的几个方面:
数据采集:使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集)
数据存储:使用mysql数据库
数据展示:通过web页面
zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示。
安装zabbix 6.0 安装说明:https://www.zabbix.com/download?zabbix=6.0&os_distribution=rocky_linux&os_version=8&components=server_frontend_agent&db=mysql&ws=nginx 中文手册:https://www.zabbix.com/documentation/6.0/zh
在zabbix上创建连接数据库的用户
[root@zabbixserver ~]# mysql mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; # 在binlog日志开启的情况下,打开函数生成器 mysql> set global log_bin_trust_function_creators = 1; mysql> create user zabbix@localhost identified by 'zabbix'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit; 验证数据库配置,如果登陆不到数据库表示上一步配置不正确 [root@zabbixserver ~]# mysql -uzabbix -pzabbix -hlocalhost zabbix # 9. 在数据库中创建表并导入数据 [root@zabbixserver ~]# cp /usr/share/zabbix-sql-scripts/mysql/server.sql.gz . [root@zabbixserver ~]# gzip -d server.sql.gz [root@zabbixserver ~]# mysql -uzabbix -pzabbix zabbix < server.sql # 10. 配置zabbix_server [root@zabbixserver ~]# vim +129 /etc/zabbix/zabbix_server.conf DBPassword=zabbix # 11. 配置zabbix_agent [root@zabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf 182 Hostname=zabbixserver # 12. 配置nginx展示zabbix [root@zabbixserver ~]# vim /etc/nginx/conf.d/zabbix.conf # 打开第2、3行的注释,结果如下所示: server { listen 8080; server_name example.com; ...以下省略... 启动相关服务 [root@pubserver zabbix]# vim 04-start-zabbix.yml --- - name: config zabbix hosts: zabbix tasks: - name: start service # 循环启动多个服务 service: name: "{{item}}" state: started enabled: yes loop: - zabbix-server - zabbix-agent - nginx - php-fpm ansible-playbook 04-start-zabbix.yml
虚拟主机分类 基于IP或基于端口号或基于名称
空闲值 最小值 平均值 最大值
访问zabbixserver的8080端口,进行初始化:
这里的用户名Admin,A是大写的!密码是小写的zabbix
此时zabbix已经开始在监控自己了,查看默认监控配置
1.配置zabbix监控web1服务器
安装agent
-
[root@pubserver zabbix]# vim 05-inst-agent.yml
---
- name: install agent
hosts: webservers
tasks:
- name: install agent # 安装agent
yum:
name: zabbix-agent
state: present
[root@pubserver zabbix]# ansible-playbook 05-inst-agent.yml
2. 修改web1配置文件
[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.conf
117 Server=127.0.0.1,192.168.88.5
182 Hostname=web1
3. 起动服务
[root@pubserver zabbix]# vim 06-start-agent.yml
---
- name: config agent
hosts: web1
tasks:
- name: start agent # 启动服务
service:
name: zabbix-agent
state: started
enabled: yes
[root@pubserver zabbix]# ansible-playbook 06-start-agent.yml
在web页面中添加对web1的监控
主机:安装了agent,被监控的主机
主机组:根据需求,将多台主机加入到一个主机组中,方便管理。系统默认已经创建了一些主机组。
模板:是监控项的集合。将模板应用到主机,主机就可以直接拥有模板中的所有监控项。系统中默认已经创建了一些模板。
常用监控指标
-
Space utilization:以百分比显示的磁盘利用率
-
Used space:已用磁盘空间
-
Available memory:可用内存
-
CPU idle time:CPU空闲时间。不宜过低。
-
Load average (1m avg)、Load average (5m avg)、Load average (15m avg):CPU1分钟、5分钟、15分钟的平均负载。这个值不应长期大于核心数。
-
Interface eth0: Bits received:网卡接收到的数据量 数据需要除以8 换算成比特而不是字节
-
Interface eth0: Bits sent:网卡发送的数据量
-
Number of processes:系统运行的进程数
-
Number of logged in users:已登陆的用户数
未启用爆红错误的话 检查服务是否开启 是否10050端口存在
也有可能存在权限问题 查看主机IP地址是否错误 配置文件错误
vim /etc/zabbix/zabbix_agentd.conf 117行写错
自定义监控项
实现监控web1用户数量的监控项
在被控端创建key。被控端被监控的内容叫作key,可以理解为它就是一个变量名,具体的名字自己决定。
在web页面中创建监控项。监控项对应key值。
包含 》对应》 模板》 监控项 》 key
在被控端创建key
创建key的语法
UserParameter=自定义key值,命令
命令的执行结果,是key的value
创建自定义配置文件。文件名自定义。
[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/usercnt.conf
UserParameter=usercnt,sed -n '$=' /etc/passwd
[root@web1 ~]# systemctl restart zabbix-agent.service
验证自定义监控项
1. 安装zabbix-get
[root@zabbixserver ~]# yum install -y zabbix-get
[root@web1 ~]# yum install -y zabbix-get
2. 获取监控项的值
[root@web1 ~]# zabbix_get -s 127.0.0.1 -k usercnt
[root@zabbixserver ~]# zabbix_get -s 192.168.88.100 -k usercnt
创建模板
你都知道有哪些命令可以监控服务器的各种状态?
参考答案(注意:有些命令需要额外安装):
可以使用以下命令监控服务器的各种状态:
top:查看系统整体的 CPU、内存、进程等信息。
htop:类似于 top,但是界面更加美观,而且支持鼠标操作。
free:查看内存的使用情况。
df:查看磁盘的使用情况。
du:查看指定目录的磁盘使用情况。
iostat:查看磁盘 I/O 的情况。
vmstat:查看虚拟内存的情况。
sar:查看 CPU、内存、磁盘、网络等信息,可以设置输出时间间隔。
netstat:查看网络连接情况。
ss:查看网络连接情况,比 netstat 更快速、更详细。
iftop:查看网络流量情况。
tcpdump:抓包工具,可以查看网络数据包的内容。
ping:测试网络连通性。
traceroute:追踪数据包在网络中的路径。
telnet:测试端口是否开放。
curl:测试 Web 服务是否正常。
wget:下载文件,测试网络带宽。
nload:查看网络流量情况,类似于 iftop。
iptraf:查看网络流量情况,支持多种协议。
nethogs:查看进程的网络流量情况。
iftop:查看网络流量情况。
tcpdump:抓包工具,可以查看网络数据包的内容。
ping:测试网络连通性。
traceroute:追踪数据包在网络中的路径。
telnet:测试端口是否开放。
curl:测试 Web 服务是否正常。
简要说明一下如何在Rocky 8系统上安装zabbix 6.0?
参考答案:
系统yum没有提供zabbix安装包,需要先准备zabbix的yum源
安装软件包,包括:zabbix-server-mysql、zabbix-web-mysql、zabbix-nginx-conf、zabbix-sql-scripts、zabbix-selinux-policy、zabbix-agent、mysql-server
启动mysqld服务
在mysql服务器上创建数据库以及访问数据库的用户
导入zabbix提供的sql文件到上一步建立的数据中
配置zabbix server端(改配置文件)
配置zabbix agent端(改配置文件)
配置nginx展示zabbix(改配置文件)
启动相关服务,包括:zabbix-server、zabbix-agent、nginx、php-fpm
访问zabbixserver的8080端口,进行初始化
zabbix常用的监控指标有哪些?
CPU 使用率:监控服务器的 CPU 利用率,以评估服务器的负载和性能。
内存使用率:监控服务器的内存使用情况,包括物理内存、交换内存和缓存的使用情况。
磁盘空间使用率:监控服务器和存储设备的磁盘空间使用情况,以避免磁盘空间不足的问题。
网络带宽使用情况:监控网络接口的网络带宽使用情况,包括入带宽和出带宽的使用情况。
网络设备状态和流量:监控网络设备的状态和流量,包括交换机、路由器等设备的状态和流量。
数据库性能:监控数据库的性能指标,包括查询吞吐量、查询执行性能、连接情况等。
Web 应用程序响应时间和错误率:监控 Web 应用程序的响应时间和错误率,以提高应用程序的性能和可用性。
日志文件变化和错误:监控日志文件的变化和错误,以获取应用程序和系统的运行信息和故障排除信息。
操作系统进程和服务状态:监控操作系统的进程和服务状态,以确保系统的稳定性和可用性。
系统日志和告警事件:监控系统日志和告警事件,以获取系统和应用程序的运行信息和故障排除信息。
电力设备状态:监控电力设备的电压、电流和温度等状态,以确保设备的稳定运行。
安全设备状态:监控安全设备的防火墙日志、攻击检测等状态,以提高系统的安全性。
如何在zabbix被控端创建自定义key?
UserParameter=自定义key值,命令 # 命令的执行结果,是key的value
自定义key创建后需要重启zabbix-agent服务:
systemctl restart zabbix-agent.service
创建的key可以通过zabbix_get查询:
zabbix_get -s 主机地址 -k 自定义key
配置zabbix监控服务器
本实验需要使用课上的zabbix server,如没有可用服务器,请参照课上文档部署服务器
准备一台名为db1的虚拟机
在虚拟机安装zabbix agent,并
配置yum
安装配置agentyum install -y zabbix-agent
# 修改配置文件
[root@db1 ~]# vim /etc/zabbix/zabbix_agentd.conf
117 Server=127.0.0.1,192.168.88.5
182 Hostname=db1
# 启动服务
[root@db1 ~]# systemctl enable zabbix-agent.service --now
自定义监控项
在db1创建名为grpcnt的key,用于监控用户组的数量
在zabbixserver的web页面上显示该key
[root@db1 ~]# vim /etc/zabbix/zabbix_agentd.d/grpcnt.conf
UserParameter=grpcnt,sed -n '$=' /etc/group
重启服务
[root@db1 ~]# systemctl restart zabbix-agent.service
安装zabbix-get
[root@db1 ~]# yum install -y zabbix-get
获取key值
[root@db1 ~]# zabbix_get -s 127.0.0.1 -k grpcnt
相关文章:
zabbix监控警告
监控概述 对服务的管理,不能仅限于可用性。 还需要服务可以安全、稳定、高效地运行。 监控的目的:早发现、早治疗。 被监控的资源类型: 公开数据:对外开放的,不需要认证即可获取的数据 私有数据:对外不…...
YOLOv9架构图分享
YOLOv9是YOLO (You Only Look Once)系列实时目标检测系统的最新迭代。它建立在以前的版本之上,结合了深度学习技术和架构设计的进步,以在目标检测任务中实现卓越的性能。通过将可编程梯度信息(PGI)概念与广义ELAN (GELAN)架构相结合,YOLOv9在…...
全自动封箱机的工作原理:科技与效率的完美结合
随着科技的不断发展,越来越多的自动化设备走进了我们的日常生活和工业生产中。其中,全自动封箱机作为物流包装领域的重要一环,凭借其高效、精准的工作性能,正逐渐成为提升生产效率、降低劳动成本的得力助手。星派就来与大家深入探…...
【管理咨询宝藏48】AA银行信息科技提升分析报告
本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏48】AA银行信息科技提升分析报告 【格式】PPT版本,可编辑 【关键词】战略规划、商业分析、管理咨询 【强烈推荐】这是一套市面上非常…...
循序表实战——基于循序表的通讯录
前言:本篇文章主要是利用顺序表作为底层, 实现一个通讯录。偏向于应用, 对于已经学习过c的友友们可能没有难度了已经。没有学习过c的友友, 如果顺序表不会写, 或者说没有自己实现过, 请移步学习顺序表相关内…...
Java编程规范及最佳实践
文章目录 一、命名规范二、代码风格规范三、注释规范四、推荐的编程实践五、类和接口六、异常处理七、可见性八、并发九、代码复用十、代码组织和模块化十一、Java集合框架十二、输入验证十三、资源管理十四、文档和注释十五、测试和代码质量十六、代码可读性十七、性能优化十八…...
90天玩转Python—07—基础知识篇:Python中运算符详解
90天玩转Python系列文章目录 90天玩转Python—01—基础知识篇:C站最全Python标准库总结 90天玩转Python--02--基础知识篇:初识Python与PyCharm 90天玩转Python—03—基础知识篇:Python和PyCharm(语言特点、学习方法、工具安装) 90天玩转Python—04—基础知识篇:Pytho…...
C语言 位域
C 语言的位域(bit-field)是一种特殊的结构体成员,允许我们按位对成员进行定义,指定其占用的位数。 如果程序的结构中包含多个开关的变量,即变量值为 TRUE/FALSE,如下: struct {unsigned int w…...
【LeetCode热题100】【技巧】颜色分类
题目链接:75. 颜色分类 - 力扣(LeetCode) 只需排序三种,可以记录0和1的个数,然后直接原地赋值 class Solution { public:void sortColors(vector<int> &nums) {int zero 0, one 0;for (auto &num: n…...
笔记本电脑win7 Wireless-AC 7265连不上wifi6
1.背景介绍 旧路由器连接人数有限,老旧,信号不稳定更换了新路由器,如 TL-XDR5430易展版用户电脑连不上新的WIFI网络了,比较着急 核心问题:有效解决笔记本连接wifi上网问题,方法不限 2.环境信息 Windows…...
Linux gcc day5粘滞位
粘滞位 背景:一定时在一个公共目录(root创建)下。进行临时文件的操作 Linux系统中有很多人,我们需要在一个公共目录下,进行临时文件的操作(增删查改) 创建一个根目录下的dir(mytmp…...
单片机按键消抖常用的软硬件方法
一:什么是开关抖动? 当我们按下按钮或拨动开关或微动开关时,两个金属部件会接触以短路电源。但它们不会立即连接,而是金属部件在实际稳定连接之前连接和断开几次。释放按钮时也会发生同样的事情。这会导致误触发或多次触发&#…...
钉钉自建应用-下载excel(h5)
由于不同手机对于文件下载有不同的支持,而且文件路径也不一样,找起来十分的麻烦。所以,最好是找到一个都支持的方法。还好,钉钉官网提供了网盘,我们可把文件保存到钉钉自带的网盘,这样方便查找。 这里需要…...
用二八定律分析零售数据,不就更直观了吗?
20%的商品贡献了80%的销售金额,你会不会想知道这些商品的销售金额、毛利、销售金额累计占比、毛利累计占比,会不会想知道这些商品在各个门店的销售表现?看是否能进一步提高销售金额,提高毛利。这样的报表该怎么做?奥威…...
NetSuite Saved Search-当前库存快照查询报表(二)
之前第一篇文章我们说明了,如何利用Saved Search来制作一个能够显示批次物料与非批次物料的Lot信息以及On Hand在手数量的“当前库存快照查询报表”,但是当用户提出“我们能否再加上批次物料的效期”需求时,我们原有的Saved Search并不能达到…...
【JavaSE】接口 详解(上)
前言 本篇会讲到Java中接口内容,概念和注意点可能比较多,需要耐心多看几遍,我尽可能的使用经典的例子帮助大家理解~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 接口 语法…...
嵌入式C基础——循环队列 ringbuffer 讲解
本期主题: 讲解ARRAY_SIZE的作用以及定义,还有一个踩坑分析 往期链接: 数据结构系列——先进先出队列queue数据结构系列——栈 stackLinux内核链表零长度数组的使用inline的作用嵌入式C基础——ARRAY_SIZE使用以及踩坑分析 目录 1. Ringbuff…...
【动态规划-状态压缩dp】【蓝桥杯备考训练】:毕业旅行问题、蒙德里安的梦想、最短Hamilton路径、国际象棋、小国王【已更新完成】
目录 1、毕业旅行问题(今日头条2019笔试题) 2、蒙德里安的梦想(算法竞赛进阶指南) 3、最短Hamilton路径(《算法竞赛进阶指南》&模板) 4、国际象棋(第十二届蓝桥杯省赛第二场C A组/B组&#…...
全坚固笔记本丨工业笔记本丨三防笔记本相较于普通笔记本有哪些优势?
三防笔记本和普通笔记本在设计和性能方面存在显著差异,三防笔记本相较于普通笔记本具备以下优势: 三防笔记本通常采用耐磨、耐摔的材料,并具有坚固的外壳设计,能够承受恶劣环境和意外碰撞,有效保护内部组件不受损坏。相…...
机房搬迁方案
一、项目背景 随着XX公司业务的不断扩展,现有的机房设备已经无法满足日益增长的数据处理需求。同时,考虑到现有机房的设施老化及潜在的安全隐患,XX公司决定进行机房搬迁。本次搬迁旨在确保业务连续性、数据安全性以及新机房的高效运营。 二…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
