解决 N1 ARMBIAN Prometheus 服务启动失败问题

错误日志显示 prometheus.service 启动失败,核心原因是 WorkingDirectory 设置错误和服务文件语法错误。以下是详细解决方案:


检查并修复 WorkingDirectory

确保 WorkingDirectory 路径存在且正确。编辑服务文件:

bash 复制代码
sudo vi /etc/systemd/system/prometheus.service

检查 WorkingDirectory 路径是否与实际路径一致。例如:

ini 复制代码
WorkingDirectory=/sdb1/prometheus

创建目录并设置权限:

bash 复制代码
sudo mkdir -p /sdb1/prometheus
sudo chown -R prometheus:prometheus /sdb1/prometheus

修正服务文件语法

删除所有中文注释,并确保语法正确。示例配置:

ini 复制代码
[Unit]
Description=Prometheus Monitoring System
After=network.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/sdb1/prometheus/prometheus \
    --config.file=/sdb1/prometheus/prometheus.yml \
    --storage.tsdb.path=/sdb1/prometheus/data \
    --web.listen-address=0.0.0.0:9090 \
    --web.enable-lifecycle
Restart=on-failure
RestartSec=5
WorkingDirectory=/sdb1/prometheus

[Install]
WantedBy=multi-user.target

创建 Prometheus 用户

确保用户和组存在:

bash 复制代码
sudo useradd -rs /bin/false prometheus

设置目录权限

确保目录归属和权限正确:

bash 复制代码
sudo chown -R prometheus:prometheus /sdb1/prometheus
sudo chmod +x /sdb1/prometheus/prometheus
sudo mkdir -p /sdb1/prometheus/data
sudo chown prometheus:prometheus /sdb1/prometheus/data

重新加载并启动服务

重新加载配置并启动服务:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl start prometheus.service
sudo systemctl status prometheus.service

查看日志:

bash 复制代码
sudo journalctl -u prometheus.service --no-pager -n 50

验证服务状态

检查进程和端口:

bash 复制代码
ps aux | grep prometheus
ss -tulnp | grep 9090
curl -v http://localhost:9090

验证服务文件语法

使用 systemd-analyze 检查语法:

bash 复制代码
sudo systemd-analyze verify /etc/systemd/system/prometheus.service

问题总结

问题 解决方案
WorkingDirectory 错误 检查路径并设置权限
服务文件语法错误 删除中文注释,修正语法
用户权限问题 创建用户并设置目录归属

执行完上述步骤后,再次检查服务状态。如果问题仍然存在,提供最新的日志以进一步分析。

相关推荐
YumiProxy20 分钟前
代理IP自动切换避坑指南:会话保持、请求头与错误处理实战
网络·网络协议·tcp/ip·代理模式·ip
预立科技30 分钟前
CDN(内容分发网络)知识总结
网络·wpf·cdn
为思念酝酿的痛1 小时前
NAT技术--网络地址转换原理
网络·计算机网络·智能路由器
该逃避避2 小时前
出海广告跑不起来怎么办?动态住宅IP助力广告跑量
运维·服务器·网络
一条泥憨鱼2 小时前
【从0开始学习计算机网络】| ip协议-ttl-标识-分片偏移-ip分片与重组
运维·服务器·网络
不像程序员的程序媛11 小时前
检测网络的命令mtr详解
网络
天启HTTP11 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_11 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
hz5678913 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
优橙教育14 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php