Grafana+Prometheus+Process-exporter/node_exporter监控服务进程(三)

1.摘要

由于我们常用的node_exporter并不能覆盖所有监控项,这里我们使用Process-exporter 对进程进行监控。

当然,您也可以使用node_exporter监控服务的选择,使用systemd收集器

--collector.systemd.unit-whitelist=".+" 从systemd中循环正则匹配单元
--collector.systemd.unit-whitelist="(docker|sshd|nginx).service" 白名单,收集目标

1.1 在被监控端做如下配置:

[root@iZuf6ioqjurm6w0x1o7exjZ alertmanager]# more /etc/systemd/system/node_exporter.service 
[Unit]
Description=Node Exporter
After=network.target
Wants=network-online.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/node_exporter/node_exporter --collector.systemd --collector.systemd.unit-whitelist=(docker|sshd|nginx).service

Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

1.2 加载配置重启服务

systemctl daemon-reload
systemctl restart node_exporter

1.3 监控端查看Node服务

在这里插入图片描述
1.4 查看docker服务运行状态

instance="localhost:9100",job="prometheus",name="docker.service"

在这里插入图片描述
——————————————————————————————

前戏结束,如果机器上运行了一些小脚本,想要对其进行监控但又不想用上一些在代码里做信息采集的SDK那么重,比如只是单纯想要监控该脚本是否一直在运行,那么Process-Exporter会是一个现成的好选择。

如名所示,Process-Exporter就是用来监控进程的,其中一项能力,便是监控进程的状态。使用起来也简单。可从宏观角度监控应用的运行状态(譬如监控redis、mysql的进程资源等)

2. 安装process-exporter

wget https://github.com/ncabatoff/process-exporter/releases/download/v0.5.0/process-exporter-0.5.0.linux-amd64.tar.gz
tar -xvf  process-exporter-0.5.0.linux-amd64.tar.gz -C /usr/local/

3. 创建配置文件

Process-Exporter的做法是配置需要监控的进程的名称,他会去搜索该进程从而得到其需要的监控信息,其实也就是我们常做的“ps -efl | grep xxx”命令来查看对应的进程。

配置文件一开始是不存在的,需要我们创建,名字可以自定义:

vim process-name.yaml
process_names:
  - name: "{{.Matches}}"
    cmdline:
    - 'nginx'

  - name: "{{.Matches}}"
    cmdline:
    - 'zombie'

也可以定义全部:

vim conf.yaml
process_names:
  - name: "{{.Comm}}"
    cmdline:
    - '.+'```

4. 重启服务

./process-exporter -config.path process-name.yaml &

5. 查看数据

curl http://localhost:9256/metrics

6. Grafana 画图

https://grafana.com/dashboards/249
在这里插入图片描述

好的,以下是一个基于Docker Compose的搭建PrometheusGrafana、Alertmanager、Blackbox ExporterNode Exporter的示例: ```yaml version: "3" services: prometheus: image: prom/prometheus container_name: prometheus ports: - "9090:9090" volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' - '--web.enable-admin-api' restart: always grafana: image: grafana/grafana container_name: grafana ports: - "3000:3000" volumes: - ./grafana:/var/lib/grafana restart: always alertmanager: image: prom/alertmanager container_name: alertmanager ports: - "9093:9093" volumes: - ./alertmanager/config.yml:/etc/alertmanager/config.yml command: - '--config.file=/etc/alertmanager/config.yml' restart: always blackbox-exporter: image: prom/blackbox-exporter container_name: blackbox-exporter ports: - "9115:9115" volumes: - ./blackbox-exporter/config.yml:/etc/blackbox-exporter/config.yml command: - '--config.file=/etc/blackbox-exporter/config.yml' restart: always node-exporter: image: prom/node-exporter container_name: node-exporter ports: - "9100:9100" restart: always ``` 需要注意的是,这里的配置文件都需要自己创建并且挂载到对应的容器中。例如,prometheus.yml、config.yml和config.yml分别对应Prometheus、Alertmanager和Blackbox Exporter的配置文件。同时,Grafana的数据目录也需要挂载到主机上以便数据持久化。 另外,需要注意的是这只是一个示例,具体的配置文件需要根据实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值