基于kube-prometheus 监控linux虚拟机

508 阅读1分钟

本文介绍如何通过K8S集群中安装kube-prometheus+grafana来监控集群外的linux虚拟机。

linux主机安装node_exporter

node_exporter 主要用于 linux 系统监控, 用 Golang 编写。

songjiayang.gitbooks.io/prometheus/…

配置通过SVC访问集群外地址

image.png

原理: www.linuxdevops.cn/2022/02/k-d…

K8S中添加Service和Endpoints

apiVersion: v1
kind: Service
metadata:
  labels:
    app: node-exporter-vm-agent
    release: prometheus
  name: node-exporter-vm-agent
spec:
  ports:
  - name: metrics
    port: 9100
    protocol: TCP
    targetPort: 9100
  type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
  name: node-exporter-vm-agent
subsets:
- addresses:
  - ip: xxx.xxx.xxx.xxx
  ports:
  - name: metrics
    port: 9100
    protocol: TCP

kube-prometheus配置ServiceMonitor

image.png

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  annotations:
    meta.helm.sh/release-name: prometheus
    meta.helm.sh/release-namespace: foundation
  labels:
    app: node-exporter-vm-agent
    release: prometheus
  name: prom00-node-exporter-vm-agent
spec:
  endpoints:
    - port: metrics
      scheme: http
      path: /metrics
  jobLabel: jobLabel
  selector:
    matchLabels:
      app: node-exporter-vm-agent
      release: prometheus

查看prom的targets,确认对接成功

image.png

grafana配置

grafana.com/grafana/das… grafana导入dashboard的ID号1860。

TODO 配置告警