Bug 28038 - collectd: Необходимо обеспечить совместимость службы с systemd
: collectd: Необходимо обеспечить совместимость службы с systemd
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/collectd)
: unstable
: all Linux
: P3 normal
Assigned To:
:
: http://www.altlinux.org/Systemd_Statu...
:
:
: 28008 30879
  Show dependency tree
 
Reported: 2012-11-21 15:36 by
Modified: 2015-03-30 12:25 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2012-11-21 15:36:26
Необходимо обеспечить совместимость службы с systemd
Подготовить корректный unit-файл.

Подробности по ссылке: http://www.altlinux.org/Systemd_Status_P7
------- Comment #1 From 2012-11-21 17:04:19 -------
Или кто другой, или после EFI и прочего более важного.
systemd неинтересен.
------- Comment #2 From 2014-09-16 21:34:58 -------
unit-файл collectd.service уже есть в исходниках, в contrib/
Его надо только упаковать в
%_unitdir/collectd.service

И  еще в collectd.init не соответствуют:
# config: /etc/default/collectd
# pidfile: /var/run/collectd.pid
и
PIDFILE=/var/run/collectdmon.pid
если запускать с помощью systemd, то это критично.

еще бы хорошо добавить LSB заголовок
### BEGIN INIT INFO
# Provides:                     collectd
# Required-Start:               $local_fs $network 
# Required-Stop:                $local_fs $network
# Default-Start:                3 4 5
# Default-Stop:                 0 1 2 6
# Short-Description:            Statistics daemon collectd
# Description:                  Start the statistics daemon collectd
### END INIT INFO
------- Comment #3 From 2014-09-16 22:03:37 -------
странно, почему баг на nobody?
------- Comment #4 From 2015-01-13 15:37:09 -------
Надо обсудить: сейчас в init-скрипте запускается collectdmon, который следит
(достаточно неудачно) за процессом collectd.
Предлагаю от него избавиться, и запускать сразу процесс collectd.
С задачей перезапуска справится systemd. А для скриптов systemV можно дописать
правило для monit.
------- Comment #5 From 2015-01-13 15:51:29 -------
Я правильно понимаю, что unit-файл избавляет от необходимости использовать
init-скрипт, и там можно сделать без collectdmon ? Если да, надо так делать, а
по поводу избавления от collectdmon в sysvinit завети отдельный баг и там
обсудить.
------- Comment #6 From 2015-01-13 16:36:24 -------
(В ответ на комментарий №5)
> Я правильно понимаю, что unit-файл избавляет от необходимости использовать
> init-скрипт, и там можно сделать без collectdmon ?
Там-то явно избыточно.

> Если да, надо так делать, а по поводу избавления от collectdmon в sysvinit
> завети отдельный баг и там обсудить.
Если не изменяет склероз, то изначально collectd я паковал без использования
collectdmon и достаточно вернуться к этому.

(В ответ на комментарий №4)
> А для скриптов systemV можно дописать правило для monit.
Собственно, можно его сразу и паковать, добавив зависимость на monit-base (что
не приведёт к установке самого monit, но в случае установки сделает
конфигурирование максимально быстрым).  Второй вариант -- добавить в примеры из
комплекта monit.

Вот это точно отдельный баг (FR), над которым думаю со времён Server 4.0 и
никак не решусь махнуть шашкой.
------- Comment #7 From 2015-01-13 16:41:53 -------
не надо ещё monit тащить. Можно для systemd запаковать правильный сервис-файл,
а под initscript гораздо удобнее запускать под collectdmon.

Я его втащил, т.к. столкнулся с падениями collectd и лучше без дополнительных
зависимостей.
------- Comment #8 From 2015-01-13 18:43:59 -------
(В ответ на комментарий №7)
> Я его втащил, т.к. столкнулся с падениями collectd и лучше без дополнительных
> зависимостей.
Спасибо, но сейчас у нас
а) collectd жутко течёт
б) не прибивается через /etc/init.d/collecd stop (порождённый процесс collectd
-f не завершается)
в) когда каждая программа начинает сама следить за собой, да ещё и неумело,
получается ужасный зоопарк.

Я уже понял, что сбежать получится только в systemd. Как бы ни хотелось.
------- Comment #9 From 2015-01-13 18:45:19 -------
Виталь, а где у тебя collectd жутко течёт ?

У меня collectd из Sisyphus работает месяцами без проблем.
Может быть, для начала - обновим его, потом апстрим попинаем на предмет утечек
?
------- Comment #10 From 2015-01-13 19:38:58 -------
(В ответ на комментарий №8)
> Я уже понял, что сбежать получится только в systemd. Как бы ни хотелось.
Ну, такой подход гарантирует только дальнейшее понижение качества софта.
Не приемлю.
------- Comment #11 From 2015-01-13 21:32:59 -------
Для повышения качества софта надо найти исправить в нём ошибки.

Но у меня оно не воспроизводится, а у вас ?
------- Comment #12 From 2015-01-14 14:39:27 -------
(В ответ на комментарий №9)
> Виталь, а где у тебя collectd жутко течёт ?
> 
> У меня collectd из Sisyphus работает месяцами без проблем.
> Может быть, для начала - обновим его, потом апстрим попинаем на предмет утечек
Если можно обновить в p7 до Сизифного — отлично. Если надо, можно сделать task,
я готов потестировать перед тем, как его примут в p7.

Путём исключения выяснили, что нужен настроенный
LoadPlugin mysql
чтобы началась утечка. Возможно, его просто никто не использует :)
------- Comment #13 From 2015-01-14 15:07:21 -------
Для серьёзных задач (где MySQL) есть Zabbix.
------- Comment #14 From 2015-01-14 15:56:24 -------
(В ответ на комментарий №12)
> (В ответ на комментарий №9)
> > Виталь, а где у тебя collectd жутко течёт ?
> > 
> > У меня collectd из Sisyphus работает месяцами без проблем.
> > Может быть, для начала - обновим его, потом апстрим попинаем на предмет утечек
> Если можно обновить в p7 до Сизифного — отлично. Если надо, можно сделать task,
> я готов потестировать перед тем, как его примут в p7.
Сделай, пожалуйста.
------- Comment #15 From 2015-01-14 19:56:29 -------
(В ответ на комментарий №14)
> (В ответ на комментарий №12)
> > (В ответ на комментарий №9)
> > > Виталь, а где у тебя collectd жутко течёт ?
...
> > я готов потестировать перед тем, как его примут в p7.
> Сделай, пожалуйста.
Собрал под p7, проверил, течь перестало:
[#138515] p7 EPERM collectd.git=5.4.1-alt1.M70P.2.1
Думаю, аппрувить пока не надо, подождём добавления .service для systemd в сбоку
для Сизифа?
------- Comment #16 From 2015-01-15 13:35:41 -------
(В ответ на комментарий №13)
> Для серьёзных задач (где MySQL) есть Zabbix.
Он умеет мониторить mysql, а не складывать в него? :)
------- Comment #17 From 2015-01-15 13:36:40 -------
https://collectd.org/wiki/index.php/Plugin:MySQL
------- Comment #18 From 2015-01-16 10:26:28 -------
(In reply to comment #12)

> Путём исключения выяснили, что нужен настроенный
> LoadPlugin mysql
> чтобы началась утечка.

Не только. Я смотрел 5.4.1 в прошлом году, вот тут кое-что написано:
http://lists.altlinux.org/pipermail/sysadmins/2014-June/036828.html

В итоге, я откатился на 5.2.1 после того эксперимента. Сейчас попробую
обновиться из задания 138515.
------- Comment #19 From 2015-01-16 10:32:26 -------
(In reply to comment #18)

> Не только. Я смотрел 5.4.1 в прошлом году, вот тут кое-что написано:
> http://lists.altlinux.org/pipermail/sysadmins/2014-June/036828.html

непосредственно про "течёт" в следующем месяце:
http://lists.altlinux.org/pipermail/sysadmins/2014-July/036835.html
В моей конфигурации много собирается по snmp.
------- Comment #20 From 2015-01-21 08:46:42 -------
(In reply to comment #15)

> Собрал под p7, проверил, течь перестало:
> [#138515] p7 EPERM collectd.git=5.4.1-alt1.M70P.2.1

Течёт:

Mon Jan 19 15:35:03 SAMT 2015:
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
19356 root      20   0 3756588 114736   5404 S 5,319 0,620   3:29.69 collectd

Tue Jan 20 09:34:59 SAMT 2015:
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
19356 root      20   0 3756880 712384   5404 S 2.992 3.851 125:34.02 collectd

Wed Jan 21 09:36:57 SAMT 2015:
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
19356 root      20   0 3756588 1.437g   5436 S 8.976 8.144 291:34.52 collectd

Используемые у меня плагины:

LoadPlugin syslog
LoadPlugin cpu
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin network
LoadPlugin rrdtool
LoadPlugin sensors
LoadPlugin snmp
LoadPlugin match_regex
LoadPlugin match_value
LoadPlugin match_timediff
LoadPlugin target_notification
LoadPlugin target_replace
LoadPlugin target_set

5.2.1 не течёт в таком же режиме работы.
------- Comment #21 From 2015-01-21 12:54:08 -------
(В ответ на комментарий №20)
...
> Течёт:
Я был не прав, начав обсуждать проблемы collectd в этой баге. Давайте про
«течёт» заведём тогда отдельную багу, и в ней исследовать, какой именно плагин
течёт...
------- Comment #22 From 2015-01-22 09:32:16 -------
(In reply to comment #21)

> Давайте про «течёт» заведём тогда отдельную багу

bug #30668
------- Comment #23 From 2015-01-26 18:34:45 -------
Да, Zabbix'ом можно мониторить MySQL И всё что хочется.
http://wiki.enchtex.info/howto/zabbix/advanced_mysql_monitoring

Что касается утечек - Виталь, опиши плз, воспроизводится ли у тебя проблема с
утечкой ?

Что касается  collectd поддержки systemd - скоро будет.
------- Comment #24 From 2015-01-26 19:09:38 -------
(В ответ на комментарий №23)
...
> Что касается утечек - Виталь, опиши плз, воспроизводится ли у тебя проблема с
> утечкой ?
После обновление до сизифной 5.4.1 у меня проблема ушла.
------- Comment #25 From 2015-01-26 20:29:03 -------
И перезапускается нормально ?
------- Comment #26 From 2015-01-26 21:32:32 -------
(В ответ на комментарий №25)
> И перезапускается нормально ?
Да
------- Comment #27 From 2015-01-27 14:59:17 -------
collectd-5.4.1-alt3 -> sisyphus:

* Mon Jan 26 2015 Anton Farygin <rider@altlinux> 5.4.1-alt3
- add unit file for systemd (closes: #28038)