<返回更多

Prometheus之监控Linux主机

2020-06-04    
加入收藏

配置Node Exporter

  1. 安装Node Exporter

我们依然选用Ubuntu 18.04作为监控目标

root@prometheous# mkdir node-exporter;cd node-exporter
root@prometheous:~/node-exporter# wget https://github.com/prometheus/node_exporter/releases/download/v1.0.0/node_exporter-1.0.0.linux-amd64.tar.gz
root@prometheous:~/node-exporter# tar xfz node_exporter-1.0.0.linux-amd64.tar.gz
root@prometheous:~/node-exporter# cp node_exporter-1.0.0.linux-amd64/node_exporter /usr/local/bin
root@prometheous:~/node-exporter# node_exporter --version
node_exporter, version 1.0.0 (branch: HEAD, revision: b9c96706a7425383902b6143d097cf6d7cfd1960)
  build user:       root@3e55cc20ccc0
  build date:       20200526-06:01:48
  go version:       go1.14.3
  1. 配置textfile收集器

有时想给主机增加一些自定义的指标,比如物理位置和用途等,我们需要暴露一些自定义的指标,这是textfile收集器将起到作用。

这里我们定义了主机的角色和DataCenter的名称,你也可以根据自己的需求设定如添加Rack等信息

root@prometheous:~/node-exporter#  mkdir textfile
root@prometheous:~/node-exporter#  echo 'metadata{role="Nginx",datacenter="labstage"} 1' | tee .textfile/metadata.prom
  1. 配置systemd收集器

systemd收集器记录了systemd中的服务和系统状态,默认收集所有内容。如果只想收集部分关键的业务,我们可以添加白名单。

可以运行下面的命令查看systemd下的服务:

root@prometheous:~/node-exporter# systemctl --type=service --state=running
  1. 运行Node Export服务

我们为textfile收集器指定目录以便查找指标,然后启用了systemd收集器并使用白名单过滤待监控的服务

root@prometheous:~/node-exporter# node_exporter --collector.textfile.directory ./textfile/ --collector.systemd.unit-whitelist="(ssh|taniumclient)"

抓取 Node Exporter

为了抓取Node Exporter我们需要修改Prometheus配置文件

  1. 过滤收集器

Node Expoerter可以返回很多指标,除了在node exporter上限制运行哪些收集器外,我们还可以在Prometheus上通过添加特定收集器列表来实现,这对无法控制正在抓取的主机配置非常有用。

可以过滤的内容参考如下链接:

https://github.com/prometheus/node_exporter

  1. 创建抓取job

要获取新数据,需要为prometheus.yml添加另外一个新的job,结合过滤收集器,新的配置文件如下:

root@prometheous:/etc/prometheous#cat prometheus.yml 
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'linux_node'
    static_configs:
    - targets: ['10.110.204.54:9090']
      
    params:labels:
        group: 'production'
      collect[]:
        - cpu
        - meminfo
        - diskstats
        - netdev
        - netstat
        - filesystem
        - systemd

重新加载prometheus.yml文件

root@prometheous:~/prometheous# prometheus --config.file /etc/prometheous/prometheus.yml &

使用PromQL

PromQL是Prometheus自带的查询语言,有三种数据类型

  • 即时向量:数据采样的时间序列
  • 范围向量:包含特定时间范围内的数据的一组时间序列
  • 标量:具体的值

我们可以通过在浏览器上的Excute按钮旁边输入相关的内容进行查询,可以参考下面链接

https://prometheus.io/docs/prometheus/latest/querying/basics/

下图中我们通过其labels即{group="production"}的查询结果

Prometheus之监控Linux主机

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>