首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
30 篇文章
1
Prometheus配置企业微信告警
2
云原生监控配置自建alertmanager实现告警
3
K8S 中的 CPUThrottlingHigh 到底是个什么鬼?
4
Kubernetes集群安装kube-prometheus后无法执行kubectl top node
5
Prometheus Operator 使用 AlertmanagerConfig 进行报警配置
6
在 Grafana 中可视化 Alertmanager 报警
7
Prometheus Operator 常用指标
8
使用 Thanos 实现 Prometheus 的高可用
9
Kubenretes上运行Prometheus联邦集群
10
prometheus2.0 联邦的配置
11
Prometheus监控学习笔记之prometheus的远端存储
12
别再乱用 Prometheus 联邦了,分享一个 Prometheus 高可用新方案
13
使用prometheus监控多k8s集群
14
Kubernetes K8S之kube-prometheus概述与部署 Prometheus的关键特性架构图基本原理服务过程kube-prometheus下载与配置修
15
Prometheus BlackBox简单监控
16
如何使用Prometheus配置自定义告警规则
17
使用prometheus operator监控envoy
18
使用 Prometheus-Operator 监控 Calico
19
TKE 1.20.6搭建Kube-Prometheus(prometheus-oprator)
20
云原生监控通过blackbox_exporter监控网站
21
一文带你了解 Prometheus
22
使用 Thanos 和 Prometheus 打造一个高可用的 Kubernetes 监控系统
23
prometheus监控springboot应用
24
搭建prometheus+grafana监控SpringBoot应用入门
25
用prometheus监控java应用
26
Prometheus Operator 监控 Traefik V2.4
27
Prometheus指标优化
28
使用 Prometheus Operator 监控 Kubernetes
29
装X神器,让你的grafana看板变得炫酷起来
30
​prometheus中使用python手写webhook完成告警

Prometheus指标优化

背景

1、目前生产环境的prometheus偶发内存不足OOM现象【宿主机24G内存】

2、pushgateway拉取会出现超时情况

3、上述情况已经影响到监控告警系统的稳定性,需要及时介入治理。

优化措施

1、调整pushgateway

代码语言:javascript
复制
1、调大prometheus去拉取pushgateway的时间间隔和拉取超时时间

# 这里只贴了核心的配置,全量配置放在gitlab上,具体参考附录部分
- job_name: pushgateway-bj2
  scrape_interval: 30s
  scrape_timeout: 30s
  
 2、业务侧拆分(后期量级实在太大再考虑这种方案)
再启动一个额外的pushgateway,但是需要告知部分业务方,打点数据发到新的pushgateway上。也就是按照业务维度拆分pushgateway。

2、通过drop action 删除部分非核心指标

代码语言:javascript
复制
# 这里只贴了部分的配置,最新的配置放在gitlab上,具体参考附录部分
- job_name: pushgateway-devops
  .....
  metric_relabel_configs:
    - source_labels: [__name__]
      separator: ','
      regex: '(process_cpu_seconds_total|process_open_fds|process_max_fds)'
      action: drop  


- job_name: kubernetes-cadvisor
  .....
  metric_relabel_configs:
  - source_labels: [__name__]
    regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
    action: drop    

3、优化高基数指标

有了上面的数据后,我们就可以再次使用 drop action 清理掉某些非核心metrics了。

prometheus 表达式写法:

top10的metrics数量,按metrcis名称区分:

代码语言:javascript
复制
        topk(10,count by (__name__) ({__name__=~'.+'}))

top10的job数量,按job名称区分:

代码语言:javascript
复制
        topk(10,count by (__name__,job) ({__name__=~'.+'}))
下一篇
举报
领券