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内利用监控配置
- 利用增加相应metric
(波及开发内容不做过多解说,我司我的项目为java开发,采纳micrometer git地址:https://github.com/micrometer...)
次要采纳podmonitor配置主动发现(https://github.com/prometheus...)
apiVersion: monitoring.coreos.com/v1kind: PodMonitormetadata: labels: mill-app: appmonitor name: appmonitorspec:## 配置全局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# 要害配置须要发现的标签
配置利用deployment
apiVersion: apps/v1kind: Deploymentmetadata: name: mill-base labels: app: ywwl-basespec: 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
- 实现配置关上prometheus界面查看信息