Powered By Blogger

вторник, 27 ноября 2012 г.

Добавление поля Notes в Nagios\Icinga

Для того чтобы добавить новое поле на Web интерфейс системы мониторинга Nagios или Icinga необходимо внести соответствующие изменения в исходник для status.cgi - status.c.

1. Скачиваем и распаковываем последнюю версию Nagios\Icinga
2. Открываем файл /cgi/status.c
3. Находим раздел который формирует основную таблицу ( раздел отмечен комментарием "/* the main list of services */")  и добавляем в конце списка столбцов строку:

printf("<TH CLASS='status'>Notes</TH>\n");

4. Находим раздел отмеченный комментарием "/* the rest of the columns... */" и так же в конце дописываем

printf("<TD onClick=\"toggle_checkbox('service_%d','tableformservice');\" CLASS='status%s' valign='center'>%s</TD>\n", total_service_entries, status_bg_class, (temp_service->notes==NULL)? "&nbsp;":temp_service->notes);

В данном случае добавлен функционал заменяющий текст null на пробел в случае если поле не содержит значений ((temp_service->notes==NULL)? "&nbsp;").

5. Пересобираем все CGI (make -cgi), затем просто заменяем получившимся status.cgi уже содержащийся в каталоге /usr/local/icinga/sbin файл

P.S. для Nagios все примерно тоже самое, за исключением части формирующей включение чек-бокса при нажатии на строку ("<TD onClick=\"toggle_checkbox('service_%d','tableformservice');\" CLASS='status%s' valign='center'>%s</TD>\n")

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

http://fossies.org/dox/icinga-1.8.1/index.html

Nagios:

http://fossies.org/dox/nagios-3.4.2/

среда, 21 ноября 2012 г.

Копировать все файлы содержащие определенный текст в Linux

Для того чтобы найти и скопировать все файлы находящиеся в определенном каталоге и содержащие заданный текст можно выполнить следующий скрипт:


for f in `find [где искать] -type f`; do
grep '[что искать]' $f
if [ $? = 0 ]; then
cp $f [куда копировать]
fi
done

среда, 7 ноября 2012 г.

Отправка сообщений от имени списка рассылки

Для выдачи прав пользователю на отправку от имени списка рассылка необходимо выполнить следующую команду:

Add-ADPermissions -Identity <Distribution Group> -User <User\Security Group> -ExtendedRigths Send-As

Так же эти права можно выдать непосредственно из консоли AD в свойствах данной группы.

Права SendOnBehalf выдаются с помощью:

Set-DistributionGroup GroupName -GrantSendOnBehalfTo UserName