Я хочу провести инвентаризацию оборудования моих систем Linux, используя только ssh на стороне клиента

Они представляют собой смесь Red Hat и CentOS 5.x, я хотел бы иметь что-то на одном хосте, которое может проверить основы, такие как cpu/mem/disk hardware, Model, HW RAID контроллеры и т. Д. Было бы неплохо.

У меня настроена ssh-аутентификация на основе ключей, но я не хочу ничего устанавливать на этих хостах. В худшем случае я мог бы найти что-то в / tmp, но не устанавливайте, пожалуйста.

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

Не могу ли я написать какой-нибудь Perl для запуска и обработки вывода dmidecode, lspci и т. Д.?

Если я это сделаю, я положу его куда-нибудь и ссылку на него.

Связанные вопросы, на которые нет ответа:
Получить информацию об оборудовании сервера для сервера Ubuntu
Как узнать подробности об оборудовании на машине с Linux? у этого был хороший кусок скрипта, но он ошибался.

7 ответов

Решение

Может быть, попробуйте http://www.cfg2html.com/ это всего лишь один сценарий bash, который выводит в html, который вы можете загрузить / загрузить в центральный каталог. Однако это просто вывод команд, поэтому довольно сложно представить его в структурированном формате, таком как sql/xml.

Вы можете установить Spiceworks в Windows VM. Он использует только ssh для инвентаризации хостов Linux.

Без установки какого-либо нового программного обеспечения в удаленных системах вы можете получить необработанный снимок состояния удаленного компьютера с помощью:

lspci > /tmp/`hostname`-lspci
tar -czvf `hostname`-proc-snapshot.tar.gz /proc /tmp/`hostname`-lspci --exclude=/proc/kcore

Затем скопируйте архив tar с удаленного сервера. Это даст вам: cpuinfo, meminfo, разделы и т. Д. Добавьте дополнительные команды и временные файлы для любой дополнительной информации, которая может вам понадобиться (логические тома, статус рейда и т. Д.)

В качестве незначительного бонуса вы получаете список запущенных процессов на удаленном компьютере в этот момент.

В зависимости от того, установлен ли в ваших системах Python2, вы также можете использовать Ansible.

ansible -m setup ${hostname}

Это выведет хороший JSON, который включает в себя CPU/RAM/HDD/Network и программную конфигурацию. Прочитайте документацию для получения дополнительной информации.

Если на компьютерах установлен lshw, вы можете использовать его, но он не предустановлен на Redhat и его производных. Для этого есть RPM, и вы можете извлечь необходимые файлы из RPM, SCP-файлы к компьютерам, создать несколько символических ссылок (скорее всего, ссылку из / usr / sbin / lshw на расположение tmp файла и из / usr / share / lshw в папку tmp папки), затем вы запускаете lshw и впоследствии удаляете символические ссылки. Это предполагает, что у вас есть права root / sudo...

Команда lshw дает вам много информации об оборудовании и может выводить ее в формате HTML или XML...

Скопируйте утилиты hw-probe и hwinfo в каталог temp на сервере и запускайте локально без установки чего-либо. Только что сделал это для одного из моих серверов.

Пример для CentOS 6:

  1. Подключиться к серверу

    ssh user@server
    
  2. Создать временный каталог

    mkdir -p /tmp/hw-inventory
    cd /tmp/hw-inventory
    
  3. Скачать собственно hwinfo а также libx86emu RPM бинарные пакеты

    wget http://mirror.ghettoforge.org/distributions/gf/el/6/gf/x86_64/hwinfo-20.2-1.gf.el6.x86_64.rpm
    wget http://mirror.ghettoforge.org/distributions/gf/el/6/gf/x86_64/libx86emu-1.1-1.gf.el6.x86_64.rpm
    
  4. Извлечь их

    rpm2cpio hwinfo-21.47-4.1.x86_64.rpm | cpio -id
    rpm2cpio libx86emu-1.1-1.gf.el6.x86_64.rpm | cpio -id
    
  5. Получить последнюю hw-probe скрипт

    wget https://github.com/linuxhw/hw-probe/archive/master.zip
    unzip master.zip
    
  6. Создать зонд

    sudo perl hw-probe-master/hw-probe.pl -all -upload -hwinfo-path ./usr/sbin/hwinfo
    
  7. Очистить локальный временный каталог

    cd ~/
    rm -fr /tmp/hw-inventory /root/HW_PROBE
    

Утилита вернет постоянный URL для просмотра собранных сведений об оборудовании и журналов, связанных с оборудованием (например, так).

Я только что добавил опцию -hwinfo-path в hw-probe:master чтобы упростить ваш вариант использования.

Если вы хотите провести инвентаризацию многих компьютеров, перейдите по https://github.com/linuxhw/hw-probe.

Я автор hw-probe Проект, не стесняйтесь задавать любые вопросы в комментариях к этому ответу.

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