Prometheus

如何手动删除Prometheus中指定的指标数据

📅 2021-08-01

Prometheus是一个基于时序数据库的开源监控系统。 Prometheus在2016年加入了CNCF(云原生计算基金会),成为继Kubernetes之后CNCF的第二个托管项目。

Prometheus HTTP API #

Prometheus的监控指标数据metrics存储在其内置的时序数据库中,即其本身也是一个时序数据库,但目前Prometheus还没有提供直接管理数据的功能,默认情况下只能通过Promtheus的HTTP API查看数据。文档https://prometheus.io/docs/prometheus/latest/querying/api/中是对Prometheus查询API的介绍。其实Prometheus的WebUI使用的就是它的HTTP API,因此在运维开发中如果需要使用Prometheus的HTTP API的话,可以先在Prometheus的WebUI中写好PromQL执行查询,然后借助浏览器的开发者工具查看具体的HTTP API的写法。

...

在运行时热加载Prometheus的配置信息

📅 2018-09-05

Promtheus的时序数据库在存储了大量的数据后,每次重启Prometheus进程的时间会越来越慢。 而在日常运维工作中会经常调整Prometheus的配置信息,实际上Prometheus提供了在运行时热加载配置信息的功能。

Prometheus配置的热加载 #

Prometheus配置信息的热加载有两种方式:

...

使用Prometheus的blackbox_exporter进行网络监控

📅 2018-02-07

Prometheus提供了一个blackbox_exporter可以实现网络监控,支持http、dns、tcp、icmp等监控。

blackbox_exporter的配置 #

blackbox_exporter以下面的命令运行:

1blackbox_exporter --web.listen-address=:9115 --config.file=blackbox.yml

其中9115是这个exporter的http端点的监听端口,blackbox.yml是它的配置文件,需要在其中使用blackbox_exporter的http、dns、tcp、icmp等prober定制配置出各种监测模块(module)。关于blackbox_exporter的配置具体参考Blackbox exporter configurationBlackbox exporter configuration Exmaple。下面的例子是一个最基本的配置:

...

使用Prometheus监控Redis

📅 2018-01-11

使用Prometheus监控Redis,推荐使用https://github.com/oliver006/redis_exporter这个exporter。 目前我们主要使用的是redis的主从复制搭配Sentinel实现的高可用方案。部署形式上有两种:一种形式是使用ansible部署在物理机器上,同样使用ansible在相同的机器上部署redis_exporter;另外一种形式是redis和sentinel以StatefulSet的形式跑在Kubernetes上,redis_exporter以sidecar容器的形式和redis容器在相同的Pod里。

...

Prometheus监控实践:使用Prometheus监控Java应用

📅 2018-01-04

之前在《Prometheus监控实践:Kubernetes集群监控》一本中总结了我们目前基于Prometheus对Kubernetes集群的监控,除了监控Kubernetes集群本身的关键指标之外,也对部署在Kubernetes集群上应用的状态做了监控。 对于Kubernetes集群上Pod, DaemonSet, Deployment, Job, CronJob等各种资源对象,我们通过kube-state-metrics作为Prometheus的exporter完成了对这些Kubernetes资源对象的监控。而为了使监控深入到应用的内部,就需要应用自身暴露作为Exporter暴露监控指标,这就和应用的开发语言和技术框架紧密相关了。

我们目前部署在Kubernetes上的微服务主要是由Go和Java两种语言开发的,本篇将总结一下目前我们使用Prometheus对Java应用的监控实践。

...

Prometheus监控实践:Kubernetes集群监控

📅 2017-12-29

本文将总结一下我们目前使用Prometheus对Kubernetes集群监控的实践。 我们选择Prometheus作为监控系统主要在以下各层面实现监控:

  • 基础设施层:监控各个主机服务器资源(包括Kubernetes的Node和非Kubernetes的Node),如CPU,内存,网络吞吐和带宽占用,磁盘I/O和磁盘使用等指标。
  • 中间件层:监控独立部署于Kubernetes集群之外的中间件,例如:MySQL、Redis、RabbitMQ、ElasticSearch、Nginx等。
  • Kubernetes集群:监控Kubernetes集群本身的关键指标
  • Kubernetes集群上部署的应用:监控部署在Kubernetes集群上的应用

1.基础设施层和中间件层的监控 #

其中基础设施层监控指标的拉取肯定是来在Prometheus的node_exporter,因为我们要监控的服务器节点既包含Kubernetes节点又包含其他部署独立中间件的节点, 所以我们并没有将node_exporter以daemonset的形式部署到k8s上,而是使用ansible将node_exporter以二进制的形式部署到所有要监控的服务器上。 而负责从node_exporter拉取指标的Prometheus也是用ansible独立部署在Kubernetes集群外部的。Prometheus的配置文件prometheus.yml使用ansible的j2模板生成。

...

升级到Prometheus 2.0

📅 2017-11-17

Prometheus是一个基于时序数据的开源监控系统。 被Prometheus监控的服务需要公开一个Prometheus的endpoint,这个endpoint通过http接口暴露了度量(metrics)的列表和当前的值。很多服务都内置了Prometheus的endpoint直接暴露metrics,另外一些服务需要再为它们部署一个sidecar进程,通过side car暴露metrics。 这个sidecar或直接暴露metrics的服务自带的endpoint,就是Prometheus架构中的Exporter,Prometheus从Exporter中拉去监控数据。

...

使用Prometheus监控Ceph

📅 2017-11-10

在Ceph Luminous之前的版本,可以使用第三方的Prometheus exporterceph_exporter。 Ceph Luminous 12.2.1的mgr中自带了Prometheus插件,内置了 Prometheus ceph exporter,可以使用Ceph mgr内置的exporter作为Prometheus的target。

...

使用Prometheus监控MySQL

📅 2017-08-01

Prometheus官方提供了mysqld_exporter,我们直接使用即可。

在每个要监控的MySQL中创建监控用户并授予权限。

1CREATE USER 'exporter'@'127.0.0.1' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
2GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'127.0.0.1';
3flush privileges;

mysqld_exporter也是用Go语言写的,安装十分简单,我们的环境MySQL有3个节点,使用ansible部署mysqld_exporter。 这里贴一下其中一个MySQL节点上生成的systemd的单元文件:

...

© 2025 青蛙小白 | 总访问量 | 总访客数