debian查询端口进程_Prometheus之使用process-exporter来监控服务进程(第八篇)

本文介绍了如何在Debian系统上利用process-exporter监控服务进程,包括安装、配置、启动process-exporter,将其集成到Prometheus中进行进程监控,并提供了几个关键的监控指标示例。
摘要由CSDN通过智能技术生成

process-exporter主要用来做进程监控,比如某个服务的进程数、消耗了多少CPU、内存、IO资源等。

1、process-exporter,可从github中搜索下载,process-exporter非官方出品,但能基本满足我们对进程监控的需求。

# wget https://github.com/ncabatoff/process-exporter/releases/download/v0.7.2/process-exporter-0.7.2.linux-amd64.tar.gz

# tar -xvf process-exporter-0.7.2.linux-amd64.tar.gz -C /usr/local/

# cd /usr/local/

# ln -s process-exporter-0.7.2.linux-amd64 process_exporter

# cd process_exporter

# ln -s process-exporter process_exporter

注:修改目录名,统一风格

2、创建配置文件,并添加要监控的进程

# cat /usr/local/process_exporter/config.yaml

process_names:

- name: "{{.Matches}}"

cmdline:

- '/usr/local/prometheus/prometheus'

- name: "{{.Matches}}"

cmdline:

- '/usr/local/alertmanager/alertmanager'

- name: "{{.Matches}}"

cmdline:

- '/usr/local/node_exporter/node_exporter'

- name: "{{.Matches}}"

cmdline:

- '/usr/bin/supervisord -c /etc/supervisord.conf'

3、使用systemd方式启动process_exporter

# cat > /lib/systemd/system/process_exporter.service <

[Unit]

Description=process-exporter

[Service]

ExecStart=/usr/local/process_exporter/process_exporter -config.path=/usr/local/process_exporter/config.yaml

Restart=on-failure

[Install]

WantedBy=multi-user.target

EOF

启动process_exporter服务,并设置开机自启动

# systemctl daemon-reload

# systemctl enable process_exporter

# systemctl start process_exporter

默认端口:9256

4、将process_exporter做为target添加到prometheus中并加载配置

# vim /usr/local/prometheus/prometheus.yml

- job_name: 'process_exporter'

static_configs:

- targets: ['monitor01:9256']

labels:

app: process_exporter

nodename: monitor01

role: process_exporter

然后使用supervisorctl命令update下配置即可

# supervisorctl -uadmin -p1235 update

5、在prometheus控制台进行查询验证。

namedprocess_namegroup_num_procs,用于进程数监控

例如:namedprocess_namegroup_num_procs{groupname=~".*prometheus.*"}

namedprocess_namegroup_cpu_seconds_total,进程所占CPU监控,包括system和user两类

例如:sum(rate(namedprocess_namegroup_cpu_seconds_total{groupname=~".*prometheus.*"}[2m]))

namedprocess_namegroup_memory_bytes,进程所常驻内存监控

例如:namedprocess_namegroup_memory_bytes{groupname=~".*prometheus.*", memtype="resident"}

namedprocess_namegroup_read_bytes_total,进程磁盘读

例如:rate(namedprocess_namegroup_read_bytes_total{groupname=~".*prometheus.*"}[2m])

namedprocess_namegroup_write_bytes_total,进程磁盘写

rate(namedprocess_namegroup_write_bytes_total{groupname=~".*prometheus.*"}[2m])

最后以进程数查询结果如下图所示:

3b21564186f4fc1ff2c48b05c55c7fda.png

使用Grafana展示效果

b19391f847309bd3fecf4bedaa4ef50a.png
部署 `nginx-prometheus-exporter` 是为了监控 Docker 容器内的 Nginx 实例,并将其数据提供给 Prometheus 进行收集。以下是部署的基本步骤: 1. **安装 nginx-prometheus-exporter**: - 如果你的系统还没有安装 Go,首先需要安装它(例如在 Debian 系统上运行 `sudo apt-get install golang`)。 - 下载并解压 nginx-prometheus-exporter 的源码,或者从 GitHub克隆仓库:`git clone https://github.com/prometheus-community/nginx-exporter.git` - 切换到下载的目录,然后运行 `go build` 或者 `go get` 来构建二进制文件。 2. **创建 Docker 镜像**: - 创建一个新的 `Dockerfile`,内容大致如下: ``` FROM alpine:latest RUN apk add --no-cache ca-certificates && \ wget https://github.com/prometheus-community/nginx-exporter/releases/download/v0.46.0/nginx-exporter_0.46.0_linux_amd64.tar.gz && \ tar xvf nginx-exporter_0.46.0_linux_amd64.tar.gz && \ mv nginx-exporter /usr/local/bin/ CMD ["nginx-exporter", "-config.file=/etc/nginx-exporter/config.yml"] ``` 3. **配置 exporter**: - 编辑 `/etc/nginx-exporter/config.yml` 根据你的 Nginx 实例调整设置,如监听地址、认证等。 4. **构建 Docker 镜像**: - 在 Dockerfile 所在目录运行 `docker build -t nginx-prometheus-exporter .` 创建镜像。 5. **运行 Docker 容器**: - 使用 `-e` 参数将配置环境变量传入容器,例如 `docker run -p 9115:9115 -v $PWD/config.yml:/etc/nginx-exporter/config.yml nginx-prometheus-exporter`。这里 `-p` 映射宿主机端口 9115 至容器内部的 9115 端口,`-v` 挂载本地的配置文件到容器中。 6. **验证和监控**: - 可以通过浏览器访问 `http://your_host:9115/metrics` 查看 exporter 是否正常工作,Prometheus 应该能够发现并连接到这个端口抓取指标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值