Рейтинг:0

Массовое администрирование в Linux

флаг om

Мне любопытно, есть ли в Linux что-то близкое к тому, что может сделать PowerShell, когда дело доходит до управления серверами в Enterprise? Например, получение информации о сервере в большом масштабе, а также внесение изменений. Я знал, что Posh проникает на территорию Linux, но я не уверен, как много он может сделать для Linux. Кроме того, может ли Linux возвращать данные более структурированным образом в форма предметов и т.д.?

флаг ug
Привет, я думаю, что другим пользователям будет сложно дать вам хороший ответ на этот вопрос. Не могли бы вы немного описать, чего вы пытаетесь достичь? Я имею в виду следующее: вопрос связан с автоматизацией инфраструктуры или соответствием требованиям, или же это совершенно иной фон. Всегда помните: люди с большей вероятностью дадут вам точный и полезный ответ, чем точнее будет ваш вопрос!
Рейтинг:1
флаг cn
Bob

PowerShell — это просто язык сценариев. Сам по себе он не более мощный и полезный, чем любой другой скриптовый язык или инструмент.

ИМХО Вы путаете (мощь этого) инструмента с удобством и мощью, которые предоставляет единый домен управления, такой как Active Directory.

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

https://en.wikipedia.org/wiki/List_of_systems_management_systems

https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software

https://en.wikipedia.org/wiki/System_Security_Services_Daemon

https://github.com/puppetlabs/фактор

ganherngyih avatar
флаг om
Возможно, вы правы в том, что POSH настолько же хорош, насколько и существование AD. Но POSH предлагает широкий доступ к каждому классу, такому как GWMI (да, требуется аутентификация Kerberos или что-то подобное). Я уверен, что одна из ссылок, которые вы дали, может иметь то, что мне нужно. Спасибо
Рейтинг:0
флаг cn

Для массового управления Linux-серверами я лично использую pssh (параллельный ssh), а также инструменты управления конфигурацией (CM), такие как puppet/ansible/chef, для массового администрирования машин. Инструменты CM похожи на манифесты (этот файл должен быть здесь, эта программа всегда должна быть запущена и т. д.), а параллельный ssh ​​аналогичен запуску отдельных команд bash, за исключением одновременного выполнения на большом количестве машин. Вероятно, есть много других инструментов для выполнения того же самого, в Linux обычно есть много хороших способов сделать что-либо (кроме чтения электронной почты в формате html из командной строки).

В то время как bash и инструменты пользовательского пространства linux не имеют концепции объектов, их возможности обработки текста и данных просто фантастические и почти не имеют ограничений по размеру. Кроме того, буквально все, что можно использовать из командной строки, также предназначено для использования в сценариях bash. Конечный результат чрезвычайно мощный.

ganherngyih avatar
флаг om
Это, возможно, самое близкое из того, что я ищу. Но, как вы сказали, вы, вероятно, получите кучу строк. Не могли бы вы подробнее рассказать о возможностях обработки текста и данных? Я ценю ваши отзывы
флаг cn
Вы можете сортировать неограниченное количество данных (насколько я могу судить), дедуплицировать, токенизировать - разделять их на основе символов или столбцов, как умных, так и глупых, заменять слова, искать или заменять на основе регулярного выражения (своего рода поиск/замена /etc), передавать его любому инструменту командной строки в качестве входных данных или параметров, сжимать повторяющиеся символы и т. д. — почти любые другие виды манипуляций с данными, о которых вы только можете подумать. Есть даже такой инструмент под названием diff, который буквально для любых двух файлов скажет вам минимальное количество изменений, чтобы превратить файл1 в файл2.
флаг cn
Например, возможность передавать данные другим инструментам миллионами способов тоже очень полезна. Вы можете направить вывод команды cli в инструмент, который сохраняет все в буфере обмена. Вы можете заставить командную строку обрабатывать вывод команды как файл... я имею в виду, что возможности кажутся почти безграничными.
Рейтинг:0
флаг br

я использую Ансибль и люблю это. Что меня действительно зацепило в первую очередь, так это ansible_facts. Одна простая пьеса вернет огромное количество информации о данной системе. Раньше я просто сохранял вывод и искал его для ключ: значение пара, которую я хотел. Вероятно, есть лучший способ сделать это.

В простейшем примере конфигурации вы ведете «инвентарь» хостов, на которых хотите запустить Ansible. Это что-то вроде:

[мои_хосты]
host1.mydomain.com
host2.mydomain.com
...

Затем вы можете запустить Ansible «playbook» на my_hosts и он поразит каждый хост, который вы настроили в этом блоке. Playbook — это просто конфигурация YAML, содержащая команды, переменные и форматирование, которое понимает Ansible. Это не сценарий оболочки. Это «способ» сообщить Ansible, что делать на хосте. Мне потребовалось некоторое время, чтобы обернуть вокруг себя голову.

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

---
- хозяева: все
  сбор_фактов: ложь

  задачи:
    - имя: время работы хоста
      оболочка: безотказная работа
      регистр: вывод

    - отладка: var=output.stdout_lines

    # вывести отформатированную строку для майнинга grep/sed
    - отладка: msg="grepme {{ inventory_hostname }}: {{ output.stdout_lines}}"

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

ganherngyih avatar
флаг om
Как результат? Я слышал, что Ansible очень полезен в Linux.
Nstevens avatar
флаг br
Вывод — это не одна строка на хост, которую вы легко `grep` или `sed`, но когда вам это нужно, вы просто распечатываете форматирование в задаче `debug`. Я обновлю свой ответ и пример.

Ответить или комментировать

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