prometheus
文章平均质量分 90
记录prometheus系列文档
唐僧骑白马
时光如水,流年如梦,要么读书,要么旅行
展开
-
Prometheus监控实战系列二十五: Thanos介绍
Thanos为英国游戏技术公司Improbable 开源的一套监控解决方案,它包含多个功能组件,可以使用无侵入的方式与Prometheus配合部署,从而实现全局查询 、跨集群存储等能力,能够较好地的提升Prometheus的高可用性与扩展性。该产品具有以下特点:1、可实现跨集群的全局查询功能;2、兼容现有的Prometheus API 接口 ,从而实现无缝集成;3、提供数据压缩和降准采样功能,提升查询速度;4、重复数据删除与合并,可从Pormetheus HA 集群中收集指标;原创 2023-03-27 08:47:00 · 3045 阅读 · 1 评论 -
Prometheus监控实战系列二十四: Alertmanager集群
使用HashiCorp 公司的Memberlist库来实现集群功能。Memberlist使用Go语言开发,并基于Gossip的协议来管理集群成员和成员故障检测。Gossip协议(Gossip protocol)是一种去中心化、容错并保证最终一致性的协议,被广泛应用于分布式系统中。Gossip的原理是由网络中的某个节点,通过一种随机的方式向集群中的N个节点同步信息,相关节点在收到消息后,又会重复相同的工作,最终达到整个集群所有节点的统一。扩展性强,可以允许集群内节点任意增加或者减少。原创 2023-03-27 08:46:41 · 1109 阅读 · 0 评论 -
Prometheus监控实战系列二十三:高可用与扩展性
目前Prometheus在集群与扩展性方面的功能并不算强大,通过分级联邦的方式虽然可以解决扩展性的问题,但依然存着的一些不足之处。例如:多层结构使得Prometheus之间的网络变得复杂,我们不止要关注工作节点和目标之间的连接,也要关注主节点与工作节点的连接;工作节点根据设定的间隔获取目标指标,而主节点对于工作节点数据的抓取也存在着时间间隔,这可能导致主节点出现数据延迟的情况;最后,当所有的指标汇总到主节点时,可能会对其造成较大的压力,在资源的调配上需做好分配,以免引起主节点的崩溃。原创 2023-03-27 08:44:11 · 1184 阅读 · 0 评论 -
Prometheus监控实战系列二十二:远程存储
Prometheus默认将数据储存在本地的TSDB(时序数据库)中,这种设计较大地简化了Promethes的部署难度,但与此同时也存在着一些问题。首先是数据持久化的问题,原生的TSDB对于大数据量的保存及查询支持不太友好 ,并不适用于保存长期的大量数据;另外,该数据库的可靠性也较弱,在使用过程中容易出现数据损坏等故障,且无法支持集群的架构。为了满足这方面的需求,Prometheus提供了remote_write和remote_read的特性,支持将数据存储到远端和从远端读取数据的功能。原创 2023-03-27 08:46:50 · 2783 阅读 · 0 评论 -
Prometheus监控实战系列二十一:容量管理
Prometheus原生的TSDB存储具有简单易用、方便快捷等特点,但其自身也存在着不少短板。该数据库本身不适用于大数据量的存储与查询,并且不支持集群模式,这使得该架构不适合用在大规模的监控环境中。对此,更好的方案是通过外置存储的方式来保存,关于这块内容我们将在下篇的“远程存储“一文中讲解。原创 2023-03-27 08:44:55 · 957 阅读 · 0 评论 -
Prometheus监控实战系列二十:监控Kubernetes集群(下)
本文承接上篇,在本篇中我们会讲解Prometheus如何应用基于Kubernetes的服务发现功能,检索目标信息并进行监控。在监控策略上,我们将混合使用白盒监控与黑盒监控两种模式,建立起包括基础设施(Node)、应用容器(Docker)、Kubernetes组件和资源对象等全方位的监控覆盖。原创 2023-03-26 09:27:22 · 925 阅读 · 0 评论 -
Prometheus监控实战系列十九:监控Kubernetes集群(上)
Kuberentes是一款开源的容器编排产品,由Google开发后发布到社区,并在2015年将该项目捐献给了云原生基金会(Cloud Native Computing Foundation)。从2014年第一个版本发布以来,Kubernetes便迅速获得开源社区的追捧,包括RedHat、VMware在内的很多知名企业都加入到开发和推广的阵营。目前,Kubernets已经成为发展最快、市场占有率最高的容器编排产品。原创 2023-03-26 09:29:27 · 683 阅读 · 0 评论 -
Prometheus监控实战系列十八:基于Consul的服务发现
Consul 是HashiCorp 公司推出的开源工具,产品基于GO 语言开发,主要面向分布式、服务化的系统提供服务注册、服务发现和配置管理的功能。服务发现Consul 的客户端可以注册一个服务,例如 api 或 mysql,其他客户端可以使用 Consul 来发现给定服务的提供者。健康检查Consul 可以根据给定的信息,对服务的状态进行检查,并获取服务的健康状态。Key/Value存储通过HTTP API的方式实现Key/Value存储,可用于动态配置、功能标记、协商等多种场景。原创 2023-03-26 09:29:19 · 1845 阅读 · 0 评论 -
Prometheus监控实战系列十六:Docker容器监控
由于CAdvisor提供了支持Prometheus的metrics格式接口,所以Prometheus只需要按照获取Exporter指标的方式,创建相关的Job即可。CAdvior可直接运行在主机上,它不仅可以搜集到机器上所有运行的容器信息,还提供查询界面和http接口,方便如Prometheus等监控系统进行数据的获取。本身的数据保存时间只有2分钟,而且在多主机的情况下,要单独去登录每台机器查看docker数据也是一件麻烦的事情。的安装很简单,可通过容器的方式进行部署。目录,用于Docker套接字的挂载;原创 2023-03-26 09:26:46 · 1176 阅读 · 0 评论 -
Prometheus监控实战系列十五:Exporter详解
虽然Promethesu社区提供了丰富多样的Exporter给用户使用,但由于各家公司的环境都有自身的特点,有时候可能无法在现有资源中找到合适的工具。对此,我们可以利用Prometheus的Clinet Libraries,开发符合实际需要的自定义Exporter。Clinet Libraries支持的语言版本非常丰富,除了官方提供了Go、Java or Scala、Python和Ruby几种外,还有很多第三方开发的其他语言版本。本文我们将以Python为例,演示Exporter的开发。原创 2023-03-26 09:28:51 · 3379 阅读 · 0 评论 -
Prometheus监控实战系列十四:Pushgateway
Pushgateway为Prometheus整体监控方案的功能组件之一,并做为一个独立的工具存在。它主要用于Prometheus无法直接拿到监控指标的场景,如监控源位于防火墙之后,Prometheus无法穿透防火墙;目标服务没有可抓取监控数据的端点等多种情况。在类似场景中,可通过部署Pushgateway的方式解决问题。当部署该组件后,监控源通过主动发送监控数据到Pushgateway,再由Prometheus定时获取信息,实现资源的状态监控。原创 2023-03-26 09:28:33 · 1887 阅读 · 0 评论 -
Prometheus监控实战系列十三:告警管理
作为一个独立的组件,负责接收并处理来自(也可以是其它的客户端程序)的告警信息。Alertmanager可以对这些告警信息进行进一步的处理,比如当接收到大量重复告警时能够消除重复的告警信息,同时对告警信息进行分组并且路由到正确的通知方。Alertmanager内置了对邮件,Slack等多种通知方式的支持,同时还支持通过Webhook的方式接入企业微信、钉钉等国内IM工具。Alertmanager与Prometheus Server一样,也是通过yml格式的配置文件进行配置。原创 2023-03-26 09:25:43 · 1433 阅读 · 1 评论 -
Prometheus监控实战系列五:PromQL语法(上)
PromQL是Prometheus内置的数据查询语言,其提供对时间序列丰富的查询功能,聚合以及逻辑运算能力的支持。当前,PromQL被广泛应用在Prometheus的日常使用中,包括数据查询、可视化、告警处理等,可以说,掌握PromQL是熟练使用prometheus的必备条件。原创 2023-03-26 09:27:43 · 1785 阅读 · 0 评论 -
Prometheus监控实战系列十二:配置告警规则
在Prometheus的架构中,告警功能由Prometheus Server和Alertmanager 协同完成,Prometheus Server负责收集目标实例的指标,定义告警规则以及产生警报,并将相关的警报信息发送到Alertmanager。Alertmanager则负责对告警信息进行管理 ,根据配置的接收人信息,将告警发送到对应的接收人与介质。原创 2023-03-26 09:26:03 · 3526 阅读 · 0 评论 -
Prometheus监控实战系列十一:可视化
Prometheus自身提供了对于指标的查询以及简单的图表展示功能,但对于企业级的监控展示而言,这是远远不够的。对此,Promethes官方推荐的可视化方案是与grafana结合,来实现丰富的监控展示效果。原创 2023-03-25 00:12:05 · 843 阅读 · 0 评论 -
Prometheus监控运维实战十: 主机监控指标
Swap为交换内存分区,它使用磁盘上的部分空间来充当服务器内存,当系统物理内存吃紧时,Linux 会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为各个进程服务。mode="idle"代表CPU 的空闲时间,所以我们只需要算出空闲的时间占比,再以总数减去该值 ,便可知道CPU的使用率,此处使用irate方法。前面文章讲过,counter类型会不断的累加,该指标直接使用对于监控没有意义,但可通过下面公式转化为磁盘的每秒读写速率。对于IOPS的监控,可通过下面两个指标算得出。原创 2023-03-25 00:13:17 · 4746 阅读 · 0 评论 -
Prometheus监控实战系列九:主机监控
Prometheus使用各种Exporter来监控资源。Exporter可以看成是监控的agent端,它负责收集对应资源的指标,并提供接口给到Prometheus读取。不同资源的监控对应不同的等,在这其中最常用的当属。node-exporter使用Go语言编写,它主要用来监控主机系统的各项性能参数,可收集各种主机指标的库,还提供了textfile功能,用于自定义指标。原创 2023-03-25 00:10:07 · 1026 阅读 · 0 评论 -
Prometheus监控实战系列八:标签重写
标签重写(Relabeling)是Prometheus一个非常有用的功能,它可以在,修改target和它的labels。原创 2023-03-25 00:11:21 · 1332 阅读 · 0 评论 -
Prometheus监控实战系列七:任务与实例
任务与实例,是Prometheus监控中经常会提到的词汇。在其术语中,每一个提供样本数据的端点称为一个实例(instance),它可以是各种exporter,如,也可以是你自己开发的一个服务。只要提供符合prometheus要求的数据格式 ,并允许通过HTTP请求获取信息的端点都可称为实例。而对于实例数据的采集,则是通过一个个任务(job)来进行管理,每个任务会管理一类相同业务的实例。在前面"配置介绍“一文中,我们对Prometheus的配置文件promehteus.yml进行过讲解,其中。原创 2023-03-25 00:08:16 · 889 阅读 · 0 评论 -
Prometheus监控实战系列六:PromQL语法(下)
而or的匹配范围最广,它除了会匹配表达式1所有的数据外,还会匹配表达式2中与其不相同的样本。其中,表达式1为显示所有小于1千的样本,而表达式2则是显示所有大于100的样本,在并集匹配后,将会显示两者间相同的数据,即小于1千大于100这个区间的样本。irate函数是通过时间区间中最后两个样本数据来计算区间向量的增长速率,从而避免范围内的平均值拉低峰值的情况。在PromQL的查询中,还可以通过表达式操作符,进行更加复杂的结果查询,常见的操作有下列几种。三种,其中and为并集,用于匹配表达式中相同的结果。原创 2023-03-25 00:07:10 · 755 阅读 · 1 评论 -
Prometheus监控实战系列四:数据格式
在Prometheus监控中,对于采集到服务端的指标,称为metrics数据。metrics指标为时间序列数据,它们按相同的时序,以时间维度来存储连续数据的集合。metrics有自定义的一套数据格式,不管对于日常运维管理或者监控开发来说,了解并对其熟练掌握都是非常必要的,本文将对此进行详细介绍。原创 2023-03-25 00:05:09 · 1740 阅读 · 0 评论 -
Prometheus监控实战系列三:配置介绍
Prometheus使用名为prometheus.yml的配置文件进行设置,通过在启动时指定相关的文件,对配置内容进行加载。该配置文件分为四个模块:global(全局配置)、alerting(告警配置)、rule_files(规则配置)、scrape_configs(目标拉取配置),本文将分别对其进行讲解介绍。原创 2023-03-25 00:05:58 · 1058 阅读 · 0 评论 -
Prometheus监控实战系列二: 安装部署
Prometheus支持多种操作系统,例如Linux、Windows和Max OSX等。在产品官网上提供了独立的二进制文件进行下载,可下载对应的tar包并在相应系统的服务器上进行安装部署。当然,做为与容器有着紧密联系的监控系统,Promethesu也可以很方便的通过docker、kubernetes等容器平台进行部署。安装环境安装时最好进行时间同步,关闭防火墙,selinux等。原创 2023-03-25 00:01:23 · 654 阅读 · 2 评论 -
Prometheus监控实战系列一: Prometheus介绍
Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,并且于2015年早期对外发布早期版本。2016年5月继Kubernetes之后成为第二个正式加入CNCF基金会的项目,同年6月正式发布1.0版本。2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合。原创 2023-03-25 00:01:37 · 1763 阅读 · 0 评论 -
基于docker部署prometheus
http://192.168.75.160:9090/ 访问该地址,出现一个简单ui界面,说明部署成功,此时target只有本机一个节点。说明采集信息成功,修改prometheus服务上的配置文件/tmp/prometheus.yml,增加一个Linux的job_name。http://192.168.75.161:8080/metrics / #该地址的数据为prometheus识别的数据的接口。然后配置grafana仪表盘,本次导入9276模板,和刚才导入模板的方式一致。原创 2023-03-06 23:21:26 · 1233 阅读 · 0 评论