IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Пингвинятник (ОС *NIX) (http://www.imho.ws/forumdisplay.php?f=76)
-   -   Monit -utility for monitoring services on a Unix system (http://www.imho.ws/showthread.php?t=137766)

Yeros 25.01.2009 05:01

Monit -utility for monitoring services on a Unix system
 
Привет

кто нибудь ставил этот софт ?

какие отзывы ? может быть какой то аналог, который более эфективный

Я сам n00b в линукс администарции ... несколько дней назад попытался поставить, но если честно сделать конфиг не получилось, вот и ищу людей, кто работал с ним и знает, что к чему

noname 25.01.2009 12:17

собственно в чем проблема ?

monit is a utility for monitoring and managing daemons or similar programs running on a Unix system. It will start specified programs if they are not
running and restart programs not responding.

он IMHO нужен , если есть ненадежные сервисы которые нужно автоматически рестартить , включать и т.д. , вместо него imho можно использовать inittab или daemontools .

для мониторинга есть более другой софт , типа munin , nagios, и т.д.

Yeros 25.01.2009 17:25

да, я не совсем четко выразился - т.е. мунин , нагиос мне не нужны, они только для мониторинга.

А мне нужен именно такой "есть ненадежные сервисы которые нужно автоматически рестартить , включать и т.д".

Но вот досада - после инстал вылетает сообщение
Цитата:

monit: Cannot connect to the monit daemon. Did you start it with http support?
monit: Cannot connect to the monit daemon. Did you start it with http support?
monit: Cannot connect to the monit daemon. Did you start it with http support?
monit: Cannot connect to the monit daemon. Did you start it with http support?
monit: Cannot connect to the monit daemon. Did you start it with http support?
в итоге не могу его включить


кстати видел в инете несколько сомопальных скриптов тоже для этого, но я не спец в юникс, вот и боюсь что либо ставить - так как даже не знаю, что лучше , что нет

Вот попытался ставить монит, но как видете - неудачно.

Saruman 26.01.2009 09:27

использую для этих же целей god - никаких проблем с запуском и т.п. Конечно, т.к. он написан на ruby - то для установки потребуется как минимум установленный ruby и rubygems. Плюс конфиг тоже на руби - так что базовые знания о языке будут полезны, хотя простейшие случаи можно и просто путём модификации имеющихся примеров получить.

Yeros 26.01.2009 17:09

к сложалению с ruby не лады (с шелл нуб, но хоть команды знаю), так что наверно попробую найты кого то, кто поможет завершить конфиг монит-а.

Но в любом случае - спасибо

Hubbitus 06.02.2009 01:06

Собственно а в чем проблема? Поставил из репозитория, запустил демон с дефолтным конфигом, и он сразу заработал. Дальше смотрб конйиг, и там толпа комментариев...

Если не разобраться, выкладывайте конфиг, что не получается, описывайте подробнее что хотите сделать.

Yeros 06.02.2009 01:38

Цитата:

monit: Cannot connect to the monit daemon. Did you start it with http support?
с этим вроде разобрались, но в любом случае монит пока не может контролировать мускул
Цитата:

Process 'mysql'
status not monitored
monitoring status not monitored
data collected Thu Feb 5 16:28:39 2009

File 'mysql_bin'
status accessible
monitoring status monitored
permission 755
uid 0
gid 0
timestamp Tue Dec 23 18:28:00 2008
size 6633560 B
checksum 55e9161d0b69a0ca9af14228d1d598be(MD5)
data collected Thu Feb 5 16:28:39 2009

File 'mysql_rc'
status accessible
monitoring status monitored
permission 755
uid 0
gid 0
timestamp Tue Dec 23 18:28:09 2008
size 11948 B
checksum ec77cbeb2c7d67a9540faed8470bc485(MD5)
data collected Thu Feb 5 16:28:39 2009
попрововал отискать причину:

не было my.cnf . Сделал да ещё прописал внизу пару строк
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

так как mysqld.pid у меня почему то не оказалось и после
ps auxww | grep mysql

я получал

Код:

root 4718 0.0 0.0 4468 1104 pts/0 S 15:11 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid
mysql 4738 0.0 1.0 35092 21584 pts/0 S 15:11 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
mysql 4741 0.0 1.0 35092 21584 pts/0 S 15:11 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
mysql 4742 0.0 1.0 35092 21584 pts/0 S 15:11 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
mysql 4743 0.0 1.0 35092 21584 pts/0 S 15:11 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
mysql 4744 0.0 1.0 35092 21584 pts/0 S 15:11 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
mysql 4745 0.0 1.0 35092 21584 pts/0 S 15:11 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
mysql 4747 0.0 1.0 35092 21584 pts/0 S 15:11 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
mysql 4748 0.0 1.0 35092 21584 pts/0 S 15:11 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
mysql 4749 0.0 1.0 35092 21584 pts/0 S 15:11 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
mysql 4750 0.0 1.0 35092 21584 pts/0 S 15:11 0:01 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.MYSERVERNAME*.org.pid --skip-external-locking
root 9896 0.0 0.0 3940 700 pts/1 S+ 18:12 0:00 grep mysql

mysql-stop-> впечетление, что mysql не работает (так как на сайтах mysql стоит), но вот сделал опять ps auxww | grep mysql

и о боже - процесси идут

Одним словом хотя
# /etc/rc.d/init.d/mysqld stop
Shutting down MySQL. [ OK ]

но MySQL ещё работает

помогло лишь MySQL стоп через директадмин.
После старта ...

1. всё равно как пид файл определяется /var/lib/mysql/server.MYSERVERNAME*.org.pid

2. и монит не хочет мониторить MySQL

Process 'mysql'
status not monitored
monitoring status not monitored
data collected Thu Feb 5 16:28:39 2009

Вот такие пироги

noname 06.02.2009 21:00

честно говоря не могу представить зачем мониторить через monit mysql .

для старта mysql есть init скрипты , и т.д.

если mysqld упал , то тут старт не поможет , так как данные наверняка пострадали .

да и к тому-же тяжело нагруженый mysql может останавливаться пару десятков минут .....

что-то вы не то делаете .....

Yeros 07.02.2009 00:29

вообще то я все таки уже установил монит (вчера), что касается твоих слов, то за неимением ничего лучшего и неимея знании в этом деле, приходится искать в инете читать ревю других - и наткнулся на монит.

вернее спросил - посоветовали это ... вот из за этого за ним бегаю.

есть другое решение - посоветуй

SinClaus 07.02.2009 19:12

Запускать мускуль через скрипт (прилагаемый) safe-mysql. Он сделан как раз для того что бы мускуль был всегда в он-лайне.

Yeros 07.02.2009 21:30

Цитата:

Запускать мускуль через скрипт (прилагаемый) safe-mysql. Он сделан как раз для того что бы мускуль был всегда в он-лайне.
прости, а как это можно сделать ?

из того что я зная, это то, что в моем my.cnf(то этого не было у меня my.cnf - пришлось создать -потом сделать рестарт) я прописал такие строки

Цитата:

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
или ты не об этом?

noname 07.02.2009 22:40

а какой дистрибутив ? и как вы ставили mysql server ?
в любом современном дистре есть пакет mysql-server который уже работает с некоторым дефолтным конфигом прямо из коробки .

Yeros 08.02.2009 03:33

Цитата:

Сообщение от noname (Сообщение 1631551)
а какой дистрибутив ? и как вы ставили mysql server ?
в любом современном дистре есть пакет mysql-server который уже работает с некоторым дефолтным конфигом прямо из коробки .

сервер я брал уже готовый- сам ничего не ставил - только чуток подправил

(Linux, CentOs 5.0; MySQL 5.0.67, Apache 2.2.11; DirectAdmin 1.33.0 )

Цитата:

Сообщение от noname (Сообщение 1631551)
в любом современном дистре есть пакет mysql-server который уже работает с некоторым дефолтным конфигом прямо из коробки .

имею ввиду, что где надо подправить, чтобы запустить mysqld-safe стартат скрипт

Цитата:

[root@server ~]# mysqld_safe --help
Usage: /usr/bin/mysqld_safe [OPTIONS]
--no-defaults Don't read the system defaults file
--defaults-file=FILE Use the specified defaults file
--defaults-extra-file=FILE Also use defaults from the specified file
--ledir=DIRECTORY Look for mysqld in the specified directory
--log-error=FILE Log errors to the specified log file
--open-files-limit=LIMIT Limit the number of open files
--core-file-size=LIMIT Limit core files to the specified size
--timezone=TZ Set the system timezone
--mysqld=FILE Use the specified file as mysqld
--mysqld-version=VERSION Use "mysqld-VERSION" as mysqld
--nice=NICE Set the scheduling priority of mysqld
--skip-kill-mysqld Don't try to kill stray mysqld processes

All other options are passed to the mysqld program.

noname 08.02.2009 14:44

есть ли файл /etc/init.d/mysql ?

и вообше что показывает rpm -qa | grep -i mysql

Yeros 08.02.2009 16:44

Цитата:

есть ли файл /etc/init.d/mysql ?
только /etc/init.d/mysqld

Цитата:

[root@server init.d]# rpm -qa | grep -i mysql
MySQL-shared-5.0.67-0
MySQL-server-5.0.67-0
MySQL-devel-5.0.67-0
MySQL-client-5.0.67-0

noname 08.02.2009 17:52

вот это и есть скрипт запуска mysql-server-a
он умеет start|stop|restart|reload|force-reload|status

теперь для каждого пакета запустите rpm -ql | grep my.cnf
чтобы найти где лежить дефаулт my.cnf

а вообше в linux системах с софтом идет и базовая документация , так что первым делом надо смотреть
/usr/share/doc/$package ... или /usr/share/doc/packages для редхет based дистров .

Hubbitus 09.02.2009 02:19

Так а стандартное
Код:

service mysql restart
что говорит?

И на самом деле, никакого Monit для MySQL не надо!

Цитата:

Сообщение от noname (Сообщение 1631743)
теперь для каждого пакета запустите rpm -ql | grep my.cnf
чтобы найти где лежить дефаулт my.cnf

Ну во-первых можно сразу:
Код:

rpm -qal 'MySQL*' | grep my.cnf
Во вторых я и так скажу что /etc/my.cnf
ну и в третьих, человек уже сказал что конфиг есть и он его правил и вроде как даже разобрался с ним. Верно я понял, Yeros?

Yeros 09.02.2009 02:29

[root@server ~]# service mysql restart
mysql: unrecognized service


[root@server ~]# rpm -qal 'MySQL*' | grep my.cnf
[root@server ~]#

добавлено через 1 минуту
Цитата:

ну и в третьих, человек уже сказал что конфиг есть и он его правил и вроде как даже разобрался с ним. Верно я понял, Yeros?
если речь о my.cnf. то я правил этот файл и он в /etc/my.cnf

спасибо

Hubbitus 09.02.2009 02:32

Цитата:

Сообщение от Yeros (Сообщение 1631868)
[root@server ~]# service mysql restart
mysql: unrecognized service

Хм, очень странно...
А так что говорит:
Код:

# service --status-all | grep -i mysql
Rpm-пакеты из родного репозитория ставились?

Yeros 09.02.2009 02:42

[root@server init.d]# service --status-all | grep -i mysql
capi not installed - No such file or directory (2)
MySQL running (6828) [ OK ]
env: /etc/init.d/rc.monit: No such file or directory
squid: ERROR: No running copy
SIOCADDRT: File exists
[root@server init.d]#


самое странное, что /etc/init.d/rc.monit как раз есть

Цитата:

Rpm-пакеты из родного репозитория ставились?
не знаю, как я сказал не я ставил

Hubbitus 09.02.2009 02:44

Ага, ну тогда просто должно быть:
Код:

service MySQL restart
Впрочем, как видно, он и так вроде работает. Что еще от него требуется?

Yeros 09.02.2009 02:57

Цитата:

Впрочем, как видно, он и так вроде работает. Что еще от него требуется?
:-) Задача изначально была, чтобы ставить какой то скрипт, в данном случае монит, который бы предостерегал от downtimes (btw ... уже второй день вроды все ок ... то ли это монит, то ли сервер просто не падал).

потом вы сами посоветовали, что не стоит ставить монит ... а надо это делать какими то другими методами и пошло поехало.

А MySQL у меня до сих пор работал, как я уже сказал даже монит поставил (правдо не до конца - не могу октрыть его через http - типа должен открытся domain.com:2128 -> - но это не страшно)

Цитата:

service MySQL restart
output as i told above

Цитата:

[root@server init.d]# service MySQL restart
MySQL: unrecognized service

Hubbitus 09.02.2009 03:22

Так в том-то и дело. стандартные инит-скрипты зупускают сервис, управляют им, MySQL например. Далее, скрипт mysqld_safe (У меня имено он используется по умолчанию: use_mysqld_safe=1 ) именно перезапускает его в случае необходимости:
Код:

# head -n5 `which mysqld_safe `
#!/bin/sh
# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
# This file is public domain and comes with NO WARRANTY of any kind
#
# Script to start the MySQL daemon and restart it if it dies unexpectedly

Цитата:

Сообщение от Yeros
output as i told above

Вот блин, ерунда какая. Покажите тогда вывод:
Код:

find /etc/init.d/ -iname '*mysql*' -exec grep -inH 'provides' {} \;

Yeros 09.02.2009 03:43

[root@server init.d]# find /etc/init.d/ -iname '*mysql*' -exec grep -inH 'provid es' {} \;
/etc/init.d/mysqld:18:# Provides: mysql

Hubbitus 09.02.2009 03:53

Ну тогда наверное все же имя сервиса mysqld должно быть, например:
Код:

servise mysqld restart
Впрочем это уже все несколько Оффтоп, думаю относительно необходимости мониторинга MySQL сторонними средствами локально уже выяснили...

Чтобы делать подобное удаленно (ну если перезапуск не удался, если случилось уже что-то страшное с ним) нужны совсем другие средства, тот же nagios или подобные. Но это уже тема совсем другая, и полагаю не для этого топа.

Yeros 09.02.2009 04:19

спасибо

Цитата:

Чтобы делать подобное удаленно (ну если перезапуск не удался, если случилось уже что-то страшное с ним) нужны совсем другие средства, тот же nagios или подобные
насколько я зная монит и есть из этой серии

Цитата:

servise mysqld restart
[root@server init.d]# servise mysqld restart
-bash: servise: command not found

прости что мы ищет ? как сделать рестарт * ?
то это /etc/rc.d/init.d/mysqld restart

Цитата:

Впрочем это уже все несколько Оффтоп, думаю относительно необходимости мониторинга MySQL сторонними средствами локально уже выяснили...

Чтобы делать подобное удаленно (ну если перезапуск не удался, если случилось уже что-то страшное с ним
прости я что означает локально и удаленно?
это что не на тот же сервер ставится ?

или ты имел ввиде, что nagios или монит это от сторонных прозводителей ?

Цитата:

Так в том-то и дело. стандартные инит-скрипты зупускают сервис, управляют им, MySQL например. Далее, скрипт mysqld_safe (У меня имено он используется по умолчанию: use_mysqld_safe=1 ) именно перезапускает его в случае необходимости:
прости, если я правильно понял mysqld_safe это стандартные инит-скрипт который надо ставить на сервер и запустить его ?

Тогда можно линк как его ставить (надеюсь будет не сложнее чем монит ставить)

Hubbitus 09.02.2009 11:23

Цитата:

Сообщение от Yeros (Сообщение 1631878)
-bash: servise: command not found

ну service разумеется. Уж описку-то ближе к утру можно простить.

Цитата:

Сообщение от Yeros (Сообщение 1631878)
прости что мы ищет ? как сделать рестарт * ?
то это /etc/rc.d/init.d/mysqld restart

Ну в общем да, только через service более "правильный" способ.
Цитата:

Сообщение от Yeros (Сообщение 1631878)
насколько я зная монит и есть из этой серии

На сколько я понял из краткого прочтения описания он работает только с локальными сервисами. Я ошибся?

Локально - это мониторинг на одной машине, сервере. Удаленно это мониторинг скажем того же MySQL с одного хоста на другом(других).

Цитата:

Сообщение от Yeros (Сообщение 1631878)
прости, если я правильно понял mysqld_safe это стандартные инит-скрипт который надо ставить на сервер и запустить его ?

Стандартный, это значит стандартный! То есть идущий в rpm-пакете MySQL. Еще раз повторяю, у меня после установки, он стартует именно так, ничего не настраивал.
Посмотрите в /etc/rc.d/init.d/mysqld (это стандартный init-скрипт на bash)

Yeros 16.02.2009 23:13

Цитата:

Локально - это мониторинг на одной машине, сервере. Удаленно это мониторинг скажем того же MySQL с одного хоста на другом(других).
кстати, что касается монит, то это локальное средство.


Цитата:

Чтобы делать подобное удаленно (ну если перезапуск не удался, если случилось уже что-то страшное с ним) нужны совсем другие средства, тот же nagios или подобные.
разве nagios делает перезапуск ?
Вот читаю мануал .. ничего такого не заметил

Цитата:

Nagios — программа с открытым кодом, предназначенная для мониторинга компьютерных систем и сетей. Она следит за указанными узлами и службами, и оповещает администратора в том случае, если какие-то из служб прекращают (или возобновляют) свою работу.
или я не прав ?

Hubbitus 16.02.2009 23:32

У него ( nagios ) есть event'ы, которые можно настраивать в ответ на произошедшие события. Впрочем это все я читал...
Я именно недавно озаботилдся подобным вопросом и сам сейчас разбираюсь с этими средствами подробнее. Скажу честно, с нагиосом моя любовь не состоялась с первого знакомства... В данный момент рассматриваю Zabbix. Впрочем это все уже ну никак не относится к изначальной теме про Monit.

SinClaus 17.02.2009 19:42

Zabbix настраивается гораздо проще, чем Nagios. Единственное, что не понравилось, это то, что стандартные агенты не отслеживают температуру и данные smart.
И при приемлемой частоте обновлений данных трафик жрет со страшной силой. По snmp не пробовал.


Часовой пояс GMT +4, время: 20:37.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.