2-云原生监控体系-使用node-exporter监控Linux服务器

1 介绍

Prometheus 使用 node_exporter 服务程序监控 Linux 主机。

2 部署

2.1 下载

官方下载地址 https://prometheus.io/download/
找到 node-export 下载即可

curl -o node_exporter-1.8.2.linux-amd64.tar.gz -L https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz

2.2 解压到指定目录

tar -xf  node_exporter-1.8.2.linux-amd64.tar.gz -C  /usr/local/
ln -s /usr/local/node_exporter-1.8.2.linux-amd64/  /usr/local/node_exporter

2.3 配置进程管理

/etc/systemd/system/node-exporter.service

[Unit]
Description=The node-exporter 监控程序
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/node_exporter/node_exporter

KillSignal=SIGQUIT

Restart=always

RestartPreventExitStatus=1 6 SIGABRT

TimeoutStopSec=5
KillMode=process
PrivateTmp=true
LimitNOFILE=1048576
LimitNPROC=1048576

[Install]
WantedBy=multi-user.target

2.4 启动和监听

systemctl daemon-reload
systemctl enable --now node-exporter

默认监听端口9100

3 添加到 Prometheus

修改配置,增加被监控对象
vi /usr/local/prometheus/prometheus.yml

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
    # 如下新增
  - job_name: "beijing-servers"
    static_configs:
      - targets:
          - 10.10.40.179:9100

检查配置文件语法

[root@mail prometheus]# ./promtool check config prometheus.yml
Checking prometheus.yml
 SUCCESS: prometheus.yml is valid prometheus config file syntax

重新加载配置文件

curl -X POST localhost:9090/-/reload

访问 Prometheus 查看是否生效
在这里插入图片描述

4. 指标

4.1 通过页面查看指标数据

搜索框中尝试输入 node_filesystem_size_bytes
在这里插入图片描述

上面的数据是服务器里每个分区的总容量信息。

4.2 查看都有哪些指标

也可以通过命令行获取原始指标数据

curl 10.10.40.179:9100/metrics|less

4.3 指标数据规范

从上面的数据可以发现,一组指标数据有三部分组成:

1 HELP
格式要求是 指标名和指标的说明信息。

2 TYPE
格式要求是 指标名称和指标数据类型。

后面高级部分会详细介绍数据类型的含义。

3 指标数据本身
指标数据包含了指标名称,标签已经对应的值。
一组相同特征,相同类型的指标数据可以有多条.通过标签进行区分,或者会通过时间戳区分(不同时间获取到的不同的值)。

5 程序运行参数

监听地址和端口

--web.listen-address=:9100 指定监听地址和端口。

排除某些不需要收集的挂载信息

--collector.filesystem.mount-points-exclude=正则表达式 不监控正则表达式中的挂载点。

如下示例,返回的挂载点信息中将不会再有这些挂载点:

/usr/local/node_exporter/node_exporter  --collector.filesystem.mount-points-exclude=^/(boot|sys|proc|dev|run)($|/)

如果是在 systemd 程序控制文件中,值不能加引号,如果在命令行里直接运行,值需要加引号。

效果如下:
在这里插入图片描述

增加自定义的指标

Collector 收集器,
node_exporter 中的指标都是通过一个一个的收集器获取监控指标的。默认有很多收集器,可以通过 ./node_exporter --help |grep collector 看到。

Textfile Collector 文本文件收集器
我们也可以把需要收集的指标数据安装 Prometheus 的规定的规范,存放到一个普通的文本文件,最后使用启动参数 --collector.textfile.directory 来指定这个普通文本文件所在的上级目录,来达到收集自定义指标的目的。

通常用于收集静态的信息,比如主机的角色信息等,当然也可以利用计划任务和脚本、程序配合,定时收集并把收集的信息输入到这个文件中。

文件和内容格式
--collector.textfile.directory 指定的目录下的文件,必须是以 *.prom结尾的普通文本。

内容格式为:

metric_name [ "{" label_name "=" `"` label_value `"` { "," label_name "=" `"` label_value `"` } [ "," ] "}" ] value

指标的值必须是 float 类型,不能是字符串或者布尔值

一个服务器角色信息的静态指标示例:

echo 'role{role="application_server"} 1' > /usr/local/node_exporter/textfile-collectors/role.prom

添加如下内容到启动参数中

--collector.textfile.directory=/usr/local/node_exporter/textfile-collectors/

重启 node-exproter 服务

systemctl daemon-reload
systemctl restart node-exporter

查看自定义指标 role

在搜索框中输入 role
在这里插入图片描述


传送门

上一篇:1-云原生监控体系-Prometheus架构解析和部署配置

下一篇: 3-云原生监控体系-Grafana-部署启动

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shark_西瓜甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值