마지막 재부팅 이후 1~2분마다 다음이 표시됩니다.
Aug 02 13:53:00 monitor systemd[1]: influxdb.service: start operation timed out. Terminating.
Aug 02 13:53:00 monitor systemd[1]: influxdb.service: Failed with result 'timeout'.
Aug 02 13:53:00 monitor systemd[1]: Failed to start InfluxDB is an open-source, distributed, time series database.
Aug 02 13:53:00 monitor systemd[1]: influxdb.service: Scheduled restart job, restart counter is at 4.
Aug 02 13:53:00 monitor systemd[1]: Stopped InfluxDB is an open-source, distributed, time series database.
Aug 02 13:53:00 monitor systemd[1]: Starting InfluxDB is an open-source, distributed, time series database...
Aug 02 13:53:00 monitor influxd-systemd-start.sh[3539]: Merging with configuration at: /etc/influxdb/influxdb.conf
2021년 7월 29일 유입이 다음에서 업데이트되었습니다.1.8.6-1에게1.8.7-1. OS는 Ubuntu 20.04 서버입니다. 이후 첫 번째 재부팅은 문제가 시작된 때입니다.
처음에는 에 권한 문제가 있어서 /usr/lib/influxdb/scripts/influxd-systemd-start.sh
시작할 수 없었습니다. 퍼머를 0755로 변경하고 시작했는데 계속 다시 시작되네요. telegraf가 여전히 데이터베이스를 채우고 있고 Grafana가 다시 시작과 일치하지 않는 한 통계를 표시할 수 있으므로 다시 시작 사이의 연결과 데이터를 허용하는 것 같습니다.
저도 메시지 보고 있어요
influxd-systemd-start.sh[12171]: [tcp] 2021/08/02 14:21:40 tcp.Mux: Listener at 127.0.0.1:8088 failed failed to accept a connection, closing all listeners
해당 포트에서 수신 대기 중입니다.
root@monitor$ ss -ilpn | grep influx
tcp LISTEN 0 4096 127.0.0.1:8088 0.0.0.0:* users:(("influxd",pid=15115,fd=3))
tcp LISTEN 0 4096 *:8086 *:* users:(("influxd",pid=15115,fd=32))
내가 아는 한 구성이 변경되지 않았습니다. 활성화된 방화벽 규칙이 없습니다.
왜 오작동하기 시작했는지 아는 사람이 있나요?
답변1
/usr/lib/influxdb/scripts/influxd-systemd-start.sh
상태 확인을 수행하려는 것 같습니다 .
while [ "$result" != "200" ]; do
sleep 1
result=$(curl -s -o /dev/null http://$HOST:$PORT/health -w %{http_code})
done
이것은 실패하고 있습니다. 파일 날짜로 볼 때 시작 래퍼는 7월 21일에만 생성되었으므로 시작 확인이 새로운 것으로 보입니다.
수동으로 시도하면 다음과 같은 결과를 얻습니다.
root@monitor$ curl https://127.0.0.1:8088/health
curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to 127.0.0.1:8088
여러 가지 이유로 실패합니다.
- TLS를 구성했으므로 https여야 합니다.
- 바인딩 포트를 명시적으로 정의하지 않았고 기본값을 사용하고 있기 때문에 스크립트가 잘못된 포트를 가져옵니다.
- TLS가 활성화되어 있으므로 localhost가 아닌 FQDN이 필요합니다. 그렇지 않으면 인증서 유효성 검사가 실패합니다.
- 기본 시작 스크립트에서도 권한이 잘못되었습니다.
이를 해결하기 위해 파일을 편집 /lib/systemd/system/influxdb.service
했고
- 유형=포킹을 유형=단순으로 변경
- ExecStart를 다음으로 변경합니다.
ExecStart=/usr/bin/influxd -config /etc/influxdb/influxdb.conf --pidfile /var/lib/influxdb/influxd.pid $INFLUXD_OPTS