Рейтинг:4

Influxdb постоянно перезагружается с момента моей последней перезагрузки

флаг kz

С момента моей последней перезагрузки каждые 1-2 минуты я вижу следующее:

02 августа, 13:53:00 монитор systemd[1]: influxdb.service: время ожидания начала операции истекло. Прекращение.
02 августа, 13:53:00 монитор systemd[1]: influxdb.service: Ошибка с результатом «тайм-аут».
02 августа, 13:53:00 монитор systemd[1]: не удалось запустить InfluxDB — это распределенная база данных временных рядов с открытым исходным кодом.
02 августа, 13:53:00, монитор systemd[1]: influxdb.service: запланированное задание перезапуска, счетчик перезапусков равен 4.
02 августа, 13:53:00 монитор systemd[1]: Stopped InfluxDB — это распределенная база данных временных рядов с открытым исходным кодом.
02 августа 13:53:00 монитор systemd[1]: Запуск InfluxDB — это распределенная база данных временных рядов с открытым исходным кодом...
02 августа, 13:53:00 монитор influxd-systemd-start.sh[3539]: слияние с конфигурацией в: /etc/influxdb/influxdb.conf

29.07.2021 приток обновлен с 1.8.6-1 к 1.8.7-1. ОС - сервер Ubuntu 20.04. После первой перезагрузки начались проблемы.
Изначально была проблема с правами /usr/lib/influxdb/scripts/influxd-systemd-start.sh, что помешало его запуску. Я изменил права доступа на 0755, и он запустился, но продолжает перезапускаться. Кажется, что он принимает соединения и данные между перезагрузками, так как телеграф все еще заполняет базу данных, а Grafana может отображать статистику, если это не совпадает с перезагрузкой.

Я также вижу сообщение

influxd-systemd-start.sh[12171]: [tcp] 02.08.2021 14:21:40 tcp.Mux: прослушиватель на 127.0.0.1:8088 не смог принять соединение, закрытие всех прослушивателей

Он прослушивает эти порты

root@monitor$ ss -ilpn | приток grep
TCP LISTEN 0 4096 127.0.0.1:8088 0.0.0.0:* пользователи:(("influxd",pid=15115,fd=3))
tcp LISTEN 0 4096 *:8086 *:* пользователи:(("influxd",pid=15115,fd=32))

Насколько я знаю, конфигурация не менялась. Нет активных правил брандмауэра.

Кто-нибудь знает, почему он начал плохо себя вести?

digijay avatar
флаг mx
Может быть, вы получаете подсказку, когда выполняете `sudo service influxdb status`?
SlyOne avatar
флаг kz
Похоже, что он постоянно пытается запуститься, но не определяет факт запуска. Статус systemctl influxdb показывает, активируется он или нет, несмотря на то, что он работает, получает и обслуживает данные между автоматическими перезапусками.
Рейтинг:3
флаг cf

Это ошибка, появившаяся в Influxdb v1.8.7. Проблема с гитхабом.

Есть множество способов исправить это, ваше решение являющийся одним из способов. В нашем случае для запуска Influx потребовалось немного больше времени, чем 10-секундное окно, разрешенное сценарием запуска, поэтому я просто изменил строку спать 1 в файле /usr/lib/influxdb/scripts/influxd-systemd-start.sh к спать 2 чтобы дать Influx больше времени для запуска.

Рейтинг:3
флаг kz

Это выглядит как /usr/lib/influxdb/scripts/influxd-systemd-start.sh пытается проверить здоровье:

 в то время как [ "$ результат"! = "200" ]; делать
   спать 1
   результат=$(curl -s -o /dev/null http://$HOST:$PORT/health -w %{http_code})
 сделано

это терпит неудачу. С даты файла начальная оболочка была создана только 21 июля, поэтому похоже, что проверка запуска новая.

Если я попытаюсь вручную, я получу:

root@monitor$ curl https://127.0.0.1:8088/здоровье
curl: (35) OpenSSL SSL_connect: сброс соединения одноранговым узлом при подключении к 127.0.0.1:8088 

Это не удается по нескольким причинам.

  1. Поскольку я настроил TLS, он должен быть https
  2. Поскольку я явно не определил порт привязки, поскольку я использую порт по умолчанию, сценарий получает неправильный порт.
  3. поскольку TLS включен, ему требуется полное доменное имя, а не локальный хост, иначе проверка сертификата завершится неудачно.
  4. разрешения также были неправильными в сценарии запуска по умолчанию

Чтобы решить эту проблему, я отредактировал /lib/systemd/система/influxdb.service файл и

  1. измените Type=forking на Type=simple
  2. измените ExecStart на: ExecStart=/usr/bin/influxd -config /etc/influxdb/influxdb.conf --pidfile /var/lib/influxdb/influxd.pid $INFLUXD_OPTS
Ginnungagap avatar
флаг gu
FFS, пожалуйста, прекратите предлагать редактирование файлов в /lib, `systemctl edit influxdb.service` позволит вам точно так же переопределить настройки, не будет связываться с файлами, управляемыми менеджером пакетов, и переживет обновления. Нет ни одной уважительной причины для редактирования файлов в /lib.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.