在Linux系统中,搭建进程监控系统可以帮助你实时监控进程状态,及时发现并处理异常情况。以下是几种常见的Linux进程监控系统及其搭建方法:
Prometheus + Grafana + Node Exporter
- 安装环境准备:
- 一台运行Linux的服务器(建议使用CentOS或Ubuntu)
- Docker
- Prometheus 和 Grafana
- Node Exporter
- 安装Prometheus:
- 从Prometheus官网获取最新版本。
- 编辑
prometheus.yml
配置文件,设置采集间隔和告警规则。 - 使用Docker运行Prometheus服务:
docker run -d -p 9090:9090 --name prometheus --restart on-failure -v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
- 安装Grafana:
- 使用Docker运行Grafana服务:
docker run -d --name=grafana -p 3000:3000 grafana/grafana
- 安装Node Exporter:
- 下载并解压Node Exporter:
cd /usr/local/src wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz tar -xvf node_exporter-1.6.1.linux-amd64.tar.gz mv /usr/local/src/node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/
- 创建并配置
node_exporter.service
文件:sudo vim /usr/lib/systemd/system/node_exporter.service
- 启动并启用Node Exporter服务:
systemctl daemon-reload systemctl enable node_exporter systemctl start node_exporter
- 配置Prometheus抓取Node Exporter数据:
- 编辑
prometheus.yml
文件,添加Node Exporter的监控配置:scrape_configs: - job_name: 'node' static_configs: - targets: ['localhost:9100']
- 访问监控界面:
- 启动后,访问
http://xx.xx.xx.xx:9090
和http://xx.xx.xx.xx:3000
,使用默认用户名/密码:admin/admin。
uptime-kuma
- 安装环境准备:
- 一台运行Linux的服务器
- Docker
- 配置Docker:
- 编辑
/etc/docker/daemon.json
文件,设置Docker的配置:{ "log-driver": "json-file", "log-opts": { "max-file": "3", "max-size": "500m" }, "data-root": "/data/docker", "bip": "10.112.0.1/24" }
- 重启Docker服务:
systemctl daemon-reload systemctl restart docker
- 拉取并运行uptime-kuma:
- 拉取uptime-kuma镜像:
docker pull ghcr.io/louislam/uptime-kuma:2.0.0-beta.1
- 创建并运行uptime-kuma容器:
mkdir /data/uptime-kuma chmod 777 /data/uptime-kuma docker run -d --restart=always -p 3001:3001 -v /data/uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2.0.0-beta.1
sampler
- 安装环境准备:
- 一台运行Linux的服务器
- Docker
- 安装sampler:
- 拉取sampler镜像:
docker pull ghcr.io/sqshq/sampler
- 创建并运行sampler容器:
docker run -d --name sampler ghcr.io/sqshq/sampler
- 配置sampler:
- 编写并配置sampler的yaml文件,指定要监控的内容。
其他常用工具
- top:实时显示系统中各个进程的资源占用情况。
- htop:top的增强版,提供更丰富的界面和交互功能。
- ps:列出系统中的进程信息,显示详细的进程列表。
- systemd:管理系统的服务和进程,设置进程的自动重启策略。
- Nagios:功能强大的网络监控工具,可以监控服务器、网络设备、应用程序等资源的性能和状态。
通过以上步骤,你可以在Linux服务器上搭建一个功能强大的进程监控系统,实现对进程状态的实时监控和管理。根据具体需求选择合适的工具和方法进行配置。