基于 Prometheus+Grafana+Alertmanager 搭建 K8S 云监控告警平台(附配置 ...

鼠扑  金牌会员 | 2024-10-8 02:09:07 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 918|帖子 918|积分 2754

目录

一、机器规划

角色主机名ip 地点masterk8s-master1192.168.112.10nodek8s-node1192.168.112.20nodek8s-node2192.168.112.30平台VMware Workstation操纵系统CentOS Linux release 7.9.2009 (Core)内存、CPU4C4G磁盘大小20G SCSI二、摆设安装 node-exporter、prometheus、Grafana、kube-state-metrics

1、创建 monitor-sa 定名空间

master 节点操纵
  1. kubectl create ns monitor-sa
复制代码
2、安装node-exporter组件

master 节点操纵
  1. cat >> node-export.yaml  <<EOF
  2. apiVersion: apps/v1
  3. kind: DaemonSet
  4. metadata:
  5.   name: node-exporter
  6.   namespace: monitor-sa
  7.   labels:
  8.     name: node-exporter
  9. spec:
  10.   selector:
  11.     matchLabels:
  12.      name: node-exporter
  13.   template:
  14.     metadata:
  15.       labels:
  16.         name: node-exporter
  17.     spec:
  18.       hostPID: true
  19.       hostIPC: true
  20.       hostNetwork: true
  21.       containers:
  22.       - name: node-exporter
  23.         image: prom/node-exporter:v0.16.0
  24.         ports:
  25.         - containerPort: 9100
  26.         resources:
  27.           requests:
  28.             cpu: 0.15
  29.         securityContext:
  30.           privileged: true
  31.         args:
  32.         - --path.procfs
  33.         - /host/proc
  34.         - --path.sysfs
  35.         - /host/sys
  36.         - --collector.filesystem.ignored-mount-points
  37.         - '"^/(sys|proc|dev|host|etc)($|/)"'
  38.         volumeMounts:
  39.         - name: dev
  40.           mountPath: /host/dev
  41.         - name: proc
  42.           mountPath: /host/proc
  43.         - name: sys
  44.           mountPath: /host/sys
  45.         - name: rootfs
  46.           mountPath: /rootfs
  47.       tolerations:
  48.       - key: "node-role.kubernetes.io/master"
  49.         operator: "Exists"
  50.         effect: "NoSchedule"
  51.       volumes:
  52.         - name: proc
  53.           hostPath:
  54.             path: /proc
  55.         - name: dev
  56.           hostPath:
  57.             path: /dev
  58.         - name: sys
  59.           hostPath:
  60.             path: /sys
  61.         - name: rootfs
  62.           hostPath:
  63.             path: /
  64. EOF
复制代码
  1. kubectl apply -f node-export.yaml
  2. kubectl get pods -n monitor-sa -l name=node-exporter
复制代码

4.2、暴力重启 prometheus

热加载速度比较慢,可以暴力重启prometheus
如修改上面的prometheus-cfg.yaml文件之后,可执行如下强制删除
  1. # curl http://<master-ip>:9100/metrics
  2. curl http://192.168.112.10:9100/metrics
复制代码
线上最好热加载,暴力删除可能造成监控数据的丢失
5、Grafana安装和配置

5.1、下载 Grafana 必要的镜像
  1. kubectl create serviceaccount monitor -n monitor-sa
复制代码
5.2、在 k8s 集群各个节点导入 Grafana 镜像
  1. kubectl create clusterrolebinding monitor-clusterrolebinding -n monitor-sa --clusterrole=cluster-admin  --serviceaccount=monitor-sa:monitor
复制代码



5.3、master 节点创建 grafana.yaml

[code]cat >> grafana.yaml

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表