监控主机: node_exporter
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,监控主机: node_exporter在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了
千家信息网最后更新 2025年12月03日监控主机: node_exporter
监控主机: node_exporter
在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。
从上面的描述中可以看出Exporter可以是一个相对开放的概念,其可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向Prometheus提供标准格式的监控样本数据即可。
这里为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。我们可以使用Node Exporter。
Node Exporter同样采用Golang编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。
运行 node exporter
下载软件包:
mkdir -p /usr/local/prometheus/exporter/node cd /usr/local/prometheus/exporter/nodecurl -s -OL https://github.com/prometheus/node_exporter/releases/download/v0.18.0/node_exporter-$Version.linux-amd64.tar.gztar xf node_exporter-0.18.0.linux-amd64.tar.gzcp -a node_exporter-0.18.0.linux-amd64/node_exporter /usr/local/bin/cat > /usr/lib/systemd/system/node-exporter.service <<-'EOF'[Unit]Description=This is prometheus node exporterAfter=docker.service[Service]Type=simpleExecStart=/usr/local/bin/node_exporterExecReload=/bin/kill -HUP $MAINPIDKillMode=processRestart=on-failure[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reload && systemctl enable node-exporter.service && systemctl start node-exporter.servicenode_exporter 他的本质就是监控主机系统,所以我们不建议将其部署为 docker 容器,因为他需要访问主机系统.
与 prometheus 集成
- job_name: node metrics_path: /metrics static_configs: - targets: ['192.168.111.65:9100']重启 prometheus,查看状态
在 grafana 中添加图表
图表编号为8919
https://grafana.com/grafana/dashboards/8919
然后可以看到如下图表
prometheus 告警规则
groups:- name: hostStatsAlert rules: - alert: hostCpuUsageAlert expr: (1- avg(irate(node_cpu_seconds_total{instance=~"$node",mode="idle"}[30m])))*100>85 for: 1m labels: level: disaster #定义一个等级标签,用于altermanager 发送消息 annotations: summary: "实例 {{ $labels.instance }} CPU使用率过高" description: "{{ $labels.instance }} CPU 使用率大于 85% (当前值为: {{ $value }})" - alert: hostMemUsageAlert expr: (1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes)))* 100>85 for: 1m labels: level: disaster annotations: summary: "实例 {{ $labels.instance }} 内存使用率过高" description: "{{ $labels.instance }} 内存使用率大于 85% (当前的值: {{ $value }})" - alert: hostLoad expr: sum(node_load15) >= sum(count(node_cpu_seconds_total{mode='system'}) by (cpu)) and node_load1 > node_load5 and node_load5 > node_load15 for: 1m labels: level: disaster annotations: summary: "实例 {{ $labels.instance }} 15 分钟负载过高" description: "{{ $labels.instance }} 15 分钟负载大于其 cpu 核心数 (当前的值: {{ $value }})" - alert: hostUp expr: up{job="node"} == 0 for: 1m labels: level: disaster annotations: summary: "实例 {{ $labels.instance }} 不可达" description: "{{ $labels.instance }} 实例不可达,请尽快解决"参考文档:
https://github.com/prometheus/node_exporterhttps://yunlzheng.gitbook.io/prometheus-book/parti-prometheus-ji-chu/quickstart/prometheus-quick-start/use-node-exporterhttps://grafana.com/grafana/dashboards/8919
监控
主机
使用率
实例
数据
运行
内存
图表
目标
样本
系统
服务
独立
东西
任务
信息
周期
周期性
地址
容器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库sid和用户名
校园网络安全防诈骗简报内容
亚洲网络安全创新峰会
广州网络安全青年主题日
天府新区人民医院网络安全
有关网络安全的班会教案
软件开发现在用什么软件
神奇宝贝服务器诅咒暴飞龙
新一代服务器供货厂
软件开发行业背景和发展
国家无线网络安全要求文件
根据租户编码自动切换数据库
软件开发 事例图 流程图
宿迁海航软件开发诚信合作
软件开发项目管理软件排名
浙江学习软件开发排名
恐龙岛6分钟一个点服务器
徐汇区信息化软件开发价格查询
网络安全哪一块
银川药厂软件开发
北京idc服务器厂家直供
软件开发release
数据库怎么 整库导出
pc端mc好玩的服务器
职业测评系统软件开发
显卡性能数据库
潮流软件开发过程价钱
系统管理不能登录到加密服务器
软件开发中的经济决策方法
数据库连接不成功是咋回事