Promethues:普罗米修斯

2024-01-29 13:52

本文主要是介绍Promethues:普罗米修斯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

promethues是一个开源的系统监控以及报警系统。整和zabbix的功能,系统,网络,设备promethues可以兼容网络,设备。容器监控。告警系统。因为他和k8s是一个项目基金开发的产品,天生匹配k8s的原生系统。对容器化和云原生服务适配性很高。

prometheus是一个服务监控系统和时序数据库,提供了通用的数据模型和快捷数据采集,存储和接口查询。

核心组件: prometheus server定期从静态配置的监控目标或者基于服务发现的自动配置目标中进行拉取数据。拉取到的数据会持久化的保存到存储设备中

先拉取数据,纳入到监控系统当中,才能进行时序数据采集,存储,告警和展示。

S

10

15

能够直接把api server作为服务发现系统使用。动态监控,动态发现。

Promethues的特点

1、多维的数据模型

可以根据 不同的函数计算方法,对一个数据进行多维度分析,做出不同的结论

2、时间序列的数据

按照时间的顺序记录系统,设备变化的数据,容器化的数据。每个数据都是一个样本。

服务器指标数据、应用程序的性能监控、网络数据数据 都是时间序列数据

3、通过静态,也可以通过服务自动发现收集数据

4、promethues自带的原生数据展示不是很友好,数据化展示工具,grafana

prometheus的存储引警: TSDB

1、能够存储的数据量很庞大

2、大部分都是写入操作

3、写入操作是一个时序添加,大多数情况下都是按照时间排列

4、很少更新数据,采集到数据在秒级,或者是分钟级就会被写入数据库

5、基本数据大,一般超过了内存的大小

数据按照一定的时间区间展示,缓存在这里不起作用

6、读操作,一般都是高并发操作

7、就是为了大数据,高并发而生的。

prometheus的组件:

核心组件:

prometheus server

服务核心组件,采用pull方式采集监控数据,通过http协议进行传输,存储时间序列的数据。基于告警规则生成告警通知

核心分为三部分:

① retrieval:负责在日标主机抓取监控指标数据

② Storage:存储,把采集的数据保存盘当中,默认只保存15天

③ PromQL:负责把数据按照一定的规则,通过指定的语法形成一个结果,最后展示出来 (grafana)

Node-Exports

exports负责在节点收集数据,Node-Exports负责收集服务器节点的状态数据(CPU,内存,网络,磁盘等等都是他收集),默认端口:9100

client Library 客户端库

用于应用程序的内部测量系统。内部测试

cadvitor

监控容器内部的资源信息.但是K8S从1.20之后自带这个部分的组件

blackbox-exporter

监控业务容器的存活性。(一般不用)

Altermanager

独立的告警模块,从prometheus server 收到告警通知之后,Altermanager进行重组、分类,发送到对应的接受方

电子邮件 钉钉 企业微信

pushgateway

类似于一个中转站,server端只会pull的方式拉取数据,节点的数据只能以上传(push)的方式发送,先把数把源保存在pushgatway,prometheus server统一从pushgatewav拉取数据。

grafana

图形化工具

prometheus的工作流程

1、prometheus server为核心,收集和存储数据(时间序列数据),从监控标中通过pull方式拉取数据。或者通过pushgateway把采集到的数据,拉取到server当中

2、拉取到的数据,保存到本地的磁盘当中。(监控指标数据)

3、如果监控的指标数据触发了告整,发送到altermanager模块,然后根据规则发送告警信息。

4、通过proetheus的自带uiweb页面,通过promql可以查询出监控户数据

5、grafana可以介入prometheus数据源,把监控数据以图形化的方式展示出来

Prometheus的局限性,以及和zabbix的对比:

局限性:

1、只是一款指标监控系统,不适合存储时间,也不适合保存日志,更多的是一种趋势性的监控和展示。并非是一个精准的教据。

2、认为最近的数据才有查询的需要,保存在本地的数据默认只有15天,不支持大量的历史数据进行存储。也不支持查询过往的历史数据。基于远端存储,上传了到influxDB或者openTSDB系统。

3、集群化程度不高,一般都是单节点部暑

概念的对比:

zabbix:大而全系统,而且功能非常完善,机制非常成熟。具有完善的web页面。可视化和告警。在界面上可以满足绝大部分的操作上手难度很低,可以快速掌握。集成度台盖,定制化比较难,扩展也比较差。

Prometheus:最近几年比较火的监控系统,基于go语言开发的,只是专注于监控的功能,提供一个简单的ui界面供用户查询。

可视化 -------- grafana , 告警 -------- Altermanager  第三方程序来实现。比较小巧灵活,但是门槛高

功能的比较:

zabbix:指标收集方式: server和agent,agent部罢在日标服务器,数据传送到server,基于tcp进行通信。agent把数据推送到server,或者server主动发起请求,获取agent的数据

prometheus:基于客户端进行数据收集,server端定时于客户端交互,通过PULL方式获取监控数据

数据存储的对比:

zabbix使用外部的数据来保存数据

prometheus存储在内置的TSDB当中,时间序列数据库

查询性能的对比

1、zabbix的查询性较弱,只能在web界面做一些有限的操作

2、prometheus的查询功能强大,自带查询语句。查询结果都是以图形,表格数据展示。

核心的对比:

zabbix更成熟,上手难度低,对于传统的服务器,系统和网络都有优秀的监控能力。不适配云原生,不话配容器监控

prometheus,就是容器化监空,支持k8s的监控功能。

[Unit]

Description=Prometheus Server

Documentation=https://prometheus.io

After=network.target

[Service]

Type=simpleExecStart=/opt/prometheus/prometheus \ --config.file=/opt/prometheus/prometheus.yml \

--storage .tsdb .path=/opt/prometheus/data/ \

--storage.tsdb.retention=15d \

--web.enable-lifecycle

ExecReload=/bin/kill -HUP SMAINPID

Restart=on-failure

[Install]

WantedBy=multi-user.target

[Unit]

Description=node exporter

Documentation=https://prometheus.io/

After=network.target


[Service]

Type=simple

ExecStart=/usr/local/bin/node_exporter \

--collector.ntp \

--collector.mountstats \

--collector.systemd \

--collector.tcpstat


ExecReload=/bin/kil -HUP SMAINPID

Restart=on-failure


[Install]

WantedBy=multi-user.target

普罗米修斯

prometheus: 就是一个监控,时序数列的图形化监控的工具。不在意数据的持久化,只关注最近的需要查询的数据。更适配k8s集群,当然了,也可以对服务器进行一般监控 (内存,Spu,硬盘,网络。)数据要复现,每天都会出现某种情况,占了大量的cpu等等,这个需要关注但是不是复现的情况,可以不管。

某时刻突然增高,但是可以下降,如无特殊需求,也可以不管。

但是必须记录在案

这篇关于Promethues:普罗米修斯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/657144

相关文章

Prometheus+Grafana普罗米修斯,搭建和使用

文章目录 1. Prometheus普罗米修斯,搭建和使用 1.1 prometheus监控框架工具介绍 1.2 支持类型 2. Prometheus 源码安装和启动配置 2.1 prometheus.yml 配置解释 2.2 启动服务 2.3 访问:http://localhost:9090 2.4 查看暴露指标 2.5 将Prometheus配置为系统服务 3. 客户端,配置服务发现监控lin

性能测试-监控工具:grafana-普罗米修斯

性能测试时,需要关注服务器指标,一般应用服务器关注CPU和内存,数据库服务器关注CPU、内存和I/O; 监控工具:grafana-普罗米修斯 Quick CPU / Mem / Disk 关注实时指标: CPU Busy:收集所有 CPU 内核 Busy 状态占比 Sys Load : CPU 所有内核的平均负载率 RAM Used:已使用的内存大小(内存总量 - 空闲的内存大小

执行普罗米修斯插件mysqld_exporter出现闪退问题如何解决?

运行 mysqld_exporter.exe 文件闪退的问题可能是由于配置文件或环境变量设置不正确导致的。 检查配置文件 my.cnf: 打开 my.cnf 文件,确保其中的配置项正确无误,尤其是 MySQL 数据库的连接信息。配置示例:[client]user=your_mysql_userpassword=your_mysql_passwordhost=localhost 设

CentOS-7部署mysql、clickhouse并通过普罗米修斯、grafna监控告警

一、准备工作 1、系统环境 所用镜像:CentOS-7-x86_64-DVD-2009.iso 2、涉及安装包 3、克隆4台虚拟机 用途IP主机名Prometneus服务器192.168.15.129master被监控服务器1192.168.15.133node1mysql、clickhouse、grafana服务器192.168.15.134node2被监控服务器2192.168.15

搭建Promethues + grafana +alertManager+blakbox 监控springboot 健康和接口情况

一。概述 架构图: 拓扑图: prometheus 是一个开源系统,用于构建监控和报警的工具包。 Prometheus 收集其指标并将其存储为时间序列数据,即指标信息与记录它的时间戳一起存储,以及称为标签的可选键值对。 特点: 具有由指标名称和键/值对标识的时间序列数据的多维数据模型PromQL,一种灵活的查询语言,可利用此维度不依赖分布式存储;单服务器节点是自治的时序收集

promethues之POD搭建

服务自动发现 consonl node主机发现 kube-api自动发现 prometheus的容器化部署 mdkir prometheuscd prometheusmdkir nodecd nodevim node.yamlapiVersion: apps/v1kind: DaemonSetmetadata:name: node-exporternamespace: mon

Promethues安装部署说明

1.1.什么是Prometheus     Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第二大开

promethues grafana 安装和使用

文章目录 1、promethues安装2、node-exporter安装3、grafana安装4、配置promethues监控node节点5、grafana操作外传 Docker 镜像下载地址: https://hub.docker.com 比较好的hub.docker.com///-- https://hub.docker.com/u/bitnami grafana监控面板:ht

使用 Promethues 实现应用监控的一些实践

公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 在这篇文章[1]中我们介绍了如何利用 Prometheus 监控应用。在后续的工作中随着监控的深入,我们结合自己的经验和官方文档总结了一些 Metrics 的实践。希望这些实践能给大家提供参考。 确定监控对象 在具体设计 Metrics 之前,首先需要明确需要测量的对象。需要测量的对象应该依据具体的问题背景、

学习-使用Prometheus普罗米修斯监控应用

Prometheus 是什么 Prometheus是一个开源监控系统,它前身是SoundCloud的警告工具包。从2012年开始,许多公司和组织开始使用Prometheus。该项目的开发人员和用户社区非常活跃,越来越多的开发人员和用户参与到该项目中。目前它是一个独立的开源项目,且不依赖与任何公司。为了强调这点和明确该项目治理结构,Prometheus在2016年继Kurberntes之后,加入