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/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 # 要害配置须要发现的标签
-
配置利用 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
- 实现配置关上 prometheus 界面查看信息