Prometheus集成springboot(五)

监控主机和容器

我们安装了Prometheus并进行了一些基本配置,还从Prometheus服务器本身抓取了一些时间序列数据。而本章将讨论使用Prometheus来监控主机和容器的指标。

首先,我们将在每台主机上安装exporter,然后配置节点指标让Prometheus来抓取。接下来,我们将介绍一些基本主机资源监控,包括:·CPU·内存·磁盘·可用性
为了确定要监控的内容,我们将回顾USE监控方法,以帮助确定正确的监控指标。我们还将介绍如何使用Prometheus来检测服务状态以及主机可用性。然后,我们利用收集的指标来构建一些聚合指标并保存为记录规则。

上述内容都是部署监控工具的标准任务,为深入理解Prometheus提供了坚实的基础。这些基本数据让我们能够识别主机的性能问题,它们为应用程序问题的故障诊断提供足够的数据补充

监控节点

Prometheus使用exporter工具来暴露主机和应用程序上的指标,目前有很多可用于各种目的的exporter。现在我们将专注于一个特定的exporter:NodeExporter。它是用Go语言编写的,提供了一个可用于收集各种主机指标数据(包括CPU、内存和磁盘)的库。它还有一个textfile收集器,允许你导出静态指标,我们很快就会看到这对发送有关节点的信息很有帮助,此外它还可以从批处理作业导出指标。注意 我们有时会使用术语“节点”来指代主机。首先选择其中一台Linux主机,然后下载并安装Node Exporter。提示 如果你不想使用exporter,那么还有很多支持Prometheus的主机监控客户端。例如,collectd也可以收集Prometheus指标

安装Node Exporter

你可以通过tar包来安装Node Exporter,在部分操作系统上也可以通过软件包进行安装。可以从Prometheus官网https://github.com/prometheus/node_exporter/releases/download下载Node Exporter的tar包。下载并解压缩Node Exporter,然后将二进制文件移动到环境变量path包含的路径中。

[root@iZuf6bm702o3rrjlhq9xt5Z ~]# wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
[root@iZuf6bm702o3rrjlhq9xt5Z ~]# tar -zxf node_exporter-1.3.1.linux-amd64.tar.gz 


配置Node Exporter

你将看到可用参数的列表。默认情况下,node_exporter在端口9100上运行,并在路径/metrics上暴露指标。你可以通过–web.listen-address和–web.telemetry-path参数来设置端口和路径,如下所示

nohup ./node_exporter --web.listen-address=":9100" --web.telemetry-path="/metrics" & 
配置textfile收集器

我们还想配置一个特定的收集器,即textfile收集器,本章后面将使用它。textfile收集器非常有用,因为它允许我们暴露自定义指标。这些自定义指标可能是批处理或cron作业等无法抓取的,可能是没有exporter的源,甚至可能是为主机提供上下文的静态指标。收集器通过扫描指定目录中的文件,提取所有格式为Prometheus指标的字符串,然后暴露它们以便抓取。现在让我们设置收集器,首先创建一个目录来保存指标定义文件。

要启用textfile收集器,我们不需要配置参数,它默认就会被加载。但我们需要指定textfile_exporter目录,以便Node Exporter知道在哪里可以找到自定义指标。为此,我们需要指定–collector.textfile.directory参数。

启用systemd收集器

这里我们再启用另一个systemd收集器,它记录systemd[插图]中的服务和系统状态。这个收集器收集了很多指标,但我们并不想收集systemd管理的所有内容,而只想收集某些关键服务。为了保持简洁,我们可以将特定服务列入白名单,只收集以下服务的指标:·docker.service·ssh.service·rsyslog.service它们是Docker守护进程、SSH守护进程和RSyslog守护进程。使用–collector.systemd --collector.systemd.unit-whitelist参数进行配置,它会匹配systemd的正则表达式。

抓取Node Exporter

回到Prometheus服务器,让我们配置一个新作业来抓取Node Exporter导出的数据。查看当前prometheus.yml文件和抓取配置中的scrape_configs部分。 当前Prometheus抓取配置要获取新数据,需要为配置添加另一个作业。我们打算给新作业起名为node,并将继续使用static_configs来添加单个目标,而不是使用服务发现(我们将在下一章看到有关服务发现的更多内容)。现在让我们添加新作业。

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    metrics_path: '/metrics'
    scheme: 'http'
    static_configs:
     - targets: ["localhost:9090"]
  - job_name: "node"
    metrics_path: '/metrics'
    scheme: 'http'
    static_configs:
     - targets: ["localhost:9100"]

  - job_name: "my-demo"
    metrics_path: 'actuator/prometheus'
    static_configs:
      - targets: ['localhost:8070']
        #,'47.100.96.62:18070','106.15.239.242:18070']  

如果现在使用SIGHUP或重新启动Prometheus服务器,那么我们的配置将被重新加载,并且服务器也会开始抓取。我们很快就会看到时间序列数据开始流入Prometheus服务器。
在这里插入图片描述
通过grafana展示
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yitian_hm

您的支持是我最大鼓励

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

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

打赏作者

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

抵扣说明:

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

余额充值