Вопрос: Как записать изменения сервера?


Таким образом, у нас, вероятно, была такая ситуация: вы отлаживаете какую-то проблему, только чтобы понять, что это вызвано изменением конфигурации, которое вы сделали шесть месяцев назад, и вы не можете вспомнить, почему вы это сделали. Поэтому вы отмените его и устраните проблему, и теперь возникает другая проблема. О да, ТЕПЕРЬ Я помню! Затем вы исправите его правильно.

Это потому, что вы не взяли должные заметки, вы дурак! Но что это хороший способ сделать это?

В технике у нас есть множество программ, предназначенных для того, чтобы помочь нам обнаружить и отслеживать изменения. Контроль источника, просмотр кода и т. Д. Каждое изменение отслеживается, каждое изменение требует комментариев относительно того, что это такое. И типичные инженерные отделы требуют хороших комментариев, так что через шесть месяцев, когда вы выясните, почему вы так разбились, вы можете использовать историческую «вину» или бинарные поисковые сборки, чтобы точно определить проблему. Эти инструменты являются очень эффективными средствами коммуникации и историческими записями.

Но в serverland у нас есть 500 различных сервисов, все с разными способами их настройки. И они не всегда имеют текстовый формат (рассмотрите возможность установки разрешений в папке или изменения расположения файла подкачки), хотя они могут иметь текстовое представление.

В нашей среде мы проверяем, какие конфигурационные файлы мы можем использовать в Perforce, но их очень мало. Невозможно точно проверить базу данных Active Directory .. хотя возможно дамп, который может быть затруднен ...

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

МОЙ ВОПРОС: Какие стратегии и инструменты вы используете для решения этой проблемы отслеживания изменений конфигурации на своих серверах?

-- Обновить --

Примечание. Я не ищу инструменты для совместного использования заметок (я знаком с OneNote и т. Д.), Так как автоматические инструменты, специально предназначенные для помощи в отслеживании изменений сервера. Не существует исчерпывающего инструмента для отслеживания изменений конфигурации сервера, но, возможно, для некоторых приложений, таких как объекты групповой политики, есть некоторые.

Также меня очень интересует конкретные стратегии что вы нашли полезным. «Мы делимся заметками в Sharepoint» довольно расплывчато. Как вы поддерживаете дисциплину? Какой формат вы используете для отслеживания изменений? Как вы упорядочиваете данные об изменении? Мне бы очень нравились примеры, а также идеи.


49


Источник




Ответы:


На территории Linux люди проводят несколько различных стратегий:

  • Конфигурационные системы ограничения, как Cfengine или кукольный или шеф-повар, Они похожи на окна GPO. Дело в том, что вся конфигурация сервера преднамеренно документирована в одном месте, и вы знаете, в какой степени (серверная комната, группа, конкретный сервер) политика вводится. Это не совсем избавит вас от того, «что, черт возьми, было иначе шесть месяцев назад?» но это позволяет вам просто переназначить конфигурацию сервера и перестроить с нуля. Вы можете поставить политику cfengine и марионеток под контроль версий, чтобы ответить на вопрос.
  • Контроль версий / etc, Как правило, программы Linux сохраняют свою конфигурацию в одном месте, / etc. Смелость начинает писать сценарии для ввода / etc в элемент управления ревизией. Одна такая программа, о которой я знаю, etckeeper:
Описание: store / etc в git, mercurial, bzr или darcs
 Программа etckeeper - это инструмент, позволяющий хранить / etc в git, mercurial,
 bzr или darcs. Он подключается к APT для автоматической фиксации изменений
 сделанные в / etc во время обновления пакетов. Он отслеживает метаданные файлов этой версии
 системы управления обычно не поддерживаются, но это важно для / etc, таких
 как разрешения / etc / shadow. Он довольно модульный и настраиваемый, в то время как
 также прост в использовании, если вы понимаете основы работы с версией
 контроль.

19



+1 для упоминания обоих типов систем и, в частности, etckeeper, что делает это довольно просто - работает с git или hg. - RichVel
Я использую один для установки другого, и тем самым имею и то, и другое. - Dan Garthwaite
FYI Cfengine ссылки на сайт www.cfengine.org, который сейчас нарушен. Официальный сайт теперь находится на www.cfengine.com, Также ectkeeper теперь есть домашняя страница в etckeeper.branchable.com - e_i_pi
@e_i_pi, а также марионетка уже не марионетка. - jldugger


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

В моей организации мы собираемся примерно на год внедрять процессы и системы для решения этой проблемы. Для стороны бизнес-процесса мы сформировали команду управления изменениями. Согласно SOP, все изменения в производственных средах координируются через них. Они компилируют все изменения, а также объем, затронутые системы, затронутые сервисы и т. Д. Обеспечивают хорошую документацию об изменениях, а также планы развертывания и отката. Принимайте еженедельные (открытые) собрания для перехода к предстоящим изменениям среды, а затем отправляйте электронные письма с подробным описанием всех этих изменений. Конечная цель этого процесса заключается в том, что, фактически, все в ИТ знают все остальное, что происходит. Это помогает остановить проблему, например, с помощью SysAdmin, устанавливающего патч ядра и перезагрузки системы, которая приведет к сокращению базы данных таймлоклов.

Что касается технологической стороны, я могу говорить только о парнях Unix / Linux, так как я не занимаюсь Windows. Они разворачивают «Кукольный», «Редуктивные лаборатории», для управления конфигурацией всех этих систем. Просто, это клиент / серверная система, на которой определяется конфигурация компьютера на сервере, и клиент каждый раз делает так много шансов (по умолчанию 30 минут). Кроме того, если есть какие-либо шансы на локальные управляемые файлы, то они также возвращаются обратно в то время. Мы используем его для управления запущенными службами, конфигурациями брандмауэра, авторизацией пользователя и т. Д.

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


9



Когда вы храните файлы кукольных конфигураций в VCS, вы получаете полную историю и журнал конфигураций вашего сервера, очень аккуратный :) Но для преобразования каждой вещи в кукольный скрипт требуется другая дисциплина: D - hayalci
Я никогда не говорил, что это легко, только полезно :) Трюк с марионеткой - это плодовитое использование модулей, чтобы помнить, что ваши усилия будем быть вознагражденным. Теперь, если только RSA enVision имеет парсер для журналов ... - Scott Pack
Вы абсолютно правы, что проблема больше, чем просто технология записи изменений. Но давайте не будем расширять проблему в сфере неразрешимого. Наличие эффективного инструмента может сфокусировать вашу команду и не уничтожить моральный дух, чтобы попытаться изменить их образ мышления. Я реализовал несколько разных систем, лучше всего, вероятно, все еще вики-страница с таблицей изменений, но она по-прежнему не идеальна. / etckeeper, безусловно, плюс, но трудно масштабировать системы. и самое главное: Active Directory! Это ключевая необходимость. - ckg


Я сейчас в 4 или 5 компаниях, которые я действительно не помню.

У всех нас была эта проблема. Никто из нас не решил это на 100 процентов, но в компании, которой я являюсь, сейчас у нас есть то, что я считаю лучшей стратегией на сегодняшний день.

Sharepoint / вики / Evernote / Штифты

  • Sharepoint
    • стонать все, что вы хотите ... у него есть некоторые очень приятные функции списка.
    • Списки IP-адресов
    • инвентарь
    • учетные записи служб и использование
    • изменять журналы уведомлений
  • Wiki
    • Как-к
    • списки задач дальнего действия
  • Evernote
    • мой партнер и я использую это, чтобы поместить все, что мы не хотим в Wiki
    • больше практических практик, которые носят технический характер
    • царапины, мы оба должны видеть
    • учет задачи за неделю
    • списки задач подрядчика
    • Evernote clipper позволяет легко отображать снимки настроек AD / прав
    • доступно везде
  • PINs
    • Репозиторий паролей

3





Для некоторых из них, вероятно, есть лучший инструмент, но это то, что мы используем:

  • Отслеживайте изменения конфигурации и обновления / исправления на основе сервера в Частная вики
  • Также держите howtos и запись проблем / решений в вики
  • использование Sharepoint или Гугл документы сохранять авторизированные копии таких вещей, как статические списки IP-адресов
  • использование диверсия отслеживать изменения в файлах конфигурации

1



Мне нравится использовать исходный контроль в файлах конфигурации - выполняете ли вы «полезные» комментарии при проверке или вне версии? - warren
Нет, на самом деле я написал несколько сценариев (submit и revert), чтобы упростить отправку и исправление изменений. Тем не менее, мы сейчас экспериментируем с etckeeper. - Brent


Для Windows ознакомьтесь с сериями Microsoft System Center или любым другим конкурентом в области настройки и управления службами для этой платформы.

Изменения должны быть перенаправлены через приличную процедуру управления изменениями, которая сама по себе утверждает и регистрирует их до того, как они будут выполнены. Это может быть 100% руководство для начинающих. Используя некоторые из лучших интегрированных инструментов, вы можете попросить инструмент сделать фактические изменения и получить «автоматический» выход из него в центральную базу данных конфигурации, вместо того, чтобы идти голыми руками в консоль отдельного сервера, выкапывая настройки вручную попытайтесь исправить проблему ковбойского стиля.


1





У вас абсолютно должен быть процесс управления изменениями, особенно если есть несколько людей, у которых есть возможность / доступ к изменениям на системном уровне в вашей среде. Это также дает возможность руководству подписать потенциальные изменения, однако недостаток он вызывает латентность процесса изменений, если вы не можете делать изменения «на лету».

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


1





Это более локализованный ответ * nix. Я не нашел хороших инструментов для подражания под Windows.

Есть несколько способов реализовать это ... и поймать его, когда вы забудете.

Системы контроля версий, такие как subversion, git, cvs или RCS, являются хорошим способом отслеживания истории конфигурационного файла. Если вы не хотите устанавливать систему контроля версий на своих производственных серверах, сохраняя каталоги файлов конфигурации локально или удаленно, используя что-то вроде rsnapshot даст вам большую часть преимуществ RCS, но вы потеряете возможность аудита или выхода из журналов фиксации (хотя это можно было бы обработать с комментариями внутри самих файлов).

Чтобы помочь вам запомнить журнал изменений, автоматическая отчетность об изменениях конфигурации через ночной, cron'ed натяжные запуск - хорошее начало. После создания базы данных tripwire о текущем состоянии файлов любое изменение на них приведет к появлению электронной почты во время следующего запуска. Вы будете продолжать получать эту почту до тех пор, пока база данных не будет обновлена, таким образом, «сбросив» tripwire.


1





Я бы использовал систему отслеживания проблем, такую ​​как flyspray (любой будет, но мне нравится flyspray для не-программирования). Прежде чем кто-либо прикасается к конфигу, проблема / проблема должна быть зарегистрирована. Когда вы исправляете / реализуете его, изменения вносятся в билет.

Вики могут быть хороши для документирования текущей настройки, но для нее легко устаревать - и, похоже, требуется больше усилий для обновления IMO.

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

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


0





Мы создали что-то самодельное, чтобы отслеживать отслеживание изменений в нашей среде; это не что-то сверхсложное, и все работает неплохо.

  • Политика самозащиты настраивается на то, что любое изменение, которое по вашей оценке либо отклоняется от готовой установки, либо может вызвать проблемы, должно быть задокументировано в системе изменений.
    • противоположной стороне этой «монеты», является устранение неполадки, поиск последних или связанных записей изменений.
  • Войдите в систему и выберите сервер, сервис или компонент оборудования, которые вы меняете
    • компоненты ранее вводятся в одну и ту же систему с базовой «демографической» информацией (местоположение, поставщик, серийный номер, ответственный отдел)
  • Выберите из раскрывающегося списка основных категорий
    • Внеплановый простои
    • Заделка
    • Обслуживание оборудования
    • Установка программы
  • Расскажите о том, что вы сделали, видели, наблюдали
  • копия отправляется ответственной стороне и сохраняется как файлы XML, индексированные поисковым устройством.
  • прибыль

Как я уже сказал, ничего необычного. Он использует PERL CGI (был написан миллиардом лет назад) и Google Search Appliance для индексирования.

Недостатки:

  • С группами работать сложно, например, вы просто добавили один и тот же патч для всех 25 контроллеров домена; у нас нет группы «Контроллер домена», поэтому мы должны вручную выбрать их все
  • Не интегрируется с сообщениями об ошибках оборудования, программного обеспечения или журнала событий, чтобы помочь в устранении неполадок
  • связанный с этим, ручной ввод данных для всех «демографических» данных, как я сказал выше

В любом случае, если после всего этого вам будет интересен код, сообщите мне, и я, вероятно, возьму его, чтобы поделиться.


0





Как уже говорилось, это часто является культурной проблемой. В конце концов, некоторые магазины развития больше не беспокоятся о комментариях (само документирующий код - модное модное слово сегодня!), А некоторые используют систему контроля версий как священный грааль исторических записей. Очевидно, что они не идеальны.

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

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

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

Я рекомендую bugtracker в качестве журнала причин изменения управления, поскольку их обычно легко обновить (я использую Mantis).


0





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

Не знаю, что такое базовая цена, но до того, как HP купила Opsware, это было ~ 350 000 долларов США (без поддержки и доверия - вы хотели получить поддержку, когда я начал с Opsware).

Некоторые из клиентов, которых мы имели, работая там, использовали функции конфигурации приложения и моментальных снимков в сочетании с Tripwire,

Конечно, если у вас нет бюджета - это Bad Choice ™ :)

И, fwiw, объявление, появившееся в верхней части этой страницы для меня, когда я перезагрузился, было для Spiceworks, Выглядит очень похоже на HPSA :)


0