Prometheus
一、基础简介
1.1.prometheus简介
1.2.数据模型
1.3.指标类型
1.4.Jobs和Instances
二、安装部署
2.1.rpm部署监控组件
2.2.docker部署监控组件
三、PromSQL
3.1.PromQL基本使用
3.2.Prometheus基础查询
3.3.查询操作符
3.4.内置函数
3.5.在HTTPAPI中使用PromQL
3.6.最佳实践
四、告警处理
4.1.告警简介
4.2.自定义Prometheus告警规则
4.3.常见告警规则
4.4.部署Alertmanager
4.5.Alertmanager配置概述
4.6.基于标签的告警处理路由
4.7.使用Receiver接收告警信息
4.8.自定义告警模板
4.9.屏蔽告警通知
4.10.使用RecodingRules优化性能
五、Exporter
5.1.exporter
5.2.NodeExporter
5.3.ProcessExporter
5.4.cAdvisor
5.5.MysqlExporter
5.6.BlackboxExporter
5.7.ProcessExporter
5.8.Ipmiexport
5.9.Pushgateway
PostgresExporter
六、Grafana
6.1.grafana基本概念
6.2.创建dashboard与Panel
6.3.变化趋势:Graph面板
6.4.graph面板常用操作
6.5.分布统计:Heatmap面板
6.6.当前状态:SingleStat面板
6.7.变量
6.8.grafana报警
七、集群高可用
7.1.本地存储
7.2.远程存储
7.3.联邦集群
7.4.prometheus高可用
7.5.Alertmanager高可用
八、服务发现
8.1.Prometheus与服务发现
8.2.基于文件的服务发现
8.3.标签管理
九、Operator
9.1.什么是PrometheusOperator
9.2.PrometheusOperator自定义监控项
9.3.配置PrometheusRule
十、AlterManager
10.1.基础入门
10.2.配置详解
本文档使用 MrDoc 发布
-
+
home page
5.2.NodeExporter
# Node Exporter 自定义指标采集 ## 参考文档 [Node Exporter textfile 自定义指标收集器_富士康质检员张全蛋的博客-CSDN博客]([https://blog.csdn.net/qq_34556414/article/details/123478015#:~:text=node_exporter](https://blog.csdn.net/qq_34556414/article/details/123478015#:~:text=node_exporter) 除了本身可以收集系统指标之外,还可以通过 textfile,模块来采集我们自定义的监控指标,这对于系统监控提供了更灵活的使用空间,比如我们通过脚本采集的监控数据就可以通过该模块暴露出去,用于 Prometheus 进行监控报警。) ## 指标格式 > 指定一个生成的监控指标存放目录下,并以 `.prom` 文件名后缀结尾。 ``` textfile_network_send_packages{src="172.18.252.1",dest="172.31.0.25"} 7 textfile_network_recieved_package{src="172.18.252.1",dest="172.31.0.25"} 7 textfile_network_availability{src="172.18.252.1",dest="172.31.0.25"} 100 textfile_network_rtt{src="172.18.252.1",dest="172.31.0.25"} 20 textfile_network_send_packages{src="172.18.252.1",dest="172.31.0.33"} 7 textfile_network_recieved_package{src="172.18.252.1",dest="172.31.0.33"} 7 textfile_network_availability{src="172.18.252.1",dest="172.31.0.33"} 100 textfile_network_rtt{src="172.18.252.1",dest="172.31.0.33"} 20 ``` ``` [root@k8s-node-nj-71 textfile]# pwd /tmp/textfile [root@k8s-node-nj-71 textfile]# ls network.prom [root@k8s-node-nj-71 textfile]# cat network.prom textfile_network_send_packages{src="172.18.252.1",dest="172.31.0.25"} 7 textfile_network_recieved_package{src="172.18.252.1",dest="172.31.0.25"} 7 textfile_network_availability{src="172.18.252.1",dest="172.31.0.25"} 100 textfile_network_rtt{src="172.18.252.1",dest="172.31.0.25"} 20 textfile_network_send_packages{src="172.18.252.1",dest="172.31.0.33"} 7 textfile_network_recieved_package{src="172.18.252.1",dest="172.31.0.33"} 7 textfile_network_availability{src="172.18.252.1",dest="172.31.0.33"} 100 textfile_network_rtt{src="172.18.252.1",dest="172.31.0.33"} 60 ``` ## node exporter yaml文件 ``` apiVersion: apps/v1 kind: DaemonSet metadata: name: node-exporter namespace: thanos labels: app: node-exporter spec: selector: matchLabels: app: node-exporter template: metadata: labels: app: node-exporter spec: hostPID: true hostIPC: true hostNetwork: true nodeSelector: kubernetes.io/os: linux containers: - name: node-exporter image: 172.16.140.21/prometheus/node-exporter:v1.2.2 args: - --web.listen-address=$(HOSTIP):9100 - --path.procfs=/host/proc - --path.sysfs=/host/sys - --path.rootfs=/host/root - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+)($|/) - --collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$ - --collector.textfile.directory=/tmp/textfile ports: - containerPort: 9100 env: - name: HOSTIP valueFrom: fieldRef: fieldPath: status.hostIP resources: requests: cpu: 150m memory: 180Mi limits: cpu: 150m memory: 180Mi securityContext: runAsNonRoot: true runAsUser: 65534 volumeMounts: - name: proc mountPath: /host/proc - name: sys mountPath: /host/sys - name: root mountPath: /host/root mountPropagation: HostToContainer readOnly: true - name: textfile mountPath: /tmp/textfile/ tolerations: - operator: "Exists" volumes: - name: proc hostPath: path: /proc - name: dev hostPath: path: /dev - name: sys hostPath: path: /sys - name: root hostPath: path: / - name: textfile hostPath: path: /tmp/textfile/ ```
Nathan
Aug. 24, 2024, 3:08 p.m.
转发文档
Collection documents
Last
Next
手机扫码
Copy link
手机扫一扫转发分享
Copy link
Markdown文件
PDF文件
Docx文件
share
link
type
password
Update password