Linux机器上Node Exporter启动失败问题求助
Node Exporter启动失败排查与解决
问题重现
在Linux机器上安装Node Exporter后,执行以下命令启动服务时失败:
sudo systemctl daemon-reload sudo systemctl start node_exporter sudo systemctl status node_exporter
服务状态信息如下:
node_exporter.service - Node Exporter Loaded: loaded (/etc/systemd/system/node_exporter.service; disabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2022-10-06 06:39:16 UTC; 7s ago Process: 1071861 ExecStart=/usr/local/bin/node_exporter (code=exited, status=1/FAILURE) Main PID: 1071861 (code=exited, status=1/FAILURE) Oct 06 06:39:16 dse-ci-test1 node_exporter[1071861]: time="2022-10-06T06:39:16Z" level=info msg=" - time" source="node_exp> Oct 06 06:39:16 dse-ci-test1 node_exporter[1071861]: time="2022-10-06T06:39:16Z" level=info msg=" - timex" source="node_ex> Oct 06 06:39:16 dse-ci-test1 node_exporter[1071861]: time="2022-10-06T06:39:16Z" level=info msg=" - uname" source="node_ex> Oct 06 06:39:16 dse-ci-test1 node_exporter[1071861]: time="2022-10-06T06:39:16Z" level=info msg=" - vmstat" source="node_e> Oct 06 06:39:16 dse-ci-test1 node_exporter[1071861]: time="2022-10-06T06:39:16Z" level=info msg=" - xfs" source="node_expo> Oct 06 06:39:16 dse-ci-test1 node_exporter[1071861]: time="2022-10-06T06:39:16Z" level=info msg=" - zfs" source="node_expo> Oct 06 06:39:16 dse-ci-test1 node_exporter[1071861]: time="2022-10-06T06:39:16Z" level=info msg="Listening on :9100" sourc> Oct 06 06:39:16 dse-ci-test1 node_exporter[1071861]: time="2022-10-06T06:39:16Z" level=fatal msg="listen tcp :9100: bind: address already in use" Oct 06 06:39:16 dse-ci-test1 systemd[1]: node_exporter.service: Main process exited, code=exited, status=1/FAILURE Oct 06 06:39:16 dse-ci-test1 systemd[1]: node_exporter.service: Failed with result 'exit-code'
问题原因
从日志的致命错误信息可知,Node Exporter启动时尝试监听默认端口9100失败,该端口已被其他进程占用,导致服务启动失败。
解决步骤
1. 定位占用9100端口的进程
执行以下命令之一查看端口占用情况:
# 使用lsof工具 sudo lsof -i :9100 # 使用ss工具 sudo ss -tulpn | grep :9100
2. 选择合适的解决方案
方案一:停止占用端口的进程
如果占用9100端口的进程无需运行,可直接终止该进程,然后重新启动Node Exporter:
# 替换<PID>为查到的进程ID sudo kill <PID> sudo systemctl start node_exporter
方案二:修改Node Exporter监听端口
若不想终止占用端口的进程,可修改Node Exporter的监听端口:
- 编辑systemd服务文件:
sudo nano /etc/systemd/system/node_exporter.service
- 在
ExecStart=/usr/local/bin/node_exporter行末尾添加端口参数,例如改为9101端口:
ExecStart=/usr/local/bin/node_exporter --web.listen-address=:9101
- 重新加载systemd配置并启动服务:
sudo systemctl daemon-reload sudo systemctl start node_exporter
内容的提问来源于stack exchange,提问作者Deepak Rohilla
相关产品推荐
相关产品推荐

