Мне интересно, поможет ли, если некоторые инструменты, которые осуществляют мониторинг файловой системы (например, inotify-tools), будут изменены для мониторинга/отчетности через ssh. Поможет ли это системным администраторам сделать что-то вроде inotify-watch 192.168.0.33:/home/deploy/script
? Вероятно, отслеживаемые серверы должны соответствовать некоторым предварительным условиям, но звучит ли это осуществимо?
решение1
Честно говоря, мне кажется, что это неправильный способ решения проблемы.
Во-первых, невозможно узнать, будет ли удаленная машина поддерживать inotify.
Во-вторых, кажется, что требуется много усилий, чтобы объединить то, что традиционно является двухкомпонентным обобщенным решением, в однокомпонентное специфическое решение. Мониторинг и отчетность на удаленных машинах редко лучше всего достигаются с помощью ssh. Когда вам нужен этот уровень информации об удаленном хосте, вы обычно хотите разместить на удаленном хосте программный агент, который может выполнять мониторинг, а затем запустить систему мониторинга на другом компьютере, чтобы опросить агента (или заставить агента отчитаться).
Если вы хотите добавить эту возможность в коробку без установки дополнительного агента, SNMP будет логичным выбором (многие/большинство хостов поддерживают SNMP из коробки или имеют пакет SNMP, предоставленный поставщиком). С другой стороны, большинство систем мониторинга на основе агентов, таких как Nagios, BigBrother/Hobbit/BigSister, Munin и т. д., предлагают возможность определять собственные плагины. Не так уж и сложно создать плагин на основе inotify.
Если вы не хотите использовать полноценную систему мониторинга для контроля удаленного устройства, я бы использовал что-то вродефункц, который обеспечивает лучшую среду для этого, чем ssh.
решение2
Вы рассматривали вариант «Мунин»?http://munin.projects.linpro.no/
Обычный метод работы заключается в том, что программное обеспечение munin-node прослушивает удаленные машины. Периодически программное обеспечение мониторинга munin подключается к узлам для сбора данных; оно может делать это даже через туннель SSH. (Это есть в FAQ, я не могу поставить две ссылки, потому что моя репутация слишком низкая).
Munin по умолчанию может отслеживать широкий спектр статистики, включая мониторинг файловой системы. Кроме того, очень просто написать собственные плагины для munin-node, чтобы собирать нужные вам данные.
решение3
Возможно, вам захочется взглянуть навключение аудита файлов, что заставляет систему записывать события файлов. Это довольно гибко и не требует постоянного подключения. Аудит можно искать через командную строку,аудитctl(8), поэтому вам не нужно продираться через горы посторонних данных. Еще один бонус в том, что вы получаете запись учетных записей пользователей, идентификаторов процессов и т. д.
Что касается удаленного мониторинга, вы можете либо поручить локальному серверу выполнить всю работу за вас и отправить данные, либо запустить удаленную команду через SSH, в зависимости от того, что вам больше подходит.
решение4
семьяможет быть, это то, что вы ищете. У него есть демон, который выполняет локальное обнаружение, и libfam, которая является библиотекой для общения с ним, чтобы получить более независимое от платформы уведомление.