云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

Prometheus运维(Prometheus初始化设置,接入主机及进程监控)

jxf315 2025-09-28 02:05:56 教程文章 30 ℃

1.Grafana初始化设置

1.1 Grafana连接Prometheus数据源




1.2 Prometheus连接Alertmanager

# 到映射出来的Prometheus目录中修改prometheus.yml文件
root@ubuntu2204-98:~# cd /usr/local/prometheus_monitor/prometheus
root@ubuntu2204-98:/usr/local/prometheus_monitor/prometheus# ls
console_libraries  consoles  prometheus.yml
root@ubuntu2204-98:/usr/local/prometheus_monitor/prometheus# vi prometheus.yml
.....
# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
            - alertmanager:9093 # 这里仍然使用容器名称来进行连接
            ......

# 重启Prometheus
root@ubuntu2204-98:/usr/local/prometheus_monitor/prometheus# docker ps |grep prometheus
08675b6bf482   prom/prometheus                                "/bin/prometheus --c…"   8 minutes ago   Up 8 minutes             0.0.0.0:9220->9090/tcp, [::]:9220->9090/tcp   prometheus

root@ubuntu2204-98:/usr/local/prometheus_monitor/prometheus# docker restart 08675b6bf482
08675b6bf482

2. 安装主机监控代理

2.1 node-exporter主机状态(默认启动端口9100)

# node-exporter 版本1.8.2 node-exporter放到指定位置

root@ubuntu2204-98:~#  ll /usr/local/node-exporter-1.8.2/
total 20048
drwxr-xr-x  2 root root     4096 Jul 14  2024 ./
drwxr-xr-x 17 root root     4096 Aug 19 08:37 ../
-rwxr--r--  1 root root    11357 Jul 14  2024 LICENSE*
-rwxr--r--  1 root root 20500541 Jul 14  2024 node_exporter*
-rwxr--r--  1 root root      463 Jul 14  2024 NOTICE*


# 服务托管给systemd,注意下面的目录,如果你的node-exporter和我的目录或者版本不同需要修改
root@ubuntu2204-98:~# vi /usr/lib/systemd/system/node-exporter.service

[Unit]
Description=Node Exporter
Documentation=https://github.com/prometheus/node_exporter
After=network.target

[Service]
User=root
ExecStart=/usr/local/node-exporter-1.8.2/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 授权+启动+开机自启+查看状态
root@ubuntu2204-98:~# chmod +x /usr/lib/systemd/system/node-exporter.service
root@ubuntu2204-98:~# systemctl start node-exporter
root@ubuntu2204-98:~# systemctl enable node-exporter
Created symlink /etc/systemd/system/multi-user.target.wants/node-exporter.service → /lib/systemd/system/node-exporter.service.
root@ubuntu2204-98:~# systemctl status node-exporter
● node-exporter.service - Node Exporter
     Loaded: loaded (/lib/systemd/system/node-exporter.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2025-08-21 05:52:59 UTC; 12s ago
       Docs: https://github.com/prometheus/node_exporter
   Main PID: 650274 (node_exporter)
      Tasks: 5 (limit: 4557)
     Memory: 14.5M
        CPU: 17ms
     CGroup: /system.slice/node-exporter.service
             └─650274 /usr/local/node-exporter-1.8.2/node_exporter

Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.288Z caller=node_exporter.go:118 level=info collector=time
Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.288Z caller=node_exporter.go:118 level=info collector=timex
Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.288Z caller=node_exporter.go:118 level=info collector=udp_que>
Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.288Z caller=node_exporter.go:118 level=info collector=uname
Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.288Z caller=node_exporter.go:118 level=info collector=vmstat
Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.288Z caller=node_exporter.go:118 level=info collector=watchdog
Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.288Z caller=node_exporter.go:118 level=info collector=xfs
Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.288Z caller=node_exporter.go:118 level=info collector=zfs
Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.291Z caller=tls_config.go:313 level=info msg="Listening on" a>
Aug 21 05:52:59 ubuntu2204-98 node_exporter[650274]: ts=2025-08-21T05:52:59.291Z caller=tls_config.go:316 level=info msg="TLS is disabled>

2.2 process-exporter系统进程(默认启动端口9256)

# process-exporter 版本0.8.4 process-exporter放到指定位置

root@ubuntu2204-98:~# ll /usr/local/process-exporter-0.8.4/
total 11052
drwxr-xr-x  2 root root     4096 Nov  6  2024 ./
drwxr-xr-x 17 root root     4096 Aug 19 08:37 ../
-rwxr--r--  1 root root     1076 Oct 17  2024 LICENSE*
-rwxr--r--  1 root root 11280536 Oct 17  2024 process-exporter*
-rwxr--r--  1 root root      136 Oct 28  2024 process_name.yaml* ---> 这个文件要设置下来监控所有系统进程
-rwxr--r--  1 root root    16059 Oct 17  2024 README.md*

# 设置process_name.yaml文件,监控所有系统状态
root@ubuntu2204-98:/usr/local/process-exporter-0.8.4# cat process_name.yaml
process_names:
  - name: "{{.Comm}}" #监控所有进程
    cmdline:
    - '.+'
    
# 服务托管给systemd,注意目录,如果你自定义请自己修改
root@ubuntu2204-98:~# vi /usr/lib/systemd/system/process-exporter.service
[Unit]
Description=Prometheus exporter for processors metrics, written in Go with pluggable metric collectors.
Documentation=https://github.com/ncabatoff/process-exporter
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/process-exporter-0.8.4
ExecStart=/usr/local/process-exporter-0.8.4/process-exporter -config.path=/usr/local/process-exporter-0.8.4/process_name.yaml
Restart=on-failure
[Install]
WantedBy=multi-user.target

# 授权+启动+开机自启+查看状态
root@ubuntu2204-98:~# systemctl start process-exporter
root@ubuntu2204-98:~# systemctl enable process-exporter
Created symlink /etc/systemd/system/multi-user.target.wants/process-exporter.service → /lib/systemd/system/process-exporter.service.
root@ubuntu2204-98:~# systemctl status process-exporter
● process-exporter.service - Prometheus exporter for processors metrics, written in Go with pluggable metric collectors.
     Loaded: loaded (/lib/systemd/system/process-exporter.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2025-08-21 05:58:45 UTC; 10s ago
       Docs: https://github.com/ncabatoff/process-exporter
   Main PID: 650674 (process-exporte)
      Tasks: 6 (limit: 4557)
     Memory: 18.3M
        CPU: 199ms
     CGroup: /system.slice/process-exporter.service
             └─650674 /usr/local/process-exporter-0.8.4/process-exporter -config.path=/usr/local/process-exporter-0.8.4/process_name.yaml

Aug 21 05:58:45 ubuntu2204-98 systemd[1]: Started Prometheus exporter for processors metrics, written in Go with pluggable metric collect>
Aug 21 05:58:45 ubuntu2204-98 process-exporter[650674]: 2025/08/21 05:58:45 Reading metrics from /proc based on "/usr/local/process-expor>
Aug 21 05:58:45 ubuntu2204-98 process-exporter[650674]: level=info ts=2025-08-21T05:58:45.689Z caller=tls_config.go:313 msg="Listening on>
Aug 21 05:58:45 ubuntu2204-98 process-exporter[650674]: level=info ts=2025-08-21T05:58:45.689Z caller=tls_config.go:316 msg="TLS is disab>

3.Prometheus添加监控模板

3.1 创建监控模板存放文件夹

这里我是以静态文件的方式来监控主机及主机进程

# 进入Prometheus 映射在主机上的目录,创建模板存放文件夹
root@ubuntu2204-98:/usr/local/prometheus_monitor/prometheus# cd /usr/local/prometheus_monitor/prometheus
# node_monitor存放主机静态文件 process_exporter存放主机进程静态文件
root@ubuntu2204-98:/usr/local/prometheus_monitor/prometheus# mkdir node_monitor process_exporter

# 配置node-exporter
root@ubuntu2204-98:/usr/local/prometheus_monitor/prometheus# vi node_monitor/nodes-linux.yaml
- targets:
  - 192.168.1.98:9100 # 如果有多台主机只需要添加IP+端口即可
  labels:
    job: ServNode
# 配置process_exporter
root@ubuntu2204-98:/usr/local/prometheus_monitor/prometheus# vi process_exporter/process-exporter.yaml
- targets:
  - 192.168.1.98:9256
  labels:
    job: ServProcess

3.2 修改Prometheus配置,接入静态配置文件

# 加到最下面就可以了
root@ubuntu2204-98:/usr/local/prometheus_monitor/prometheus# vi prometheus.yml

  - job_name: 'ServNode'
    static_configs:
    file_sd_configs:
    - files:
      - /etc/prometheus/node_monitor/nodes-linux.yaml
  - job_name: 'ServProcess'
    static_configs:
    file_sd_configs:
    - files:
      - /etc/prometheus/process_exporter/process-exporter.yaml

4.添加监控模板

4.1 主机模板 16098




4.2 主机进程模板 13882





# 在容器中安装插件
# 查看容器ID
root@ubuntu2204-98:/usr/local/prometheus_monitor/grafana/grafana-data/plugins# docker ps |grep grafana
c99ca7bf376b grafana/grafana "/run.sh" About an hour ago Up About an hour 0.0.0.0:9222->3000/tcp, [::]:9222->3000/tcp grafana
# 进入容器
root@ubuntu2204-98:/usr/local/prometheus_monitor/grafana/grafana-data/plugins# docker exec -it c99ca7bf376b /bin/bash
# 执行安装
grafana:/usr/share/grafana$ grafana-cli plugins install marcusolsson-treemap-panel


今日打完收工,下次更新Mysql,redis,kafka监控

最近发表
标签列表