You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不使用systemctl启停Prometheus Server/AlertManager并实现后台持续运行

无需systemctl启停Prometheus、AlertManager并后台持续运行的可行方案

以下是几种不同场景下的可行方案,所有操作均无需依赖systemctl:

方法1:nohup + 后台符号(最简原生方案)

无需额外安装任何工具,适合临时测试、快速部署场景。

  • 启动Prometheus:
    nohup ./prometheus --config.file=prometheus.yml --web.listen-address=:9090 > prometheus.log 2>&1 &
    命令说明:nohup会忽略终端挂断信号,&将进程放入后台运行,所有运行日志会输出到prometheus.log文件中,启动后返回的数字为进程PID。
  • 启动AlertManager:
    nohup ./alertmanager --config.file=alertmanager.yml > alertmanager.log 2>&1 &
  • 停止服务:
  1. 查找对应进程PID:ps -ef | grep prometheus / ps -ef | grep alertmanager
  2. 终止进程:kill <对应PID>,进程无响应时可使用kill -9 <对应PID>强制终止
    注意:该方案不支持开机自启、异常自动拉起,服务器重启后需要手动重新启动服务

方法2:screen/tmux终端复用(支持随时切回前台查看运行输出)

适合需要频繁查看服务实时输出、调试配置的场景,进程退出终端后仍会持续运行。

screen操作示例:

  1. 安装screen:Debian/Ubuntu执行apt install screen,CentOS/RHEL执行yum install screen
  2. 新建Prometheus专属会话:screen -S prometheus
  3. 进入会话后正常执行启动命令:./prometheus --config.file=prometheus.yml
  4. 按Ctrl+A+D快捷键退出会话,进程将在后台持续运行
  5. 回到会话查看日志/操作:screen -r prometheus
  6. 停止服务:进入会话按Ctrl+C终止进程,或直接删除会话screen -S prometheus -X quit

tmux操作与screen逻辑一致,仅命令和快捷键不同:

新建会话命令:tmux new -s prometheus,退出会话快捷键为Ctrl+B+D,重回会话命令为tmux a -t prometheus

方法3:supervisor进程管理(生产环境推荐)

轻量级进程管理工具,支持开机自启、异常自动重启、日志自动切割,配置灵活,普通用户也可配置用户级服务。

  1. 安装supervisor:Debian/Ubuntu执行apt install supervisor,CentOS/RHEL执行yum install supervisor
  2. 新建Prometheus配置文件/etc/supervisor/conf.d/prometheus.conf,参考内容:

[program:prometheus]
command=/你的二进制文件路径/prometheus --config.file=/你的配置文件路径/prometheus.yml
user=运行服务的用户名
autostart=true
autorestart=true
stderr_logfile=/var/log/prometheus.err.log
stdout_logfile=/var/log/prometheus.out.log

  1. 新建AlertManager配置文件/etc/supervisor/conf.d/alertmanager.conf,参考内容:

[program:alertmanager]
command=/你的二进制文件路径/alertmanager --config.file=/你的配置文件路径/alertmanager.yml
user=运行服务的用户名
autostart=true
autorestart=true
stderr_logfile=/var/log/alertmanager.err.log
stdout_logfile=/var/log/alertmanager.out.log

  1. 重载配置使服务生效:supervisorctl update
  • 常用启停命令:
    启动服务:supervisorctl start prometheus alertmanager
    停止服务:supervisorctl stop prometheus alertmanager
    重启服务:supervisorctl restart prometheus alertmanager
    查看服务运行状态:supervisorctl status

方法4:Docker容器运行(无需配置运行环境)

已安装Docker环境的场景下最省心的方案,所有依赖官方镜像已打包,直接启动即可。

  • 启动Prometheus:
    docker run -d --name prometheus -p 9090:9090 -v /你的配置路径/prometheus.yml:/etc/prometheus/prometheus.yml --restart=always prom/prometheus
  • 启动AlertManager:
    docker run -d --name alertmanager -p 9093:9093 -v /你的配置路径/alertmanager.yml:/etc/alertmanager/alertmanager.yml --restart=always prom/alertmanager
    参数说明:--restart=always表示容器异常退出、服务器重启时会自动拉起服务。
  • 常用启停命令:
    停止服务:docker stop prometheus alertmanager
    启动服务:docker start prometheus alertmanager
    重启服务:docker restart prometheus alertmanager

内容的提问来源于stack exchange,提问作者redred1114

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:15:02