Prometheus-node_exporter

简介: Prometheus-node_exporter

6、节点硬件资源监控 node_exporter
https://prometheus.io/download/#node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
1、配置安装 node_exporter 软件

# 解压文件
tar xf node_exporter-1.0.1.linux-amd64.tar.gz
cd node_exporter-1.0.1.linux-amd64/

# 编写 system 启动文件
vim /etc/systemd/system/prometheus-node.service 
[Unit]
Description=Prometheus Node
After=network.target prometheus.service

[Service]    
Type=simple
ExecStart=/srv/node_exporter-1.0.1.linux-amd64/node_exporter --web.listen-address=0.0.0.0:9100

[Install]
WantedBy=multi-user.target

# 脚本
#!/bin/bash
echo -e "\e[1;31m开始安装系统监控工具--------------------------- \e[0m"
if [ -d /opt/monitor ];then
        cd /opt/monitor
        wget http://x.x.x.x:8080/monitor/node_exporter-1.0.1.linux-amd64.tar.gz
else
        mkdir /opt/monitor  && cd /opt/monitor
        wget http://x.x.x.x:8080/monitor/node_exporter-1.0.1.linux-amd64.tar.gz
fi
tar xf node_exporter-1.0.1.linux-amd64.tar.gz
cd node_exporter-1.0.1.linux-amd64
tee >  /etc/systemd/system/node-export.service << EOF
[Unit]
Description=Prometheus Node
After=network.target prometheus.service

[Service]       
Type=simple
ExecStart=/opt/monitor/node_exporter-1.0.1.linux-amd64/node_exporter --web.listen-address=0.0.0.0:9100

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable node-export.service
systemctl start node-export.service
systemctl status node-export.service
将 node_exporter 服务设为开机自启并启动
systemctl daemon-reload
systemctl enable prometheus-node.service
systemctl start prometheus-node.service
查看 node_exporter 服务 (默认端口为: 9100)

2、Prometheus 中集成node_exporter
修改 Prometheus 的配置文件 (prometheus.yml),添加 node 服务 (在 scrape_configs 属性下添加)

vim prometheus.yml
  - job_name: 'node'
    static_configs:
    - targets: ['x.x.x.x:9100']

# 重启 prometheus 服务
systemctl restart prometheus.service

3、如果是consul 如下配置

[root@bogon node_exporter-1.0.1.linux-amd64]# cat node.json 
{
  "ID": "node-instance-x.x.x.x",
  "Name": "node-instance-x.x.x.x",
  "Tags": [
    "es_instance"
  ],
  "Address": "x.x.x.x",
  "Port": 9100,
  "Meta": {
    "instance": "es-instance-x.x.x.x",
    "role": "test-it-es-cluster-prod"
  },
  "EnableTagOverride": false,
  "Check": {
    "HTTP": "http://x.x.x.x:9100/metrics",
    "Interval": "10s"
  },
  "Weights": {
    "Passing": 10,
    "Warning": 1
  }
}

###################### 参数讲解###############
### 参数说明
# id : 注册ID 在consul中为唯一标识
# name :Service名称
# address:自动注册绑定ip
# port:自动注册绑定端口
# tags:注册标签,可多个
# checks : 健康检查
#   http:   检查数据来源
#   interval: 检查时间间隔
# http://x.x.x.x:8500/v1/agent/service/register   consul注册接口

#################### 配置过滤#################
我们可以配置 relabel_configs 来实现标签过滤,只加载符合规则的服务。以上边为例,可以通过过滤 __meta_consul_tags 标签为 test 的服务,relabel_config 向 Consul 注册服务的时候,只加载匹配 regex 表达式的标签的服务到自己的配置文件。修改 prometheus.yml 配置如下:

  - job_name: 'consul-prometheus'
    consul_sd_configs:
    - server: 'x.x.x.x:8500'
      services: []  
    relabel_configs:
    - source_labels: [__meta_consul_tags]
      regex: .*test.*
      action: keep

这里的 relabel_configs 配置作用为丢弃源标签中 meta_consul_tags 不包含 test 标签的服务,meta_consul_tags 对应到 Consul 服务中的值为 "tags": ["test"],默认 consul 服务是不带该标签的,从而实现过滤。





curl -X PUT --data @node.json http://x.x.x.x:8500/v1/agent/service/register

#  模板 (8919)11461
https://grafana.com/grafana/dashboards/8919

curl --request PUT http://x.x.x.x:8500/v1/agent/service/deregister/node-instance-10.105.193.41
node-instance-x.x.x.x1 ID
3、grafana 配置
导入官方模板:
ID: 8919

相关文章
|
存储 Java Linux
10分钟入门Flink--安装
本文介绍Flink的安装步骤,主要是Flink的独立部署模式,它不依赖其他平台。文中内容分为4块:前置准备、Flink本地模式搭建、Flink Standalone搭建、Flink Standalong HA搭建。
10分钟入门Flink--安装
|
Prometheus 监控 前端开发
prometheus|云原生|grafana-9.4.3版本的主题更改
prometheus|云原生|grafana-9.4.3版本的主题更改
1657 0
|
Arthas Prometheus Kubernetes
K8S pod内存告警分析
K8S pod内存告警分析
2041 0
|
4月前
|
消息中间件 Java Kafka
搭建ELK日志收集,保姆级教程
本文介绍了分布式日志采集的背景及ELK与Kafka的整合应用。传统多服务器环境下,日志查询效率低下,因此需要集中化日志管理。ELK(Elasticsearch、Logstash、Kibana)应运而生,但单独使用ELK在性能上存在瓶颈,故结合Kafka实现高效的日志采集与处理。文章还详细讲解了基于Docker Compose构建ELK+Kafka环境的方法、验证步骤,以及如何在Spring Boot项目中整合ELK+Kafka,并通过Logback配置实现日志的采集与展示。
1027 64
搭建ELK日志收集,保姆级教程
|
Prometheus 监控 Cloud Native
prometheus学习笔记之node-export
prometheus 监控 node-exporter
1066 6
|
9月前
|
Java 开发者 UED
Java 输入处理的常见错误
本文深入探讨了Java中输入处理的常见错误与认知偏差,重点分析了`Scanner`类的使用误区。例如,`nextInt()`后紧跟`nextLine()`会因残留换行符导致输入跳过,需额外调用`nextLine()`清理缓冲区;`nextLine()`始终返回字符串,需手动转换数据类型;处理多数字输入时,应结合`split()`与`Integer.parseInt()`方法。通过剖析这些问题,帮助开发者理解`Scanner`的工作机制,提升输入处理代码的健壮性与准确性。
313 3
|
Shell Linux 调度
cgroup 资源控制介绍
cgroup 资源控制介绍
|
10月前
|
Linux
Linux:守护进程(进程组、会话和守护进程)
守护进程在 Linux 系统中扮演着重要角色,通过后台执行关键任务和服务,确保系统的稳定运行。理解进程组和会话的概念,是正确创建和管理守护进程的基础。使用现代的 `systemd` 或传统的 `init.d` 方法,可以有效地管理守护进程,提升系统的可靠性和可维护性。希望本文能帮助读者深入理解并掌握 Linux 守护进程的相关知识。
553 7
|
数据采集 Java Python
优化数据的抓取规则:减少无效请求
本文详细介绍了一种高效抓取贝壳等二手房平台房价信息的方法,重点在于过滤无效链接和减少冗余请求。文章首先分析了目标数据和平台特点,然后提出了URL过滤、分页控制、动态设置User-Agent和Cookies、代理IP轮换及多线程优化等策略。最后,提供了一个结合代理IP技术的Python爬虫代码示例,展示了如何具体实现上述优化措施,从而显著提升数据抓取的稳定性和效率。
302 26
优化数据的抓取规则:减少无效请求
|
存储 Prometheus 监控
性能监控之初识 Prometheus
【8月更文挑战第2天】性能监控之初识 Prometheus
2173 17