Представим ситуацию: мы ожидаем, что в каком-то лог-файле одного из серверов скоро должна появиться определенная строка, но когда именно она там появится мы не знаем. Чтобы не тратить время (которое при определенных обстоятельствах может превращаться в деньги :) на высматривание в лог-файле этой самой заветной строчки и продолжать работу за своим компьютером (пусть у него, например, будет IP-адрес 10.10.10.10), можно организовать автоматическое уведомление о наступившем событии. Например, так.
- На удаленном сервере (пусть для примера у него будет ip-адрес 10.10.10.254) запускаем такую команду:
$ tail -f /var/log/somelog | grep -m 1 "our_event" && nc 10.10.10.10 2740
В результате при следующем появлении в файле /var/log/somelog текста "our_event" откроется исходящее tcp-соединение на хост мониторинга 10.10.10.10 на порт 2740. Далее следует позаботиться об адекватной обработке этого на хосте 10.10.10.10. Ключ '-m 1' у команды grep означает, что она должна завершиться после 1-го найденного совпадения.
- На хосте мониторинга запускаем сервис xinetd (если он еще не запущен, предварительно создав файл /etc/xinetd.d/alarm примерно такого содержания:
service alarm { disable = no id = alarm wait = no socket_type = stream user = me group = me server = /usr/local/sbin/show_alarm.sh bind = 10.10.10.10 only_from = 10.10.10.254 }
Номер порта не указан по следующей причине:
$grep -P "^alarm\s" /etc/services alarm 2740/tcp # Alarm alarm 2740/udp # Alarm
Если вдруг в вашем файле /etc/services нет таких строк, то в /etc/xinetd.d/alarm нужно еще добавить строку
port = 2740. Описание параметров конфигурации демона xinetd можно почитать в файле /etc/xinetd.d/chargen-stream ну и, конечно, вman 5 xinetd.conf. - Создаем скрипт /usr/local/sbin/show_alarm.sh:
#!/bin/bash kalarm "Needed string found at 10.10.10.254" 2> /dev/null
и делаем этот файл исполняемым:
chmod +x /usr/local/sbin/show_alarm.sh
Утилита kalarm будет нам показывать на мониторе заданное сообщение, она входит в пакет kdepim, в чем можно убедиться с помощью следующей команды:
$rpm -qf /usr/bin/kalarm kdepim-4.2.4-1.fc10.x86_64
Также kalarm умеет издавать звуки, запускать внешние приложения (как – описано в man), что открывает широкий простор для фантазии.
- На хосте мониторинга 10.10.10.10 в firewall-е разрешаем входящие tcp-соединения с сервера 10.10.10.254 на tcp-порт 2740:
/sbin/iptables -I INPUT -s 10.10.10.254 -p tcp --dport 2740 -j ACCEPT
В результате при появлении строки "our_event" в файле /var/log/somelog на сервере 10.10.10.254 мы сразу же получим уведомление об этом в виде всплывающего окошка на хосте мониторинга 10.10.10.10.
Есть у меня одна подруга, выглядит как типичная блондинка – шпильки 10см, губки бантиком, ноги от ушей и т.д. Как-то "получила" она права, естессно потратилась на это дело и сразу ей захотелось машинку. Денег было немного и потому купила она себе что-то типа "Таврия" х. з какого года. Все бы ничего, просто иногда машинка кипела, в пробках особенно. Но она мужественно с этим справлялась, подливая водички в нужное отверстие... Как-то на день рождения, не зная чтобы такого попросить у своих родителей, она попросила сделать ей следующий подарок: "А покрасьте-ка мне мою машинку в розовый цвет!" Сказано – сделано. Она стала обладательницей розовой Таврии.)) И вот как-то на выходных решила она с подругами зарулить на пикничок, на дачу, а перед тем как забрать подруг, позвонила им и предупредила – "Возьмите с собой водички, вдруг закипим на дороге". Подруги в это время уже начинали праздновать выходные, и поэтому из тары у них было только бутылка мартини и сок. Быстро добив содержимое и наполнив их водой, они тронулись в путь. Естественно, в пробке на Пулковском шоссе, на выезде из города их машинка закипела... А теперь представьте какую картину увидели проезжавшие в пробке мимо мужики... Три блондинки на каблучках и при параде, две из которых совсем не трезвые, стоят, пошатываясь, у закипевшей РОЗОВОЙ Таврии и ЗАЛИВАЮТ В НЕЕ СОК С МАРТИНИ ОДНОВРЕМЕННО... Гогот довольных мужиков был слышен даже сквозь закрытые окна проезжавших мимо машин... и видать эта картина так много умов поразила, что еще неделю она ловила на себе ухмыляющиеся взгляды и тычки пальцами "вон вон смори бландинк поехала".
