prometheus-operator配置自动发现应用监控

mill

prometheus-operator

CRDs:

Prometheus:定义了所需的 Prometheus 部署
Alertmanager定义了所需的 Alertmanager 部署
ThanosRuler定义了所需的 Thanos Ruler 部署
ServiceMonitor以声明方式指定应如何监控 Kubernetes 服务组。Operator 根据 API 服务器中对象的当前状态自动生成 Prometheus 抓取配置
Podmonitor以声明方式指定应如何监视 Pod 组。Operator 根据 API 服务器中对象的当前状态自动生成 Prometheus 抓取配置
Probe以声明方式指定应如何监视入口组或静态目标组。Operator 根据定义自动生成 Prometheus 抓取配置
PrometheusRule定义了一组所需的 Prometheus 警报和/或记录规则。Operator 生成一个规则文件,可供 Prometheus 实例使用
AlertmanagerConfig以声明方式指定 Alertmanager 配置的子部分,允许将警报路由到自定义接收器,并设置禁止规则

https://github.com/prometheus...

监控配置
关于如何部署,如何基础配置可以查看官方文档

Configuration | Prometheus

Kubernetes内应用监控配置

  1. 应用添加相应metric

(涉及开发内容不做过多讲解,我司项目为java开发,采用micrometer git地址:https://github.com/micrometer...)

  1. 主要采用podmonitor配置自动发现(https://github.com/prometheus...)

    apiVersion: monitoring.coreos.com/v1
    kind: PodMonitor
    metadata:
      labels:
     mill-app: appmonitor
      name: appmonitor
    spec:
    ## 配置全局namespace监听
    ## 注意:如需配置全namespace监听,需要配置相应RBAC权限
      namespaceSelector:
     any: true
      podMetricsEndpoints:
      - interval: 10s
     relabelings:
     - action: replace
       regex: (.+)
       sourceLabels:
    ## 配置标签处理
       - __meta_kubernetes_pod_annotation_prometheus_io_path
       targetLabel: __metrics_path__
     - action: replace
       regex: ([^:]+)(?::\d+)?;(\d+)
       replacement: $1:$2
       sourceLabels:
       - __address__
       - __meta_kubernetes_pod_annotation_prometheus_io_port
       targetLabel: __address__
     scheme: http
      selector:
     matchLabels:
       mill-monitor: app
    # 关键配置需要发现的标签
  2. 配置应用deployment 

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: mill-base
      labels:
     app: ywwl-base
    spec:
      replicas: 1
      selector:
     matchLabels:
       app: mill-base
      template:
     metadata:
       annotations:
    # 配置参数控制路径与端口(对应配置文件中的replace)
         prometheus.io/path: /metrics/prometheus
         prometheus.io/port: "8080"
       labels:
         app: mill-base
         #配置对应标记
         mill-monitor: app
     spec:
       containers:
         - name: mill-base
           image: localhub.xxx.com/xxx/xxx:latest
           ports:
             - containerPort: 8080
  3. 完成配置打开prometheus界面查看信息
    image.png
阅读 493

一名正在努力成长的运维……

0 声望
0 粉丝
0 条评论

一名正在努力成长的运维……

0 声望
0 粉丝
文章目录
宣传栏