[ Grafana ] status fail 오류 해결
요약 : 로그 상으로는 `-quiet`를 지우면 문제가 해결되어야 하는데 해결X
ubuntu 운영체제상의 문제인가 싶어 ubuntu server 20.04 -> 22.04로 업데이트 한 후 문제 해결되었으나 문제해결의 원인인지는 확실하게 알 수 없었음
# 이전에 실행 중인 프로세스 종료
pkill -f "node_exporter-1.2.2.linux-amd64/node_exporter"
pkill -f "prometheus-2.31.1.linux-amd64/prometheus"
# 새로운 프로세스를 백그라운드에서 실행
nohup ./node_exporter-1.2.2.linux-amd64/node_exporter > node_ex.log 2>&1 &
nohup ./prometheus-2.31.1.linux-amd64/prometheus --config.file=prometheus.yml > prometheus.log 2>&1 &
ubuntu@a-public:~$ sudo systemctl status grafana-server
● grafana-server.service - Grafana instance
Loaded: loaded (/etc/systemd/system/grafana-server.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2024-08-09 09:59:07 KST; 2s ago
Docs: http://docs.grafana.org
Process: 5372 ExecStart=/usr/sbin/grafana-server --config=${CONF_FILE} --pidfile=${PID_FILE_DIR}/grafana-server.pid>
Main PID: 5372 (code=exited, status=1/FAILURE)
Aug 09 09:59:07 a-public systemd[1]: grafana-server.service: Main process exited, code=exited, status=1/FAILURE
Aug 09 09:59:07 a-public systemd[1]: grafana-server.service: Failed with result 'exit-code'.
Aug 09 09:59:07 a-public systemd[1]: grafana-server.service: Scheduled restart job, restart counter is at 5.
Aug 09 09:59:07 a-public systemd[1]: Stopped Grafana instance.
Aug 09 09:59:07 a-public systemd[1]: grafana-server.service: Start request repeated too quickly.
Aug 09 09:59:07 a-public systemd[1]: grafana-server.service: Failed with result 'exit-code'.
Aug 09 09:59:07 a-public systemd[1]: Failed to start Grafana instance.
요약 : 구성 파일 오류, 권한 문제, 포트 충돌 등으로 문제 발생, 시스템이 여러번 Grafana 서비스를 재시작하려 했으나, 문제가 지속적으로 발생하여 일정 시간 내에 여러 번 실패했음을 나타냄.
# Grafana 상태 확인
sudo systemctl status grafana-server
# Grafana 재실행
sudo systemctl restart grafana-server
재설치해도 grafana status가 계속 faild가 떠서, 이유를 분석해보았다
로그를 확인해보면 Main process exited ~ `status=1/FAILURE`를 확인할 수 있는데, 이는 구성 파일에 오류가 있거나 권한 문제, 포트 충돌 등으로 인해 발생할 수 있다고 한다.
sudo journalctl -u grafana-server -b
위 명령어를 이용하면 더 자세한 로그를 확인할 수 있다.
아래 로그 내용을 살펴보면 `grafana-server`가 시작될 때 `-quiet`라는 플래그가 제공되었지만, 해당 플래그가 `grafana-server`에서 지원되지 않음을 의미한다고 한다.
= `-quiet` 옵션이 잘못된 옵션으로 사용되었기 때문에 발생한 문제
`grafana-server`를 시작할 때 사용된 `systemd`서비스 파일이나 스크립트에 `-quiet`플래그가 잘못 포함되어 해당 플래그를 이해하지 못하고 오류를 발생시켰다는 것 같다.
해결 방법 : 서비스 파일 수정
[Unit]
Description=Grafana instance
Documentation=http://docs.grafana.org
Wants=network-online.target
After=network-online.target
[Service]
EnvironmentFile=/etc/default/grafana-server
User=grafana
Group=grafana
Type=simple
ExecStart=/usr/sbin/grafana-server --config=${CONF_FILE} --pidfile=${PID_FILE_DIR}/grafana-server.pid --packaging=deb --quiet
Restart=always
WorkingDirectory=/usr/share/grafana
[Install]
WantedBy=multi-user.target
`/etc/systemd/system/grafana-server.service` 파일을 열어서 `ExecStart`라인에서 `-quiet`플래그가 사용되고 있는지 확인, 해당 플래그를 제거해주었다.
이후 `systemd`가 변경된 서비스 파일을 인식하도록 다시 로드해주고 : `sudo systemctl daemon-reload`
Grafana 서비스를 재시작해주면 된다 : `sudo systemctl restart grafana-server`
로그 내용 (더보기)
ubuntu@a-public:~$ sudo journalctl -u grafana-server -b
-- Logs begin at Tue 2024-08-06 09:25:42 KST, end at Fri 2024-08-09 10:11:46 KST. --
Aug 09 09:06:06 a-public systemd[1]: Started Grafana instance.
Aug 09 09:06:10 a-public grafana-server[594]: Incorrect Usage: flag provided but not defined: -quiet
Aug 09 09:06:10 a-public grafana-server[594]: NAME:
Aug 09 09:06:10 a-public grafana-server[594]: grafana server - run the grafana server
Aug 09 09:06:10 a-public grafana-server[594]: USAGE:
Aug 09 09:06:10 a-public grafana-server[594]: grafana server command [command options]
Aug 09 09:06:10 a-public grafana-server[594]: COMMANDS:
Aug 09 09:06:10 a-public grafana-server[594]: target target specific grafana dskit services
Aug 09 09:06:10 a-public grafana-server[594]: help, h Shows a list of commands or help for one command
Aug 09 09:06:10 a-public grafana-server[594]: OPTIONS:
Aug 09 09:06:10 a-public grafana-server[594]: --config value Path to config file
Aug 09 09:06:10 a-public grafana-server[594]: --homepath value Path to Grafana install/home path, defaults t>
Aug 09 09:06:10 a-public grafana-server[594]: --pidfile value Path to Grafana pid file
Aug 09 09:06:10 a-public grafana-server[594]: --packaging value describes the way Grafana was installed (defa>
Aug 09 09:06:10 a-public grafana-server[594]: --configOverrides value Configuration options to override defaults as>
Aug 09 09:06:10 a-public grafana-server[594]: --version, -v print the version
Aug 09 09:06:10 a-public grafana-server[594]: --vv prints current version, all dependencies and >
Aug 09 09:06:10 a-public grafana-server[594]: --profile Turn on pprof profiling (default: false)
Aug 09 09:06:10 a-public grafana-server[594]: --profile-addr value Define custom address for profiling (default:>
Aug 09 09:06:10 a-public grafana-server[594]: --profile-port value Define custom port for profiling (default: 60>
Aug 09 09:06:10 a-public grafana-server[594]: --tracing Turn on tracing (default: false)
Aug 09 09:06:10 a-public grafana-server[594]: --tracing-file value Define tracing output file (default: "trace.o>
Aug 09 09:06:10 a-public grafana-server[594]: --help, -h show help
Aug 09 09:06:10 a-public grafana-server[594]: Error: ✗ flag provided but not defined: -quiet
Aug 09 09:06:10 a-public systemd[1]: grafana-server.service: Main process exited, code=exited, status=1/FAILURE
Aug 09 09:06:10 a-public systemd[1]: grafana-server.service: Failed with result 'exit-code'.
Aug 09 09:06:10 a-public systemd[1]: grafana-server.service: Scheduled restart job, restart counter is at 1.
Aug 09 09:06:10 a-public systemd[1]: Stopped Grafana instance.