关于prometheus:prometheusoperator配置自动发现应用监控

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界面查看信息

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理