监控主机: node_exporter
发表于:2025-02-14 作者:千家信息网编辑
千家信息网最后更新 2025年02月14日,监控主机: node_exporter在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了
千家信息网最后更新 2025年02月14日监控主机: 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.service
node_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安全错误
数据库的锁怎样保障安全
服务器的象征
安徽宜采软件开发有限公司
重庆应用软件开发费用多少
2021春招网络技术必背
英雄联盟手游选择服务器
交换机可以管理服务器吗
世纪星组态软件开发
网页访问数据库 安全问题
网络安全文明上网宣传ppt
网络安全小报的内容短句
网络安全技术涉及哪些技术
服务器安全管理为什么要云帮手
网上商城数据库
用友t3数据库身份验证
qt上传服务器
华为网络安全认证考题
对日软件开发面试日语问题
我的世界哪些服务器有饥饿游戏
超市外送app软件开发
西昌学院数据库原理及应用期末
网易软件开发工程师 薪资
网络安全可以保证数据
全国网络安全研究院院长
哪个区服务器最适合安徽云空间
服务器无法运行是啥原因
it行业软件开发招聘要求
浪潮服务器名称及管理员口令
云数据库怎么查字段
软件开发综述总结ppt
东莞市光速网络技术