linux怎么监控其他主机,Prometheus之监控Linux主机

配置Node Exporter

安装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

配置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

配置systemd收集器

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

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

root@prometheous:~/node-exporter# systemctl --type=service --state=running

运行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配置文件

过滤收集器

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

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

https://github.com/prometheus/node_exporter

创建抓取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"}的查询结果

e902e0c0147ba3b66019137641b8c851.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值