Trên máy chủ CentOS 7, tôi đang tạo một dịch vụ systemd mới từ đầu cho một dịch vụ mới, prometheus-slurm-exporter. (Đó là một ứng dụng xuất dữ liệu từ bộ lập lịch SLURM trên một cụm HPC.) Theo mặc định, nó sử dụng Cổng 8080, nhưng vì cổng đó đã được một dịch vụ khác sử dụng nên tôi đã đặt cổng đó sử dụng Cổng 9090 để thay thế. Chạy từ dòng lệnh, lệnh trông như thế này:
/opt/prometheus-slurm-exporter/bin/prometheus-slurm-exporter --listen-address="0.0.0.0:9090"
Nó chạy tốt từ dòng lệnh, nhưng tôi muốn tạo một dịch vụ systemd từ nó, vì vậy tôi đã tạo tệp sau, /etc/systemd/system/prometheus-slurm-exporter.service:
[Đơn vị]
Description=SLURM Prometheus Exporter cho Grafana
Sau=mạng.đích syslog.đích
[Dịch vụ]
ExecStart=/opt/prometheus-slurm-exporter/bin/prometheus-slurm-exporter --listen-address="0.0.0.0:9090"
[Cài đặt]
WantedBy=multi-user.target
Sau khi chạy systemctl daemon-tải lại
theo dõi bởi systemctl bắt đầu prometheus-slurm-exporter
, dịch vụ bị lỗi, báo cáo cổng không xác định:
Ngày 30 tháng 9 12:21:14 ada prometheus-slurm-exporter: time="2021-09-30T12:21:14-04:00" level=info msg="Máy chủ đang khởi động: \"0.0.0.0:9090\"" nguồn="main.go:59"
Ngày 30 tháng 9 12:21:14 ada prometheus-slurm-exporter: time="2021-09-30T12:21:14-04:00" level=fatal msg="nghe tcp: địa chỉ tcp/9090\": cổng không xác định" nguồn="main.go:62"
Ngày 30 tháng 9 12:21:14 ada systemd: prometheus-slurm-exporter.service: quá trình chính đã thoát, mã=đã thoát, trạng thái=1/THẤT BẠI
Ngày 30 tháng 9 12:21:14 ada systemd: Đơn vị prometheus-slurm-exporter.service vào trạng thái không thành công.
Ngày 30 tháng 9 12:21:14 ada systemd: prometheus-slurm-exporter.service không thành công.
Tại sao nó chạy từ dòng lệnh mà không phải dưới dạng dịch vụ systemd và tại sao systemd không thể nhận ra Cổng 9090?