Prometheus监控(一)

news2024/12/23 23:26:07

文章目录

  • 监控对于企业和运维工作的重要性
    • 监控?
    • 告警?
    • 数据采集
  • Prometheus介绍
    • Prometheus相对于老牌监控的优势和不足
    • 理想的监控系统的实现
      • 监控系统设计(架构师)
      • 监控系统的搭建
      • 数据采集的编写
      • 监控数据分析和算法
      • 稳定性测试
      • 监控自动化
      • 图形化展示

监控对于企业和运维工作的重要性

监控?

监控,就是对服务器的行为状态进行观察、记录的一套动作。

告警?

告警,是对监控到的行为数据进行分析,一旦监控数据出现异常或是,出现预期之外的服务器动作,告警机制则会通过某种方式将该信息传达至运维或是服务器管理人员。

监控和告警的关系

在这里插入图片描述

数据采集

监控所需要的数据需要通过数据采集得来,而数据采集会为监控提供抓手、分析用户行为和制定安全策略等能力。

在这里插入图片描述

Prometheus介绍

Prometheus相对于老牌监控的优势和不足

优势

  • 监控数据的精细程度:1~4秒
  • 使用监控脚本部署集群的速度快
  • 插件丰富功能多样,包括exporter、pushgateway等
  • 本身基于数学模型,有大量的实用模型,可以实现很多复杂功能的监控业务逻辑
  • 图形展示优美,可视化出众

不足

  • 如果集群数量太大,那么单点的监控有性能瓶颈 目前尚不支持集群 只能
    workaround
  • 对磁盘资源也是耗费的较大,这个具体要看 监控的集群量 和 监控项的多少 和保存时间的长短

理想的监控系统的实现

在这里插入图片描述

监控系统设计(架构师)

整体的系统设计是形成系统尤为重要的事,设计的不好,整个监控系统就不会实现其该有的功能。

设计部分包括如下的内容:

• 评估系统的业务流程 业务种类 架构体系
各个企业的产品不同,业务方向不同,程序代码不同,系统架构更不同
对于各个地方的细节 都需要有一定程度的认知 才可以开起设计的源头

• 分类出所需的监控项种类
一般可分为 : 业务级别监控 、 系统级别监控 、网络监控 、程序代码监控、日志监控 、用户行为分析监控、其他种类监控

监控种类划分

业务监控

可以包含用户访问QPS,DAU日活,访问状态(http code), 业务接入(登陆,注册,聊天,上传,留言,短信,搜索),产品转化率,充值额度,用户投诉等等这些很宏观的概
念(上层)

系统监控

主要是跟操作系统相关的,基本监控项 CPU/ 内存 / 硬盘 / IO / TCP链接 / 流量 等等(Nagios - plugins, prometheus)

网络监控

(IDC)对网络状态的监控(交换机,路由器,防火墙,VPN) 互联网公司必不可少 但是很多时候又被忽略。例如:内网之间(物理内网,逻辑内网 可用区 创建虚拟机 内网IP 外网 丢包率、延迟等等

日志监控

监控中的重头戏(Splunk,ELK),往往单独设计和搭建,全部种类的日志都有需要采集 (syslog, soft, 网络设备,用户行为)

程序监控

一般需要和开发人员配合,程序中嵌入各种接又 直接获取数据 或者特质的日志格式

监控系统的搭建

包括一下步骤:

  • 单点服务端的搭建(Prometheus)
  • 单点客户端部署
  • 单点客户端服务器的测试
  • 采集程序单点部署
  • 采集程序集群部署
  • 监控端HA/cloud
  • 监控端数据可视化,grafana
  • 报警系统测试,paperduty
  • 报警规则测试
  • 监控+报警联合测试
  • 正式上线监控

数据采集的编写

实用脚本编写数据采集工具
shell、python、PHP、go语言等

数据采集的方式

  • 一次性采集的模式
    稳定性较好 不容易出现各种错误 和性能瓶颈,且开发逻辑简单、实
    现快速;对于有些采集项目实现起来不够智能、也不够到位、例如:日志的实时采集
    (使用一次性采集 日志文件 200/5xx diff grep 也可以实现 但是很low 不够准确 不够直观)
  • 后台式采集: 采集程序以守护进程运行在Linux后台,持续不断的采集数据pormetheus exporter 例如,python/go开发的daemon程序 后台持续不断的采集
    优点: 后台采集程序,数据准确性高,采集密度精细,管理方便
    缺点:后台采集程序 如果开发过程不够仔细 可能会出现各种 内存泄漏 僵尸进程 性能瓶颈的问题, 且开发周期较长
  • 桥接式采集: 本身以后台进程运行 但是采集不能独立 依然跟服务器关联 以桥接方式收集采集数据
    例如:NRPE for nagios

监控数据分析和算法

需要一个非常专业的数据计算团队才可以给出一个最合理的算法协助我们的报警规则。
业务级别监控的算法,运维自身无法做到十分专业。因为本身跟操作系统无关,是跟数据算法相关。
举个例子:如果我想通过Prometheus实现对用户访问QPS的 精确监控,那么对于 监控图形 曲线 QPS上涨 QPS下跌,QPS凸起,QPS和历史数据的比较方法 等等这些 都属于业务级别的监控阈值类型,需要有专业的数据分析人员的协助 才可以算出优良的算法。

稳定性测试

不管是一次性采集,还是后台采集,只要是在Linux上运行的东西 都会多多少少对系统产生一定的影响。

而稳定性测试,就是通过一段时间的单点部署来观察对线上有没有任何影响。

监控自动化

监控客户端的批量部署,监控服务端的HA再安装,监控项目的修改,监控项目的监控集群变化种种,这些地方都需要大量的人工自动化的引进,会很大程度上缩短我们对监控系统的维护成本。

这里给出几个实例:
Puppet(配置文件部署)
Jenkins(CI 持续集成部署)
CMDB(运维自动化的最高资源管理平台和理念 )等
利用好如上这几个聚的例子,就可以实现对监控自动化的掌控

图形化展示

采集的数据和准备好的监控算法,最终需要一个好的图形展示才能发挥最好的作用

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无风扇迷你电脑信息与购买指南

本文将解释什么是无风扇迷你电脑,以及计算产品组合中你可以购买的一些不同的无风扇迷你电脑的信息指南。 无风扇迷你电脑是一种小型工业计算机,旨在处理复杂的工业工作负载。迷你电脑是通过散热器被动冷却可在各种类型的易失性环境中部署。无风扇微型计…

自动化运维:Ansible基础与命令行模块操作

目录 一、理论 1. Ansible 2.部署Ansible自动化运维工具 3.Ansible常用模块 4.hostsinverntory主机清单 二、实验 1.部署Ansible自动化运维工具 2.ansible 命令行模块 3.hostsinverntory主机清单 三、问题 1. ansible远程shell失败 2.组变量查看webservers内主机ip报…

开源在企业中的角色和价值

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

Java集合大揭秘:优雅管理数据的智慧舞台

集合(Collections)是一种用于存储、组织和操作数据的重要工具。它们提供了各种数据结构和算法,帮助开发者高效地处理不同类型的数据。本文将带您深入了解Java集合框架,探索其核心概念、常用接口和类,以及在实际应用中的…

一个插件实现代码自由,快来试试吧

效果如下 开始操作 1.插件下载并解压 2.打开chrome浏览器,点击扩展程序–》管理扩展程序 3.打开开发者模式,加载已解压的扩展程序 4.加载AI工具 5.打开插件 6.回到主页,效果如下 7.点击ChatGPT 8.大概过30秒,邮箱注册 9.注册完成,可以…

智能气象站丨自动采集、自动存储、自动传输

智能气象站,能够同时自动采集周围环境中的空气湿度、空气温度、风速、风向、雨量、太阳辐射及大气压力、PM2.5、PM10等,多用户可以在手机或者电脑上同时查看实时数据。智能气象站与传统的气象站不同,采用了多种传感器技术对空气中的各项要素进…

谁说银行U盾有OK键,就不能远程连接调用?

如今很多公司都在用USB Server管理U盾,但是有的U盾不是要按OK键吗?怎么远程连接呢? 了解一下U盾OK键远程点按器! 有了它就可以配合USB Server自动点按OK键、远程连接调用网银U盾! 把U盾固定在点按器上, 将…

突破边界:文本检测算法的革新与应用前景

突破边界:文本检测算法的革新与应用前景 1.文本检测理论篇(文本检测方法介绍) 文本检测任务是找出图像或视频中的文字位置。不同于目标检测任务,目标检测不仅要解决定位问题,还要解决目标分类问题。 文本在图像中的…

大数据项目实战(Sqoop安装)

一,搭建大数据集群环境 1.4 Sqoop安装 1.sqoop安装 (1)上传安装包 (2)解压安装包 tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /export/servers (3)重命名 mv sqoop-1.4.6.b…

新生军训报到须知情况发布

军训是每位高中生开学的第一课,它不仅能锻炼身体,培养毅力和团队合作精神,更能培养学生坚强的意志和自律的品质。作为班主任,应该与军训教官紧密合作,共同努力,为学生们提供一个有益的军训经验。 好消息&am…

AIGC:初学者使用“C知道”实现AI人脸识别

文章目录 前言人脸识别介绍准备工作创作过程生成人脸识别代码下载分类文件安装 OpenCV生成人脸识别代码(图片) 创作成果总结 前言 从前,我们依靠各种搜索引擎来获取内容,但随着各类数据在互联网世界的爆炸式增长,加上…

缓存技术实现

大家好 , 我是苏麟 , 今天聊一聊缓存 . 这里需要一些Redis基础 (可以看相关文章等) 本文章资料来自于 : 黑马程序员 如果想要了解更详细的资料去黑马官网查看 前言:什么是缓存? 缓存,就是数据交换的 缓冲区 (称作Cache [ kʃ ] ),俗称的缓存就是缓冲区内的数据,是存贮数据的…

SpringBoot异步方法支持注解@Async应用

SpringBoot异步方法支持注解Async应用 1.为什么需要异步方法? 合理使用异步方法可以有效的提高执行效率 同步执行(同在一个线程中): 异步执行(开启额外线程来执行): 2.SpringBoot中的异步方法支持 在SpringBoot中并不需要我们自己去创建维护线程或者线程池来异…

RTSP/Onvif协议安防视频平台EasyNVR录像模式自定义操作

TSINGSEE青犀视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif流媒体协议接入,并能对接入的视频流进行处理与多端分发,包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式。在智慧安防等视频监控场景中,EasyNVR可提供视频实时监控直播…

【通用消息通知服务】0x3 - 发送我们第一条消息(Websocket)

【通用消息通知服务】0x3 - 发送我们第一条消息 项目地址: A generic message notification system[Github] 实现接收/发送Websocket消息 Websocket Connection Pool import asyncio from asyncio.queues import Queue from asyncio.queues import QueueEmpty from contextli…

Triplet Fingerprinting(三元组网站指纹攻击)

文章信息 论文题目:《Triplet Fingerprinting: More Practical and Portable Website Fingerprinting with N-shot Learning》 期刊(会议):Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Secur…

【Java 中级】一文精通 Spring MVC - 上传(十)

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

LeetCode第11~15题解

CONTENTS LeetCode 11. 盛最多水的容器(中等)LeetCode 12. 整数转罗马数字(中等)LeetCode 13. 罗马数字转整数(简单) LeetCode 11. 盛最多水的容器(中等) 【题目描述】 给定一个长…

广州华锐互动:VR垃圾分类虚拟科普系统让学习过程更加丰富有趣

在我们的日常生活中,垃圾分类已成为一项重要的公民责任。然而,由于缺乏对垃圾分类的深入理解和相关知识,许多人在实践中往往感到困惑和挫败。为了解决这个问题,一种创新的解决方案应运而生:垃圾分类VR虚拟仿真教学系统…

ESP32使用Arduino读写SD卡

背景 esp32屏幕包含一个sd卡接口,通过SPI线连接,需要对插入改SD接口中的TF卡进行读写,通过arduino平台实现。 代码中HSPI指ESP32的SPI2; 在Master模式下,SPID是MOSI/data out, SPIQ是MISO/data in: 代码 #include…