ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Michael Shigorin <mike@osdn.org.ua>
To: devel@lists.altlinux.org
Subject: [devel] RFC/BINH: monit support in server packages
Date: Sun, 7 Jun 2009 18:14:27 +0300
Message-ID: <20090607151427.GE25744@osdn.org.ua> (raw)
In-Reply-To: <20090606195856.GA17924@granary.armor.altlinux.org>

On Sat, Jun 06, 2009 at 07:58:56PM +0000, QA Team Robot wrote:
> monit - Process monitor and restart utility
> * Fri Jun 05 2009 Michael Shigorin <mike@altlinux> 5.0.3-alt2
[...]
> - call for server packagers: http://www.altlinux.org/Monit
> * Fri May 29 2009 Michael Shigorin <mike@altlinux> 5.0.3-alt1

Серьёзно: раз уж Server 5.0 откладывается, давайте хоть сделаем
его по возможности более удобным для работы "из коробки".
Нижеприведённые соображения предлагаются к обсуждению,
после которого надеюсь добавить их к вышеупомянутой страничке
на вики.


Известные "за":
- monit действительно мониторит сервисы;
- при необходимости можно определять зависимости между ними;
- кто как, а я обычно стараюсь на новоподнятом сервере/контейнере
  сразу (и по мере добавления) засовывать всё, что должно
  работать, под monit.

Известные "против":
- остановить сервис (например, для бэкапа базы или чтоб запустить
  руками с отладкой) может оказаться не так-то просто: его могут
  в неожиданный момент перезапустить;
- отключить -- аналогично;
- вообще если ставить и включать по умолчанию monit как есть сейчас
  и "просто" подбрасывать ему конфигурацию, то политика запуска
  служб окажется определяемой им, а не информацией в инитскриптах.


По размышлении мне кажутся относительно разумными такие варианты
(привожу в порядке предпочтительности по своему мнению):

=== I ===
- ставить упакованные кусочки конфигурации с особым суффиксом,
  например, /etc/monitrc.d/*.auto;
- добавить в дефолтный /etc/monitrc _закомментированную_ строчку
  include /etc/monitrc.d/*.auto;
- добавить в пакет monit control-файл, который будет управлять
  закомментированностью этой строчки.

=== II ===
- ставить кусочки в /etc/monitrc.d/available/ с тем, чтобы
  системный администратор мог более удобно включить мониторинг
  того, что реально установлено, просто скопировав их оттуда.

=== III ===
- ставить в /etc/monitrc.d/, обучить service и желательно
  chkconfig работе с monit.  Если с первым могу попробовать
  (и то monit unmonitor $service будет "забыт" после рестарта
  monit), то со вторым как-то совсем непонятно.


Ещё мне совсем сильно захотелось сделать наконец такое изменение
в пакетном /etc/monitrc:

-include /etc/monitrc.d/*
+include /etc/monitrc.d/*.conf

...только вот без обработки существующей конфигурации это может
оказаться неприятным сюрпризом для администраторов существующих
инсталяций, чего бы крайне не хотелось.  Понятно, что такое
изменение для предлагаемой схемы является обязательным, поэтому
буду благодарен за предложения по реализации.  Разумеется, анонс
в sysadmins@ и %pre предполагается.


Вот список уже готовых кусочков, которые можно будет растаскивать
по своим пакетам с добавлением Requires: monit-base (с чем берусь
при необходимости по мере возможности помогать); особо интересует
мнение их майнтейнеров и пользователей.

amavisd
apache
apache-mod_ssl
apcupsd
bind
clamd
clamsmtpd
crond
cupsd
dhcpd
drwebd
gpm
jabberd2-c2s
jabberd2-s2s
jabberd2-sm
klogd
mysql
nginx
nscd
ntpd
openvpn
policyd
postfix
postgresql
pptpd
privoxy
proftpd
rpc
rundm
samba
sendmail
slapd
smartd
snmpd
spamd
squid
sshd
syslogd
unfsd
wdm
xdm
xfs
xinetd

У нас есть не всё, представленное на
http://mmonit.com/wiki/Monit/ConfigurationExamples,
хотя есть и кое-что, чего там пока нет.

PS: если предложение будет принято, то для полного аккурату
хорошо бы ещё %define _monitdir %_sysconfdir/monitrc.d где-то.
Делать ради этого отдельный rpm-build-monit явно оверкилл :)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


       reply	other threads:[~2009-06-07 15:14 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-07 15:14 ` Michael Shigorin [this message]
2009-06-07 16:52   ` Max Ivanov
2009-06-07 16:58     ` Mikhail Gusarov
2009-06-07 16:58     ` Michael Shigorin
2009-06-07 17:21   ` Dmitriy Kruglikov
2009-06-07 17:35     ` Michael Shigorin
2009-06-07 17:47       ` Dmitriy Kruglikov
2009-06-07 17:26   ` Grigory Batalov
2009-06-07 17:36     ` Michael Shigorin
2009-06-07 17:38       ` Dmitriy Kruglikov
2009-06-07 17:53         ` Led
2009-06-07 18:02           ` Dmitriy Kruglikov
2009-06-07 20:37   ` Afanasov Dmitry
2009-06-15 15:19     ` Michael Shigorin
2009-06-15 17:39       ` Afanasov Dmitry
2009-06-15 18:09         ` Michael Shigorin
2009-06-08  8:25   ` Dmitriy Kruglikov
2009-06-08 10:41     ` Michael Shigorin
2009-06-08 10:46       ` Dmitriy Kruglikov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090607151427.GE25744@osdn.org.ua \
    --to=mike@osdn.org.ua \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git