Comment Recueillir des informations du serveur dans les secondes

A+ A-

Dans cet article, nous allons fournir une pointe d'amélioration de la productivité qui peut aider les administrateurs système d'économiser beaucoup de temps. Ici, nous allons apprendre sur la façon de recueillir les informations du serveur en secondes. Comme certains d'entre vous le savez, la collecte d'informations à partir des serveurs et de l'inventaire des actifs est l'une des principales responsabilités des administrateurs dans laquelle ils sont censés fournir des différentes commandes pour extraire des données. Cependant, nous essayons de réduire leur charge de travail en utilisant un script. J'espère que vous l'aimerez!

Gathering Information Server

Nous pouvons atteindre cet objectif en utilisant un script shell.

Création d'un fichier vide en utilisant la commande ci-dessous

 $ Touch serverinfo.sh 

Modifiez le fichier et ajoutez cette commande de script pour recueillir les informations du serveur.

 $ Vi serverinfo.sh
#! / Bin / bash
# Ce script recueillera les informations du serveur dans un petit temps.
MAILLIST=info@domain.com
DOMAIN = domaine
TEMP = / tmp / serverinfo
FILE = / tmp / serverinfo / info.txt
USERID = `-g` id
if [$ USERID == 0]; puis
echo "Le script est en cours d'exécution ..."
autre
echo "S'il vous plaît exécuter le script en utilisant l'utilisateur root"
Sortie
fi
mkdir / tmp / serverinfo
toucher /tmp/serverinfo/info.txt
echo -e "\ n"> $ FILE
echo "Collecte des informations du serveur" >> $ FILE
echo -e "\ n" >> $ FILEecho "collecte d'informations à partir du serveur ...."
echo "Date:` date` ">> $ FILE
echo "HostName:` ​​hostname` ">> $ FILE
echo "installé OS Version:` cat / etc / issue | tête -1` ">> $ FILE
echo "` / sbin / ifconfig -a | grep "inet addr" | awk 'BEGIN {FS = ":"}; {print $ 2}' `"> $ TEMP
echo "Adresse IP:` egrep '^ 10' $ TEMP | awk '{print $ 1}' `" >> $ FILE
## Identification Plate-forme matérielle ##
HF = `uname -i`
if [$ HF == i386]; puis
echo "Plate-forme matérielle 32 bits" >> $ FILE
else if [$ HF == x86_64]; puis
echo "Plate-forme matérielle: 64Bit" >> $ FILE
autre
echo "Matériel non apparié" >> $ FILE
fi
fi
## Informations OS ##
echo "" >> $ FILE
echo "## OS Version" >> $ FILE
tête -n1 / etc / issue >> $ FILE
echo -en '\ n' >> $ FILE
uname -a >> $ FILE
## Utilisation de l'UC Infos ##
echo "" >> $ FILE
echo "" >> $ FILE
echo "## CPU information" >> $ FILE
grep "nom du modèle" / proc / cpuinfo >> $ FILE
## RAM / MEMORY Utilisation Infos ##
echo "" >> $ FILE
echo "" >> $ FILE
echo "## Informations sur la mémoire" >> $ FILE
grep MemTotal / proc / meminfo >> $ FILE
y = `grep MemTotal / proc / meminfo | awk '{print $ 2}'`
mb = "$ (($ y / 1024))"
gb = "$ (($ mb / 1024))"
echo "RAM: $ gb GB" >> $ FILE
echo -e '\ n' >> $ FILE
echo "Utilisation Hard Disk Info" >> $ FILE
fdisk 2> & 1 | grep Disk | "L'identifiant" de grep | "Partition valide" grep | awk '{print $ 2, $ 3, $ 4}' >> $ FILE
echo -e '\ n' >> $ FILE
echo "services Running" >> $ FILE
Service --status-tout | grep en cours d'exécution. | Awk '{print $ 1, $ 5}' >> $ FILE
"Linux Serveur Asset Inventory` la hostname` "de / bin / mail $ MAILIST <$ FILE 

Nous avions besoin de changer le nom de domain.com avec votre système sont en conséquence le nom de domaine

Fournir l'autorisation d'exécution du script

Nous avions besoin de changer l'autorisation de fichier, de sorte que le fichier pourrait être exécutable

 $ Chmod -R 700 serverinfo.sh 

Ensuite, nous avions besoin pour exécuter ce fichier pour les informations de serveur avec la commande ci-dessous -

 $ ./serverinfo.sh
L'information échantillon sera ressembler à ceci
# Collecte des informations de serveur
Date: Thu 2 juin 20:16:56 EST 2016
HostName: mail.domain.com
Installé Version OS: CentOS release 6.8 (Final)
Adresse IP :
Plate-forme matérielle: 64Bit
## OS Version
CentOS 6.8 libérer (Final)
Linux mail.domain.com 2.6.32-642.1.1.el6.x86_64 # 1 SMP mar 31 mai 21:57:07 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux
## Information sur le CPU
Nom du modèle: Intel (R) Core (TM) CPU i7-3615QM @ 2.30GHz
Nom du modèle: Intel (R) Core (TM) CPU i7-3615QM @ 2.30GHz
## Informations sur la mémoire
MemTotal: 1016152 kB
RAM: 0 Go
mail.domain.com ne fait pas partie de NIS
Utilisation du disque dur Infos
/ Dev / sda: 68,7 Go,
/ Dev / mapper / volgroup-lv_root: 53.7 GB,
/ Dev / mapper / volgroup-lv_swap: 2113 MB,
/ Dev / mapper / volgroup-lv_home: 12.4 GB,
Les services en cours d'exécution
auditd en cours d'exécution ...
crond en cours d'exécution ... 

Modification du script à exécuter sur plusieurs serveurs

Si nous voulons exécuter ce script sur plusieurs serveurs, nous pouvons utiliser le fichier de script ci-dessous pour faire la même chose

 $ Vi /etc/multi_server.sh
if [ "$ #" = 0]; puis
echo "Usage: fichier multiserver.sh sh"
else if [-f "$ 1"]; puis
for i in `cat 1` $; faire scp serverinfo.sh root @ $ i: / root /; terminé
for i in `cat 1` $; faire ssh root @ $ i sh /root/serverinfo.sh; terminé
autre
echo "$ 1 non trouvé"
fi
fi 

Faire le mulit_server.sh de fichier exécutable en utilisant la commande ci-dessous

 $ Chmod 777 -R multi_server.exe
$ ./multi_server.sh 

En utilisant ce script un administrateur système peut collecter les informations du serveur avec facilité (CPU, pilotes de disque, Info mémoire, etc.). Nous pouvons utiliser ce script pour recueillir des informations sur de nombreux serveurs sur lesquels nous pouvons économiser beaucoup de temps et continuer à aller à la recherche d'autres tâches

Ads

Partager