www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Мониторинг  

Какая задача мониторинга отнимает больше всего времени?

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

 Читать далее...

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

Рынок труда меняется быстро. Еще вчера его называли рынком соискателей, а сегодня

 Читать далее...

Книжная полка  

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

 Читать далее...

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

 Читать далее...

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

 Читать далее...

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

 Читать далее...

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 13533
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 13646
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 11104
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 5949
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 6801
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 6687
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 9521
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 6128
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 6338
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 10500
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 13973
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 15423
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 17757
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 12591
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 10607
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 8816
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 7416
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 6230
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 5840
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 6173
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 Набор утилит dtools. Управляем множеством UNIX-систем

Архив номеров / 2014 / Выпуск №6 (139) / Набор утилит dtools. Управляем множеством UNIX-систем

Рубрика: Администрирование /  How To

Набор утилит dtools
Управляем множеством UNIX-систем

В подчинении сисадмина обычно находится не один, а несколько серверов. Давать команды каждому по отдельности неэффективно, на помощь приходят специализированные инструменты – Fabric, pyDSH, dtools и другие

Первые два основаны на Python и при необходимости вполне могут заменить более сложные инструменты; dtools (Distributed tools [1]) написан на bash и по идеологии и подходу ближе к классическому shell, а поэтому очень прост в понимании и использовании. При необходимости dtools легко расширяется. В репозиториях дистрибутивов Linux dtools обычно не встречается, но его установка проста.

$ sudo apt-get install git

$ git clone https://github.com/ajdiaz/dtools.git

$ cd dtools

$ sudo cp dt dthost dtstatus /usr/bin

$ sudo cp -r lib /usr/lib/dtools

$ sudo cp -r doc/man/ /usr/share/man/man1

Все операции выполняются с помощью bash скрипта dt, cинтаксис выглядит просто:

dt pattern command arguments

Шаблоны представляют собой фильтр-выборку целевых хостов. Сами узлы описываются в базе, по умолчанию это файл ~/.dtdb, но с помощью параметра -D/--db можно указать любой другой файл (или, как вариант, изменить значение переменной DTOOLS_DB=~/.dtdb в самом скрипте). Каждый узел описывается в отдельной строке, после которой указываются тэги, которым он будет соответствовать.

localhost www smtp mysql

host1 www mysql wp

host2 www pg wp

Пример самый простой, на самом деле тэгов и узлов может быть много, и, таким образом, можно описать все возможные варианты для подачи команд. Как и принято в UNIX, названия регистрозависимы, то есть mysql и MySQL – это разные тэги.

Чтобы просмотреть список узлов для определенного тэга, необходимо использовать параметр list:

$ dt tag:www list

Возможна выборка узлов с несколькими тэгами. Например, выберем все хосты, у которых есть тэги mysql или wp:

$ dt tag:mysql+tag:wp list

Или нам нужны только узлы, у которых присутствуют оба тэга одновременно:

$ dt tag:mysql:tag:wp list

Все шаблоны описаны файлами в /usr/lib/dtools/patterns (в ~/.dtools/patterns шаблоны может создавать сам пользователь). Кроме указанных, есть также и операция отрицания, например, все тэги, кроме wp, можно отобрать с помощью tag:wp:not::, и другие шаблоны all (все), nil (по сути, пустышка), ec2 (узлы AWS EC2), out (внешний URL), и использование регулярных выражений.

Выборку возможно производить с помощью нескольких шаблонов. Но результат лучше вначале протестировать с помощью list или специального ключа -p/--pretend.

Для удобства можно использовать три парсера (dthost, dtstatus, dtcompact), выводящие результат в разной форме.

$ dt exp:.* list | dthost

Узлы в ~/.dtdb можно заносить вручную, но, когда список большой, это становится неудобно. Здесь проще использовать команду add. Добавим host3 с тэгом mysql:

$ dt sys:host3 add mysql

Операции производятся через SSH. Вначале следует подключиться по ssh к удаленной системе, и узел будет автоматически добавлен ~/.ssh/known_hosts. Это можно сделать и самому:

ssh-keyscan host >> ~/.ssh/known_hosts

Все должно работать автоматически. Но здесь есть нюансы. По умолчанию для аутентификации используется открытый ключ, а не логин/пароль, а поэтому в зависимости от ситуации будет выдаваться ошибка. Удобнее скопировать открытый ключ на удаленные системы, это можно сделать вручную или с помощью команды ssh-copy-id. Но в обычном режиме это вряд ли получится, поэтому следует использовать интерактивный (-i), вводя пароль к каждому узлу:

$ dt -i exp:.* ssh-copy-id ~/.ssh/id_dsa.pub

Здесь есть тонкость, не описанная в документации, – подключение производится с помощью текущей учетной записи, и как-либо указать иную нельзя. Но выход найти просто – узлы базы следует прописывать в стиле ssh, как user@host. Команды, которые может выполнять dtools, – это именно «внутренние» команды, а не команды ОС. Хотя для удобства они созвучны.

  1. Сайт dtools – http://ajdiaz.me/dtools.

Подготовил Сергей Яремчук


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru