Документирование данных сервера

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

Мне нужно документировать сервер, на котором я работаю, и он должен включать следующие главы:

  1. IP-адрес ->
  2. Модель-> (Dell....)
  3. CPU -> (@ X Quad-core....)
  4. RAM -> (48GB...)
  5. Внешний адаптер ->(Dell Perc...)
  6. Диск локальный ->(6 х 1Тб рейд....)
  7. Внешний адаптер ->(Dell Perc...)
  8. Диск прикреплен -> (....)
  9. Емкость внешнего диска -> (.....)

В скобках я указал вид документации, необходимой для каждой главы.

Существует ли какая-либо одна команда (shell/bash) или группа команд, которые можно использовать для получения документации такого типа для моего сервера.

6 ответов

Вот быстрый скрипт / коллекция команд, чтобы вы начали. Добавьте команды (ifconfig, lspci и т. Д.) По своему усмотрению:

#!/bin/bash
# hwcollect.sh - Collect general system information

# Hostname
echo -e "$HOSTNAME \n"

# Display system manufacturer, model, serial and other attributes
dmidecode -t 1 | egrep '(Manufacturer|Product|Serial)'
dmidecode -t 3 | egrep '(Height)';
dmidecode  -t processor| egrep '(Socket|Version)'
# Calculate installed RAM
dmidecode -t 17 | awk '( /Size/ && $2 ~ /^[0-9]+$/ ) { x+=$2 } END{ print "\t" "Installed Ram: " x "MB"}'

echo " "
echo "Disk Information"
# Filesystem mounts
df -h
# Display disk partition table    
fdisk -l

Я могу запустить быстрый цикл ssh или запустить его индивидуально с исходного хоста, используя что-то вроде: ssh targethost < hwcollect.sh

Пример:

[root@xetra ~]# ssh Test_Server < hwcollect.sh
Pseudo-terminal will not be allocated because stdin is not a terminal.
Test_Server 

        Manufacturer: HP
        Product Name: ProLiant DL380 G6
        Serial Number: 2UX12345KT      
        Height: 2 U
        Socket Designation: Proc 1
        Version: Intel(R) Xeon(R) CPU X5570 @ 2.93GHz            
        Upgrade: Socket LGA1366
        Socket Designation: Proc 2
        Version: Intel(R) Xeon(R) CPU X5570 @ 2.93GHz            
        Upgrade: Socket LGA1366
        Installed Ram: 32768MB

Disk Information
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p2      20G  5.1G   14G  28% /
/dev/cciss/c0d0p7     3.0G   74M  2.7G   3% /tmp
/dev/cciss/c0d0p6     5.9G  2.3G  3.3G  42% /var
/dev/cciss/c0d0p3     9.7G  4.7G  4.6G  51% /usr
/dev/cciss/c0d0p1      99M   39M   55M  42% /boot
/dev/cciss/c0d0p8     573G  433G  140G  76% /scratch
/dev/cciss/c0d0p9     1.1T  702G  348G  67% /data
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sda1             400G  298G  103G  75% /data/datatest

Disk /dev/cciss/c0d0: 1800.2 GB, 1800280694784 bytes
255 heads, 63 sectors/track, 218871 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

           Device Boot      Start         End      Blocks   Id  System
/dev/cciss/c0d0p1   *           1          13      104391   83  Linux
/dev/cciss/c0d0p2              14        2624    20972857+  83  Linux
/dev/cciss/c0d0p3            2625        3929    10482412+  83  Linux
/dev/cciss/c0d0p4            3930      218871  1726521615    5  Extended
/dev/cciss/c0d0p5            3930        6018    16779861   82  Linux swap / Solaris
/dev/cciss/c0d0p6            6019        6801     6289416   83  Linux
/dev/cciss/c0d0p7            6802        7193     3148708+  83  Linux
/dev/cciss/c0d0p8            7194       81891   600011653+  83  Linux
/dev/cciss/c0d0p9           81892      218871  1100291818+  83  Linux

Disk /dev/sda: 429.4 GB, 429496729600 bytes
255 heads, 63 sectors/track, 52216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       52216   419424988+  83  Linux

Facter, используемый в Puppet, будет собирать большую часть этой информации для вас из коробки. Довольно легко добавить к нему любые другие "факты", которые вы хотите собрать.

Куча команд, чтобы вы начали.

dmidecode

дф-ч

lscpu

бесплатно -g

Утилита lspci

lsusb

IP-адрес

uname -a

lshw - это команда, которую вы ищете.

dmesg (aka Driver Message) предоставит вам всю эту информацию и многое другое.

Изменить: На самом деле, он не даст вам IP-адрес, но ifconfig даст вам это.

Мы запускаем ocs-ng для управления клиентом Windows7, а "aptitude install ocsinventory-agent" устанавливает агент debian/Linux. Также dmidecode используется для инвентаризации оборудования.

Другие вопросы по тегам