LINUX.ORG.RU

[C] Программа, для мониторинга серверов

 


0

2

Здравствуйте, всех.

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

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

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

Собственно задача выполнена, сиди себе и дальше клепай сайты, но С, как известно, затягивает.

Вообщем, через некоторое время у меня есть программа (зависящая от C-pluff, фреймворк для создания плагинов), которая ищет у себя эти самые плагины, в которых реализованы евенты, которые прослушиваются и действия, если евент произошел. Пока что единственный плагин (это кроме ядра), тот, что описан выше.

Собственно, чего я сюда приперся: представляю вашему вниманию. Качайте, собирайте юзайте, пишите плагины, критику, пожелания итд итп.

качать отсюда: http://sourceforge.net/projects/servmonitor/files/server-monitor-0.1.4-r1.tar...

либо svn: svn co https://servmonitor.svn.sourceforge.net/svnroot/servmonitor servmonitor.

./configure && make && make install инлюдед.

Ничего не понял. Что делает сабж?
Мониторит каталог на предмет появления _новых файлов_? И?

blackst0ne ★★★★★
()

или если более глобально подойти к вопросу .... то смотри в CI (continuous integration) и там есть jenkins ;)

real_maverick ★★★
()

Нифига не понял. Но за С уважуха тебе.

Zhbert ★★★★★
()

>Собственно, чего я сюда приперся: представляю вашему вниманию.

Можешь у нас на lorcode.org захоститься, на гите выложиться и на форуме описаться.

Zhbert ★★★★★
()

> Прежде чем перейду собвтенно к сабжу, немного о себе. Я программист, который с маленьких лет любил и боготворил С, но из-за нужды, был вынужден переквалифицироваться в веб-девелоперы.

Когда дочитал до этого на глазах выступили слезы умиления

anonymous
()
Ответ на: комментарий от blackst0ne

ээ.. попробую по-подробней:

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

что в хидер файле?

структура с полями для имени, конфигурации и разных данных для плагина + с тремя функциями.

первая функция — инициализация данного плагина (чтение конфиг файла, итд итп). вторая функция — описывает событие, которое мы ждем. третья функция — описывает действие, которое мы произведем, если произойдет событие.

все это на примере единственного (кроме ядра) плагина который включен в дистрибутив:

первая функция — читает конфиг файл и узнает где документ рут апача, где файл-шаблон для генерации вхоста итд итп. вторая функция — ждет как только появится новая папка в документ руте. третья функция — генерирует вхост, модифицирует файл hosts, и рестартит апач.

cheshie
() автор топика
Ответ на: комментарий от dimon555

inotify здесь не совсем подходит. оно позволяет получит уведомления только об изменениях в файловой системы.

ну тоесть как: для моей задачи inotify конечно подходит, но для программы, которая позволяет совершенно произвольным образом регистрировать события и обработчики этих событий это немножко не то. я наверное не очень хорошо описал что за программа и для чего она.

cheshie
() автор топика
Ответ на: комментарий от psv1967

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

теперь я знаю к чему нужно стремиться :)

cheshie
() автор топика
Ответ на: комментарий от vasily_pupkin

>The inotify cron daemon (incrond) is a daemon which monitors filesystem events and executes commands defined in system and user tables.

А вот это изделие не мониторит файловую систему. Оно (изделие) лоадер плагинов, в которых регистрируются ивенты, которые ждем и действия, которые произведем, когда евент случится.

А мониторинг за файловой системой я в качестве примера плагина всего лишь...

К примеру, тебе, товагищ, нужно чтобы как только сервак ssh отваливался, тебе приходила смска и сервак рестартился? в таком случае, можно написать плагин, который будет пинговать ssh сервак (это будет нашим евентом) и (слать смску И рестартить сервер) (это будет нашим действием).

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

cheshie
() автор топика
Ответ на: комментарий от tensai_cirno

ээ, только понял о чем речь, за что и извиняюсь.

это было всего лишь примером. просто хотелось показать что из себя представляет программа.

cheshie
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.