杭州网站开发平均工资,做网站流量是什么,快速网站备案,建筑安全员证查询网上查询官网 目录
一、概述
1.1 prometheus简介
1.2 prometheus架构图
1.3 Exporter介绍
1.4 监控指标
1.5 参数定义
1.6 默认启用的参数
1.7 prometheus如何收集k8s/服务的–三种方式收集
二、安装node-exporter组件 【Prometheus】概念和工作原理介绍-CSDN博客
【云原生】ku… 目录
一、概述
1.1 prometheus简介
1.2 prometheus架构图
1.3 Exporter介绍
1.4 监控指标
1.5 参数定义
1.6 默认启用的参数
1.7 prometheus如何收集k8s/服务的–三种方式收集
二、安装node-exporter组件 【Prometheus】概念和工作原理介绍-CSDN博客
【云原生】kubeadm快速搭建K8s集群Kubernetes1.19.0-CSDN博客 一、概述 1.1 prometheus简介 Prometheus是一个开源的系统监控和报警系统现在已经加入到CNCF基金会成为继k8s之后第二个在CNCF托管的项目在kubernetes容器管理系统中通常会搭配prometheus进行监控同时也支持多种exporter采集数据还支持pushgateway进行数据上报Prometheus性能足够支撑上万台规模的集群。 文档地址
prometheus官网文档地址Overview | Prometheus
prometheus中文文档地址第1节Prometheus 简介 - Prometheus 中文文档
1.2 prometheus架构图 从上图可发现Prometheus整个生态圈组成主要包括prometheus serverExporterpushgatewayalertmanagergrafanaWeb ui界面Prometheus server由三个部分组成RetrievalStoragePromQL。 1.3 Exporter介绍
Exporter是Prometheus的指标数据收集组件。它负责从目标Jobs收集数据并把收集到的数据转换为Prometheus支持的时序数据格式。 和传统的指标数据收集组件不同的是他只负责收集并不向Server端发送数据而是等待Prometheus Server 主动抓取node-exporter 默认的抓取url地址http://ip:9100/metrics 。 因为环境原因网络不可达的场景Prometheus可以使用Pushgateway这个组件推送node-exporter的指标数据到远端Prometheusnode-exporter用于采集node的运行指标包括node的cpu、load、filesystem、meminfo、network等基础监控指标类似于zabbix监控系统的的zabbix-agent。node-exporter由Prometheus官方提供、维护属于监控指标收集类UNIX内核操作系统的必备的exporter。
GitHub地址GitHub - prometheus/node_exporter: Exporter for machine metrics。
1.4 监控指标 CPU内存硬盘网络流量文件描述符系统负载系统服务
1.5 参数定义 黑名单: 关闭某一项默认开启的采集项使用--no-collector参数可指定不需要的模块如果不指定将使用默认配置。
白名单关闭默认采集项而只开启某些采集使用--collector.disable-defaults参数关闭默认采集项使用--collector.name指定开启的采集项。
使用--collectors.enabled参数打开node_exporter默认的采集项。
部分参数默认关闭的原因是
太重太慢超过Prometheus scrape_interval或scrape_timeout的长时间运行时间太多资源开销主机资源需求过大
1.6 默认启用的参数 Name Description OS arp 从/proc/net/ARP中显示ARP统计信息 Linux bcache 显示/sys/fs/bcache/中的bcache统计信息。 Linux bonding 显示Linux绑定接口的已配置和活动从属设备的数量。 LInux boottime 显示从kern.boottime sysctl派生的系统启动时间 Darwin, Dragonfly, FreeBSD, NetBSD, OpenBSD, Solaris conntrack 显示连接统计信息如果没有/proc/sys/net/netfilter/present则不执行任何操作。 Linux cpu 显示CPU统计信息 Darwin, Dragonfly, FreeBSD, Linux, Solaris cpufreq 显示CPU频率统计信息 Linux, Solaris diskstats 显示磁盘I/O统计信息。 Darwin, Linux, OpenBSD edac 显示错误检测和更正统计信息。 Linux entropy 显示可用熵。 Linux exec 显示执行统计信息。 Dragonfly, FreeBSD filefd 显示/proc/sys/fs/file-nr中的文件描述符统计信息。 Linux filesystem 显示文件系统统计信息如使用的磁盘空间。 Darwin, Dragonfly, FreeBSD, Linux, OpenBSD hwmon 暴露/sys/class/hwmon/中的硬件监控和传感器数据。 Linux infiniband 显示特定于InfiniBand和Intel OmniPath配置的网络统计信息。 Linux ipvs 显示/proc/net/ip_vs中的IPVS状态和/proc/net/ip_vs_stats中的统计信息。 Linux loadavg 显示平均负载。 Darwin, Dragonfly, FreeBSD, Linux, NetBSD, OpenBSD, Solaris mdadm 在/proc/mdstat中显示有关设备的统计信息如果不存在/proc/mdtat则不执行任何操作。 Linux meminfo 显示内存统计信息。 Darwin, Dragonfly, FreeBSD, Linux, OpenBSD netclass 显示/sys/class/net中的网络接口信息/ Linux netdev 显示网络接口统计信息如传输的字节数。 Darwin, Dragonfly, FreeBSD, Linux, OpenBSD netstat 从/proc/net/netstat中显示网络统计信息。这是与netstat-s相同的信息。 Linux nfs 从/proc/net/rpc/NFS中显示NFS客户端统计信息。这是与nfsstat-c相同的信息。 Linux nfsd 从/proc/net/rpc/nfsd中显示NFS内核服务器统计信息。这与nfsstat-s的信息相同。 Linux pressure 显示/proc/pressure/中的压力失速统计信息。 Linux (kernel 4.20 and/or CONFIG_PSI) rapl 显示/sys/class/powercap中的各种统计信息。 Linux schedstat 显示/proc/schedstat中的任务调度程序统计信息。 Linux sockstat 显示/proc/net/sockstat中的各种统计信息。 Linux softnet 显示/proc/net/softnet_stat中的统计信息 Linux stat 显示/proc/stat中的各种统计信息。这包括启动时间、分叉和中断。 Linux textfile 显示从本地磁盘读取的统计信息。必须设置--collector.textfile.directory标志。 any thermal_zone 显示/sys/class/thermal中的热区和冷却设备统计信息。 Linux time 显示当前系统时间。 any timex 显示选定的adjtimex2系统调用统计信息 Linux udp_queues 显示/proc/net/UDP和/proc/net/udp6中rx_queue和tx_queue的UDP总长度。 Linux uname 显示uname系统调用提供的系统信息。 Linux vmstat 显示/proc/vmstat中的统计信息。 Linux xfs 显示XFS运行时统计信息。 Linux (kernel 4.4) zfs 显示ZFS性能统计信息。 Linux, Solaris
1.7 prometheus如何收集k8s/服务的–三种方式收集 Exporters指标暴露器收集节点的信息、将数据格式化或转化为 promtheus 可识别的http这种转化方式/镜像拉取方式Instrumentation 应用内置的指标暴露器 收集有内置指标暴露器的信息Pushgateway 收集短周期的数据 二、安装node-exporter组件 机器规划 IP 主机名 192.168.40.130 k8s-master1 192.168.40.131 k8s-node1 192.168.40.132 k8s-node2
安装node-exporter组件node-export.yaml apiVersion: apps/v1
kind: DaemonSet
metadata:name: node-exporternamespace: monitor-salabels:name: node-exporter
spec:selector:matchLabels:name: node-exportertemplate:metadata:labels:name: node-exporterspec:hostPID: true # 使用主机的PIDhostIPC: true # 使用主机的IPChostNetwork: true # 使用主机的网络containers:- name: node-exporterimage: prom/node-exporter:v0.16.0ports:- containerPort: 9100resources:requests:cpu: 0.15securityContext:privileged: trueargs:- --path.procfs- /host/proc- --path.sysfs- /host/sys- --collector.filesystem.ignored-mount-points- ^/(sys|proc|dev|host|etc)($|/)volumeMounts:- name: devmountPath: /host/dev- name: procmountPath: /host/proc- name: sysmountPath: /host/sys- name: rootfsmountPath: /rootfstolerations:- key: node-role.kubernetes.io/masteroperator: Existseffect: NoSchedulevolumes:- name: prochostPath:path: /proc- name: devhostPath:path: /dev- name: syshostPath:path: /sys- name: rootfshostPath:path: /在k8s集群的master1节点操作 kubectl create ns monitor-sa
kubectl apply -f node-export.yaml
kubectl get pods -n monitor-sa 查看创建的node-exporter 浏览器访问 命令行查看服务器负载指标采集 参考文章
Prometheus监控实战之node_exporter详解_node-exporter-CSDN博客
Prometheus监控实战之node_exporter详解_node-exporter-CSDN博客