Какой инструмент вы рекомендуете отслеживать изменения на сервере Linux/Unix
Я управляю несколькими Linux-серверами для клиентов в нескольких ролях, таких как электронная почта, кэширование, веб-обслуживание, фильтрация, межсетевой экран / маршрутизация и так далее.
Поскольку я не владею этими компьютерами и просто предоставляю удаленную поддержку, системы централизованного управления, такие как Puppet, не кажутся правильным инструментом. (Пожалуйста, поправьте меня, если вы думаете, что я ошибаюсь по поводу этого предположения)
Какие инструменты вы рекомендуете отслеживать изменения файлов конфигурации, установки пакетов и т. Д.?
Я думаю, что-то вроде etckeeper может быть рядом с тем, что мне нужно, но я хочу знать, есть ли что-то лучше.
Обновить
У нас будут резервные копии систем, и я не ожидаю, что этот тип инструмента будет альтернативой резервному копированию. Речь идет о том, чтобы отслеживать изменения конфигурации и иметь систему, чтобы знать, что изменилось, когда, кем и, надеюсь, почему.
8 ответов
У меня есть etckeeper на моей личной рабочей станции, но мне еще не приходилось с этим много работать (кроме того, что он отслеживал все мои изменения). Похоже, что он делает разумную работу, чтобы убедиться, что вы, по крайней мере, знаете, что теребили.
Я бы не стал списывать Puppet как решение - если вы несете ответственность за обслуживание некоторых служб на компьютере, то система, которая гарантирует, что если кто-то покажет ваши настройки, они вернутся так, как вы этого хотите. это находка
С другой стороны, если другие регулярно вносят изменения (а они обычно не облажаются), вам, возможно, придется прибегнуть к простому отслеживанию действий других людей для последующего аварийного восстановления. Не забывайте, что все будет меняться повсюду, поэтому лучше использовать инструмент для контрольных точек с полной машиной. Возможно, я бы даже подумал о том, чтобы создать на нем инкрементное резервное копирование на весь диск (например, rdiff-backup или что-то в этом роде), чтобы убедиться, что вы отслеживаете все (возможно, удаление / home и другие области уровня пользователя из резервной копии, если вы просто хотите отслеживать административные изменения).
Для отслеживания изменений пакетов (установок, обновлений и т. Д.) В системах на основе RPM, если все изменения выполняются с yum
или же yumex
, каждое изменение пакета зарегистрировано /var/log/yum.log
,
Другие люди уже отвечали на отслеживание изменений в /etc
, Не забывайте, что вы также хотите отслеживать изменения конфигурации bind
которые частично в /var
(по крайней мере, во многих дистрибутивах Linux) и что веб-страницы находятся под /var/www
на многих дистрибутивах Linux. Там будут каталоги снаружи /etc
которые имеют важную информацию о конфигурации на них.
В зависимости от того, как все управляется, вы также можете отслеживать /usr/local/etc
и другие деревья каталогов (/opt
под деревьями /var
и все остальное, что конкретно для ваших клиентов).
Я посмотрел на etckeeper, но я не использовал его. Тем не менее, я использовал Changetrack. Я использовал его на всех своих домашних машинах много лет, и на моей предыдущей работе это было частью нашей стандартной установки сервера. Мы использовали его там в течение последних пяти лет и установили его примерно на 200 коробок.
Установка тривиальна (я создал RPM для нее на моей последней работе), и конфигурация действительно проста. Я обычно настраиваю его для мониторинга всего /etc/.
В качестве отправной точки вы, возможно, захотите взглянуть на Blueprint, который анализирует конфигурацию системы. Хотя он предназначен для создания конфигураций для Puppet или Chef, нет причин, по которым вы не могли бы использовать его только для отчетов.
Вы можете поместить /etc под dvcs, такие как git. Вы выполняете коммит каждый раз, когда вносите изменения, а затем вы можете просто использовать git diff всякий раз, когда начинаете работу, и вам будут показаны все изменения.
Простым скриптом для мониторинга файлов является filemon. Я использую его на своем домашнем ПК, и в сочетании с crontab он делает простую и легкую работу. Для более сложного решения проверки целостности (изменения файлов, новые пакеты установлены и многие другие) я использую OSSEC на нескольких серверах.
LBackup поддерживает регистрацию удаления, модификации и добавления файлов.