Comment chercher configs carte réseau à distance à partir de plusieurs machines Linux?

StackOverflow https://stackoverflow.com/questions/3680017

  •  02-10-2019
  •  | 
  •  

Question

Je besoin d'un outil / script pour récupérer les configurations de carte réseau à partir de plusieurs machines Linux, la plupart du temps Red Hat Enterprise 5. Je ne sais que certains bash de base, et je besoin de quelque chose qui peut être exécuté noms de serveur à distance en tirant à partir d'un fichier CSV. Il faut également être exécuté rapidement et facilement par types non techniques d'une machine Windows. J'ai trouvé WBEM / CMI / SBLIM, mais je préfère ne pas écrire ensemble l'application C ++. point Quelqu'un peut-il me un outil ou d'un script qui pourrait arriver?

Était-ce utile?

La solution

Pour Red Hat Enterprise Linux serveurs, vous avez probablement juste besoin de prendre une copie des fichiers dans /etc/sysconfig/networking/devices/ de chaque serveur. Vous pouvez utiliser un client sftp pour accomplir que plus ssh.

(Les fichiers sont tout simplement facile à lire des fichiers de configuration de texte contenant la configuration du périphérique réseau)

Autres conseils

Pouvez-vous donner plus de détails quant à l'information dont vous avez besoin pour tirer? Les différents paramètres à ifconfig donner beaucoup d'informations sur une configuration de la carte réseau de la machine Linux, donc si vous pouvez le faire de cette façon, il sera très facile. Il suffit d'écrire un script qui convertit le CSV en quelque chose de blanc espace délimité, et vous pouvez faire quelque chose comme:

#!/bin/bash

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

C'est une esquisse très approximative de la pseudo-code. Vous aurez également besoin de mettre en place SSH sur les hôtes passwordless vous souhaitez accéder, mais qui est facile à faire sur Red Hat.

Si vous voulez utiliser WBEM / CIM pour que (comme mentionné dans votre question initiale), et que vous préférez un environnement de script sur un langage de programmation tels que C / C ++ / Java, puis il y a PyWBEM et PowerCIM que deux façons de faire en Python. Si elle a besoin d'être bash etc, alors il y a des clients en ligne de commande (comme cimcli du projet OpenPegasus ou wbemcli du projet SBLIM) et vous pourriez analyser leur production. Personnellement, je préférerais une approche basée sur Python en utilisant PyWBEM. Il est très facile à utiliser, la connexion à un serveur CIM est une ligne et qui énumèrent les instances de CIM d'une classe est une ligne supplémentaire.

Du côté du système Linux vous voulez requête, le serveur CIM aurait besoin d'exécuter (TOG-pegasus ou sfcb) ainsi que les bons paquets de fournisseur de CIM (de sblim). Cette approche a l'avantage que l'interface sera la même quelle que soit la distribution Linux que vous utilisez. Les fichiers de configuration de l'analyse est souvent dépendante du type de distribution Linux et je les ai vus changer entre les versions.

L'un des objectifs principaux de la CIM est de fournir des interfaces fiables qui sont compatibles entre les différents types d'environnements et que le changement au fil du temps que compatiblement.

Last but not least, l'utilisation CIM vous permet de vous évader sans avoir à installer un logiciel agent sur le système que vous voulez inspecter (aussi longtemps que vous pouvez faire en sorte que fonctionne le serveur CIM).

Andy

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top