Как получить конфигурацию сетевой карты удаленно с нескольких машин Linux? - PullRequest
1 голос
/ 09 сентября 2010

Мне нужен инструмент / скрипт для извлечения конфигураций сетевых карт с нескольких компьютеров Linux, в основном Red Hat Enterprise 5. Я знаю только некоторые базовые bash, и мне нужно что-то, что можно запускать удаленно, извлекая имена серверов из CSV.Он также должен быстро и легко запускаться нетехническими типами с компьютера с Windows.Я нашел WBEM / CMI / SBLIM, но я бы не стал писать целое приложение на C ++.Может кто-нибудь указать мне инструмент или сценарий, который мог бы сделать это?

Ответы [ 3 ]

0 голосов
/ 10 сентября 2010

Для серверов Red Hat Enterprise Linux вам, вероятно, просто нужно взять копию файлов в /etc/sysconfig/networking/devices/ с каждого сервера. Вы можете использовать sftp клиент для достижения этой цели более ssh.

(файлы представляют собой простые текстовые файлы конфигурации, содержащие конфигурацию сетевого устройства)

0 голосов
/ 25 мая 2013

Если вы хотите использовать для этого WBEM / CIM (как упоминалось в исходном вопросе) и предпочитаете среду сценариев, а не язык программирования, такой как C / C ++ / Java, то есть PyWBEM и PowerCIM как два способа сделать это в Python. Если это должен быть bash и т. Д., То есть клиенты командной строки (такие как cimcli из проекта OpenPegasus или wbemcli из проекта SBLIM), и вы можете проанализировать их вывод. Лично я предпочел бы подход на основе Python, использующий PyWBEM. Он очень прост в использовании, подключение к серверу CIM - это одна строка, а перечисление экземпляров CIM - еще одна строка.

На стороне системы Linux, которую вы хотите запросить, сервер CIM должен будет работать (tog-pegasus или sfcb) вместе с правильными пакетами поставщика CIM (sblim). Преимущество этого подхода в том, что ваш интерфейс будет одинаковым независимо от того, какой дистрибутив Linux вы используете. Разбор конфигурационных файлов часто зависит от типа дистрибутива Linux, и я видел, как они менялись в разных версиях.

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

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

Andy

0 голосов
/ 10 сентября 2010

Можете ли вы дать более подробную информацию о том, какую информацию вам нужно получить? Различные параметры ifconfig дают довольно много информации о конфигурации сетевой карты компьютера с Linux, поэтому, если вы сможете сделать это таким образом, это будет очень легко. Просто напишите скрипт, который преобразует CSV в нечто, разделенное пробелами, и тогда вы можете сделать что-то вроде:

#!/bin/bash

for host in $HOSTS ; do
    CARDINFO=`ssh $host 'ifconfig'`
    # Do whatever processing you need on CARDINFO here
done

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

...