Назад | Перейти на главную страницу

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

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

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

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

Я застрял в написании Perl для запуска и обработки вывода dmidecode, lspci и т. Д.?

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

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

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

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

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

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

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

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

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

ansible -m setup ${hostname}

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

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

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

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

Пример для 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#inventory.

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