监控工具之---Prometheus 配置exporter四)

  Prometheus提供两种存储方式,分别为本地存储和远端存储。

  本地存储通过Prometheus自带的时序数据库将数据保存在本地,从而实现高性能读写。但是时序数据库毕竟是非集群的数据库,这样就限制了他的存储容量,无法保存大量的历史监控数据,为此,Prometheus引入了远端存储。

安装Exporter

   安装了Node Exporter程序,该程序对外暴露了一个用于获取当前监控样本的HTTP访问地址。这样的一个程序称为Exporter,Exporter的实例称为哥Target,Prometheus通过轮询的方式定时从这些Target中获取监控数据样本,并且存储在数据库当中。

  下载地址:https://prometheus.io/download/#node_exporter

  解压node_exporter二进制文件,并将执行程序放到/usr/local/bin目录下

# tar -xf node_exporter-0.18.1.linux-amd64.tar.gz -C /opt/
# cd /opt/node_exporter-0.18.1.linux-amd64/
# cp node_exporter /usr/local/bin/

   查看node_exporter是否正常

# node_exporter --version
node_exporter, version 0.18.1 (branch: HEAD, revision: 3db77732e925c08f675d7404a8c46466b2ece83e)
  build user:       root@b50852a1acba
  build date:       20190604-16:41:18
  go version:       go1.12.5

  可以通过参数来对node_exporter进行配置,使用--help查看完整的参数列表。

# node_exporter --help

 配置textfile收集器

  textfile收集器非常有用,它允许我们暴露自定义指标。这些自定义指标可能是批处理或cron作业无法抓取的,可能是没有exporter的源,甚至可能是为主机提供上下文的静态指标。

  例如,我们创建一个目录来保存指标定义文件。在这个目录中创建一个新的指标。指标以.prom结尾的文件内定义,并且使用Prometheus特定文本格式。

  具体可以参考链接:https://prometheus.io/docs/instrumenting/exposition_formats/#text-format-details

# mkdir -p /var/lib/node_exporter/textfile_collector
# echo 'metadata{role="docker_server",datacenter="NJ"} 1' | tee /var/lib/node_exporter/textfile_collector/metadata.prom

启用systemd收集器

  systemd收集器,它记录systemd中的服务和系统状态。这个收集器收集了很多指标,但我们并不想收集systemd管理的所有内容,而只想收集某些关键服务。为了保持简洁,可以将特定服务列入白名单,只收集如下服务的指标:

# node_exporter --collector.textfile.directory="/var/lib/node_exporter/textfile_collector/" --collector.systemd --collector.systemd.unit-whitelist=“(ssh|grafana-server).service”

过滤收集器

  Node Exporter可以返回很多指标,也许你并不想把他们全部收集上来。除了通过本地配置来控制Node Exporter在本地运行哪些收集器之外,Prometheus还提供了一种方式来限制收集器从服务器实际抓取数据,尤其是在你无法控制正抓取的主机的配置时,这种方式非常有帮助。

  1.通过本地控制来控制数据指标上报,因为某些参数默认都是启动的,你可以通过使用no-前缀来修改状态。例如,暴露/proc/net/arp统计信息的arp收集器默认是启用的,由参数--collector.arp控制。因此,要禁用此收集器,需要运行如下命令:

# node_exporter --no-collector.arp

  2.Prometheus通过添加特定收集器列表来实现作业配置。

scrape_configs:
...
  -job_name: 'node'
  static_configs:
    - targets: ['1.1.1.1','2.2.2.2']
  params:
      collect[]:
         - cpu
         - meminfo
         - diskstats
         - netdev
         - filefd
         - filesystem
         - xfs
         - systemd

 标签-重新标记

  通过重新标记,你可以控制、管理并标准化环境中的指标。一些最常用的用例是:

  • 删除不必要的指标
  • 从指标中删除敏感或不需要的标签
  • 添加、编辑或修改指标的标签值或标签格式

  可以通过两个阶段进行重新标记。第一个阶段是对来自服务发现的目标进行重新标记,这对于将来自服务发现的元数据标签中的信息应用于指标上的标签来说非常有用,主要在relabel_configs块中完成。第二个阶段是在抓取之后且指标被保存于存储系统之前。这样,可以确认哪些指标需要保存、哪些需要丢弃以及这些指标的格式。主要在metric_relabel_configs中完成。

  删除标签

  例如:cAvisor中收集了大量数据,并非所有数据都是有用的,因为,如何在存储数据前删除其中一些指标,避免不必要的空间浪费。

- job_name: 'docker'
  static_configs:
    - targets: ['1.1.1.','2.2.2.2','3.3.3.3']
  metric_relabel_configs:
    - source_labels: [_name_]
    separator: ','
    regex: '(container_tasks_state|container_memory_failures_total)'
    action: drop

  多个标签通过分隔符连接在一起,默认分隔符为“;”,也可以使用separator参数覆盖分隔符配置。

  这里_name_标签将使用“,”进行分隔。action中drop操作,这将在数据存储之前删除指标。其他操作(如keep)则会保留与正则表达式匹配的指标。并删除所有其他指标。

  替换标签值

  例如:许多cAdvison指标都有一个id标签,其中包含正在运行的进程的名称。如果将进程id重新定义一个标签,放入container_id中,可以这样做:

metric_relabel_configs:
- source_labels: [id]
  regex: '/docker/([a-z0-9]+);'
  replacement: '$1'
  target_label: container_id

 

 

 

 

  

  

  

 

转载于:https://www.cnblogs.com/weidongliu/p/11492258.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Prometheus是一个用于监控和度量系统和应用程序的开源工具,而Process Exporter是一个Prometheus的插件,用于监控进程级别的指标。下面是使用Process Exporter监控进程的基本步骤: 1. 下载和安装Process Exporter 首先需要从Process Exporter的官方网站下载适合自己操作系统的二进制文件,并将其安装到需要监控的主机上。 2. 配置Process Exporter 可以使用命令行参数或配置文件来配置Process Exporter。在配置文件中,需要指定要监控的进程的名称或PID,并定义指标的名称和标签。例如,以下是一个简单的配置文件: ``` process_names: - name: "my-process" cmdline: - "/usr/local/bin/my-process" metrics: - name: "my_process_cpu_percent" help: "CPU utilization for my-process" type: "gauge" match: name: "my-process" labels: process_name: "my-process" ``` 在这个例子中,我们定义了一个名为“my-process”的进程,并且使用了一个名为“my_process_cpu_percent”的指标来监控该进程的CPU利用率。我们还定义了一个标签“process_name”,用于标识该指标来自哪个进程。 3. 运行Process Exporter 运行Process Exporter以开始收集指标。可以使用以下命令来启动Process Exporter: ``` ./process-exporter --config.path=/path/to/config.yml ``` 其中“/path/to/config.yml”是你刚刚创建的配置文件的路径。 4. 配置PrometheusPrometheus配置文件中,需要添加一个job来收集Process Exporter提供的指标。例如,以下是一个基本的Prometheus配置文件: ``` global: scrape_interval: 15s scrape_configs: - job_name: 'process-exporter' static_configs: - targets: ['localhost:9256'] ``` 在这个例子中,我们定义了一个名为“process-exporter”的job,用于收集Process Exporter提供的指标。我们将目标设置为“localhost:9256”,其中“9256”是Process Exporter监听的端口。 5. 重新启动Prometheus 在修改了Prometheus配置文件后,需要重新启动Prometheus以使更改生效。 6. 查看指标 打开Prometheus的Web界面,可以查看Process Exporter提供的指标。可以使用PromQL查询语言来查询和可视化这些指标。例如,以下是一个查询来查找“my-process”的CPU利用率: ``` my_process_cpu_percent{process_name="my-process"} ``` ### 回答2: Prometheus是一个开源的监控系统,而Process-ExporterPrometheus的一个插件,用于监控系统中的进程状态和性能指标。下面是Process-Exporter的使用方法: 1. 下载和安装Process-Exporter:可以从Process-Exporter的GitHub页面下载最新版本的二进制文件,并将它安装在你的系统中。 2. 配置Process-Exporter:创建一个配置文件,例如prometheus.yml,并在其中指定需要监控的进程和相关参数的配置。这个配置文件可以指定进程的名称、启动命令、以及需要监控的指标,如CPU使用率、内存使用量等。将配置文件保存在合适的位置,并确保Process-Exporter可以读取到这个配置文件。 3. 运行Process-Exporter:在终端中运行Process-Exporter的二进制文件,并指定配置文件的位置。例如,可以使用命令"process-exporter --config.path=/path/to/config.yml"来启动Process-Exporter。它会读取配置文件,并开始监控指定的进程。 4. 配置Prometheus:打开Prometheus配置文件prometheus.yml,并添加Process-Exporter监控指标的配置。例如,可以添加以下内容: ``` scrape_configs: - job_name: 'process-exporter' static_configs: - targets: ['localhost:9091'] ``` 其中,'localhost:9091'是Process-Exporter的默认监听地址和端口号。 5. 启动Prometheus:运行Prometheus的二进制文件,并指定配置文件的位置。例如,可以使用命令"prometheus --config.file=/path/to/prometheus.yml"来启动Prometheus。 6. 查看监控数据:打开浏览器,并访问Prometheus的Web界面。可以通过查询指定的Process-Exporter监控指标,并将其可视化展示出来。也可以使用PromQL查询语言,编写自定义的查询语句来获取所需的进程信息。 通过以上步骤,你就可以使用Process-Exporter监控系统中的进程状态和性能指标了。它可以帮助你及时发现问题,并做出相应的优化和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值