Меню

13 команд для проверки железа на сервере Linux

13 команд для проверки железа на сервере Linux

Достаточно просто посмотреть «железные» компоненты вашего сервера в том случае, если он установлен поверх операционной системы на базе Windows. А что делать, если на сервере используется Linux – based операционная система? У нас есть ответ.

В Linux имеется множество различных команд, которые расскажут вам о процессорных или оперативных мощностях, дисках, USB или сетевых адаптерах, контроллерах или сетевых интерфейсах, а также о прочих «hardware» компонентах. Итак, спешим поделиться 16 командами, которые помогут вам познакомиться с сервером поближе.

lscpu

Самая простая команда для получения информации о процессорных мощностях (CPU) — lscpu . Она не имеет каких – либо дополнительных опций (ключей) и выполняется в единственном исполнении:

]# lscpu Architecture: i686 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 1 On-line CPU(s) list: 0 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 94 Stepping: 3 CPU MHz: 3191.969 BogoMIPS: 6383.93 Hypervisor vendor: Microsoft Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K

lshw – список железных компонентов

Данная команда позволяет получить информативное описание компонентов вашего сервера, в том числе CPU, памяти, USB/NIC, аудио и прочих:

]# lshw -short H/W path Device Class Description ===================================================== system Virtual Machine /0 bus Virtual Machine /0/0 memory 64KiB BIOS /0/5 processor Intel(R) Core(TM) i3-6100T CPU @ 3.20GHz /0/51 memory 4GiB System Memory /0/100 bridge 440BX/ZX/DX — 82443BX/ZX/DX Host bridge (AGP disabled) /0/100/7 bridge 82371AB/EB/MB PIIX4 ISA /0/100/7.1 scsi1 storage 82371AB/EB/MB PIIX4 IDE /0/100/7.1/0.0.0 /dev/cdrom1 disk DVD reader /0/100/7.3 bridge 82371AB/EB/MB PIIX4 ACPI /0/100/8 display Hyper-V virtual VGA /0/1 scsi2 storage /0/1/0.0.0 /dev/sda disk 160GB SCSI Disk /0/1/0.0.0/1 /dev/sda1 volume 500MiB EXT4 volume /0/1/0.0.0/2 /dev/sda2 volume 149GiB Linux LVM Physical Volume partition /1 eth0 network Ethernet interface

lspci – список PCI

Данная команда отображает список всех PCI – шин и устройств, подключенных к ним. Среди них могут быть VGA – адаптеры, видео – карты, NIC, USB, SATA – контроллеры и прочие:

]# lspci 00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX — 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03) 00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01) 00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) 00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02) 00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA

lsscsi – список SCSI устройств

Данная команды выведет список SCSI/SATA устройств, например, таких как оптические приводы:

]# lsscsi [3:0:0:0] disk ATA WD1600JS-55NCB1 CC38 /dev/sdb [4:0:0:0] cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0

lsusb – список USB – шин и подробная информация об устройствах

Команда расскажет про USB – контроллеры и устройства, подключенные к ним. По умолчанию, команда отобразит краткую информацию. В случае, если необходима глубокая детализация, воспользуйтесь опцией -v :

]# lsusb Bus 003 Device 001: ID 9c6a:00c1 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 092e:00de Microsoft Corp. Basic Optical Mouse v2.0

lsblk — устройства и партиции для хранения

Команда выведет информацию о разделах (партициях) жесткого диска и прочих устройствах, предназначенных для хранения:

]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom sda 8:0 0 149.6G 0 disk +-sda1 8:1 0 500M 0 part /boot L-sda2 8:2 0 149.1G 0 part +-VolGroup-lv_root (dm-0) 253:0 0 50G 0 lvm / +-VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP] L-VolGroup-lv_home (dm-2) 253:2 0 97.2G 0 lvm /home

df — информация о пространстве файловой системы

Команда отображает информацию о различных разделах, точек монтирования это разделов а также размер, занятое и доступное пространство для хранения:

]# df -H Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 53G 7.1G 43G 15% / tmpfs 2.1G 0 2.1G 0% /dev/shm /dev/sda1 500M 26M 448M 6% /boot /dev/mapper/VolGroup-lv_home 103G 143M 98G 1% /home

pydf — df на языке Python

Улучшенная версия команды df , написанная на Питоне. Подсвечивает вывод цветом, что улучшает восприятие:

fdisk

Утилита fdisk для управления разделами на жестких дисках. Помимо всего, утилита может использоваться для отображения информации:

]# sudo fdisk -l Disk /dev/sda: 160.7 GB, 160657440768 bytes 255 heads, 63 sectors/track, 19532 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000e0ba6 Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 19533 156378112 8e Linux LVM Disk /dev/mapper/VolGroup-lv_root: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000

mount

Утилита mount предназначена для управления и просмотра смонтированных файлов систем и соответствующих точек:

]# mount | column -t /dev/mapper/VolGroup-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) /dev/mapper/VolGroup-lv_home on /home type ext4 (rw) /var/spool/asterisk/monitor on /var/www/html/ast_mon_dir type none (rw,bind) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

Посмотреть общий объем оперативной памяти (RAM), свободный или занятый? Легко, с помощью команды free :

]# free -m total used free shared buffers cached Mem: 3919 3692 227 0 196 407 -/+ buffers/cache: 3088 830 Swap: 2015 0 2015

dmidecode

Данная команда отличается от остальных тем, что парсит информацию о железе из SMBIOS/DMI (очень детальный вывод).

#посмотреть информацию о cpu sudo dmidecode -t processor #ram информация sudo dmidecode -t memory #информация о bios sudo dmidecode -t bios

файлы /proc

В директории /proc существует целое множество файлов, содержимое которых расскажет множество интересной и полезной информации о компонентах. Например, информация о CPU и памяти:

#cpu информация cat /proc/cpuinfo #информация о памяти cat /proc/meminfo

Информация об операционной системе:

]# cat /proc/version Linux version 2.6.32-504.8.1.el6.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Jan 28 18:25:26 UTC 2015

]# cat /proc/scsi/scsi Attached devices: Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: Msft Model: Virtual CD/ROM Rev: 1.0 Type: CD-ROM ANSI SCSI revision: 05 Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: Msft Model: Virtual Disk Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 05

]# cat /proc/partitions major minor #blocks name 8 0 156892032 sda 8 1 512000 sda1 8 2 156378112 sda2 253 0 52428800 dm-0 253 1 2064384 dm-1 253 2 101883904 dm-2

Источник



Просмотр оборудования в Ubuntu

Содержание

  1. Общая информация о железе
  2. Информация о процессоре
  3. Материнская плата
  4. Оперативная память
  5. Информация о дисках в Ubuntu

В Linux существует множество вариантов просмотра информации о железе, на котором работает операционная система. В данной заметке я расскажу, как быстро посмотреть в Ubuntu состав оборудования, такого как процессор, память, диски и т.д. Рассмотрю несколько наиболее известных программ для этого, а так же то, что может показать сама операционная система.

Если вы только планируете устанавливать ubuntu, то можете воспользоваться моей подробной статьей на этот счет — установка ubuntu server. Так же вам может быть интересен мой обзор и сравнение сервера убунту с другими linux системами — Ubuntu Server — обзор для начинающих, сравнение, отзывы.

Общая информация о железе

Самый простой и быстрый способ посмотреть оборудование в Ubuntu — воспользоваться утилитой lspci, которая по умолчанию присутствует в системе даже в минимальной установке.

Мы здесь видим следующую основную информацию о железе:

  1. Модели северных и южных мостов.
  2. IDE, SATA, SCSI контроллеры.
  3. Графический контроллер.
  4. Модели сетевых интерфейсов.

Если вы добавите к команде ключ -v, то сможете увидеть более подробную информацию о каждом компоненте.

Информация о процессоре

Посмотреть модель и тип процессора в Ubuntu можно с помощью еще одной встроенной утилиты — lshw. Если запустить ее без ключей, то она выдаст очень много информации обо всех компонентах системы. Если вдруг у вас не окажется ее в системе, то поставить очень просто:

Читайте также:  Комплект оборудования для определения количества пустот в песке по ГОСТ Р 58402 4 2019

Чтобы посмотреть информацию только о процессоре, используйте отдельный ключ для этого.

С помощью lshw вы посмотрите следующие характеристики процессора в Ubuntu (на примере моего скриншота):

Производитель процессора Intel Corp.
Тип микросхема материнской платы Intel 440FX
Слот установки процессора slot: CPU 0
Частота процессора 2GHz
Разрядность 64 bits
Набор инструкций fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx x86-64 constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti
Количество ядер cores=4

Так же подробную информацию о процессоре можно получить с помощью dmidecode.

Вывод этой команды немного по-другому структурирован, но по содержимому практически идентичен lshw.

И не забываем про просмотр информации о процессоре напрямую от ядра операционной системы:

Здесь вы увидите отдельную информацию по каждому ядру процессора. Скорее всего она будет одинакова и совпадать с тем, что вы увидели от других утилит.

Материнская плата

Для того, чтобы на сервере с Ubuntu посмотреть информацию о материнской плате, можно воспользоваться все той же программой — dmidecode, указав соответствующий ключ.

Здесь вы можете увидеть основную информацию о материнской плате компьютера:

  • Производитель
  • Модель

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

Оперативная память

Для того, чтобы получить подробную информацию об оперативной памяти в Ubuntu, можно воспользоваться уже известной нам утилитой.

Здесь мы видим не только суммарный объем, но и разбивку по модулям памяти и объем каждого из них. А так же частоту, на которой каждый модуль работает.

Более подробную информацию об оперативной памяти смотрим с помощью dmidecode.

Тут мы видим следующую информацию о планках памяти:

  1. Форм фактор планок — DIMM.
  2. Тип памяти — DDR3.
  3. Номер слота, в который установлена память — A1_DIMM0.
  4. Скорость — 1333 MT/s.
  5. Производитель и серийный номер планки — Samsung 2137F421.

В целом, тут представлена вся так или иначе значимая информация по памяти. Искать какое-то другое отображение или вывод нет смысла.

Информация о дисках в Ubuntu

Узнать, какие диски используются в сервере и как посмотреть о них подробную информацию можно с помощью различных инструментов. Самый популярный из них — smartmontools. Обычно его нет в системе в базовом варианте, поэтому надо ставить отдельно.

Далее смотрим список всех дисков в системе:

Выбираем какой-то конкретный физический диск и смотрим по нему информацию.

А вот так можно посмотреть SMART диска в Ubuntu.

Если нет желания устанавливать какой-то сторонний софт на сервер, то краткую информацию обо всех дисках можно посмотреть следующим образом:

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

Все, на этом материал на тему просмотра информации о железе на сервере закончен. Удачной работы и хорошего аптайма!

Источник

Linux — начинающим. Часть 2. Установка Ubuntu Server

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

Так как основной системой для наших решений является Ubuntu Server, то ставить мы будем именно ее. Свежий релиз всегда можно получить со страницы: http://www.ubuntu.com/download/server. Мы настоятельно рекомендуем использовать только LTS-версии, как наиболее стабильные и имеющие продолжительный срок поддержки. Обычные версии, как правило, являются полигоном для обкатки новых технологий и могут работать нестабильно, не говоря уже о том, что срок поддержки в 9 месяцев абсолютно неприемлем для работающих серверных систем.

Первое что вы увидите, загрузившись с установочного носителя — это меню выбора языка:

От его выбора зависит не только то, на каком языке с вами будет общаться инсталлятор и система, но и какие локали будут сгенерированы. Набор локалей влияет не только на то, каким образом будут отображаться символы национальных алфавитов, но и на работу некоторых программ и служб, которые критичны к региональным установкам, например, Сервера 1С.

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

От автоматического определения раскладки следует отказаться:

И выбрать необходимую раскладку из списка, в большинстве случаев достаточно согласиться с выбором системы:

Затем следует указать комбинацию клавиш для ее переключения. Мы категорически не рекомендуем, если только это не ваша личная система, указывать что-либо иное, нежели принятое по умолчанию Alt+Shift. Потому как крайне неприятно, оказавшись в незнакомой системе, угадывать, какую именно комбинацию выбрал устанавливавший ее администратор.

Следующим шагом система попробует получить сетевые настройки, так как в большинстве сетей присутствует DHCP сервер, то уже на этом этапе система сконфигурирует сеть и получит доступ в интернет.

Если по каким-либо причинам автоматически получить сетевые настройки не удастся, вы можете указать их вручную или пропустить данный этап. Мы, исключительно с образовательной целью, выберем пункт Пропустить пока настройку сети.

После этого потребуется указать имя системы и имя пользователя. Следует помнить, что в Ubuntu учетная запись root отключена и созданный на этом этапе пользователь получает полномочия повышать свои права до суперпользователя при помощи команды sudo. Подробнее смотрите в нашей статье: Ubuntu Server — административные права пользователей. Также не забывайте, что Linuх — регистрозависимая система, поэтому правилом хорошего тона будет использование, в том числе и в именах пользователей, только нижнего регистра.

От предложения зашифровать домашний каталог также следует отказаться.

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

В российских реалиях может произойти так, что дистрибутив был выпущен раньше, чем были произведены изменения временных зон, и актуального пояса в списке нет, что мы и видим на рисунке выше. В этом случае следует выбрать тот пояс, который был до перевода часов и уже после установки и обновления системы воспользоваться рекомендациями из нашей статьи: Перевод часов в РФ 26 октября 2014 года — проблемы и решения.

После настройки времени мы переходим к наиболее ответственному этапу — настройке диска. Система предлагает несколько вариантов, среди которых автоматическая разметка. В большинстве случаев мы выбираем именно этот пункт. Если говорить о единственном диске, то мы не видим смысла разбивать его на разделы, за исключением настольных систем, где на отдельный раздел стоит вынести /home.

В нагруженных системах имеет смысл выносить разделы с данными, например, /var/www или /opt/zimbra, на отдельные дисковые массивы. Если вы хотите установить систему на программный RAID, то обратитесь к статье: Ubuntu Server. Настраиваем программный RAID. В остальных случаях смело выбирайте автоматическую разметку без LVM, в этом случае на диске будет создан раздел подкачки ( swap) размером в единицы ГБ и корневой раздел на остальном пространстве.

Еще один важный вопрос — установка обновлений. С одной стороны, обновления позволяют своевременно закрывать уязвимости и поддерживать систему в актуальном состоянии, с другой, неконтролируемое обновление вполне способно привести к серьезным сбоям. Как поступить — выбирать вам. Мы предпочитаем на ответственных системах устанавливать обновления вручную, после их тестирования на специально выделенной системе, но если вы настраиваете роутер, то обновления можно включить.

Читайте также:  Классификация по грузоподъемности

Установив основу системы, инсталлятор предложит вам выбрать наборы ПО для установки. Можно выбрать на этом этапе необходимые роли и получить готовую к настройке систему. Разве это плохо, особенно для начинающего администратора? Плохо! И вот почему: при таком подходе система остается для администратора «черным ящиком», нет представления о назначении отдельных пакетов, их роли и влиянии на систему в целом. Поэтому мы рекомендуем отказаться от предлагаемых вариантов и устанавливать требуемые пакеты вручную. Это поможет вам глубже понять систему и взаимодействие между ее компонентами. А когда вы станете чувствовать себя в среде Linux как рыба в воде, вы сами решите нужно ли вам устанавливать софт автоматически.

Поэтому не выбираем ничего и (нажав Tab) переходим к пункту Продолжить.

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

В завершение этого процесса инсталлятор предложит вам установить загрузчик, с этим предложением стоит согласиться, если только вы не планируете систему с какой-либо «хитрой» системой загрузки:

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

Итак, первый вход в систему, мы бы не стали об этом писать, если бы не читательский отклик, который показал, что на этом моменте у многих возникали затруднения. Так вот, в Linux-системах процесс ввода пароля никак визуально не отображается, вам просто нужно набрать нужную комбинацию символов и нажать Enter, хотя внешне система ведет себя так, как будто ничего не происходит. Такое поведение унаследовано от UNIX-систем и преследует цели безопасности, чтобы злоумышленник не мог узнать длину вашего пароля.

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

Прежде всего повысим свои права до суперпользователя:

И откроем редактором конфигурационный файл с настройками сети:

И приведем его содержимое к следующему виду:

Первая секция auto lo задает настройки для петлевого интерфейса и уже присутствует в файле. Вторая секция задает настройки внешнего сетевого интерфейса eth0 для работы со статическим адресом. Опции понятны и отдельных разъяснений не требуют, адреса, естественно, взяты исключительно для примера. Если в вашем сервере несколько сетевых адаптеров, то следует прописать секцию для каждого из них.

Допустим мы хотим получать настройки второго сетевого адаптера eth1 по DHCP, для этого добавим секцию:

Немного остановимся на опциях auto и auto-hotplug. Первая указывает инициировать подключение при загрузке, а вторая запускает механизм отслеживания горячего переподключения и инициировать получение адреса при наступлении данного события.

Закончив редактировать файл следует выйти из редактора по Ctrl + X, утвердительно ( Y) ответив на предложение записать файл.

После чего перезагрузите компьютер:

Если все сделано правильно, то система получит доступ к сети и интернет. Проверить это можно командой ping:

Прервать выполнение команды следует комбинацией Ctrl + С, запомните эту комбинацию, она еще не раз вам пригодится.

Просмотреть настройки сетевых интерфейсов можно командой

Этой же командой можно выяснить, какие именно сетевые карты видит система и под какими именами, для этого воспользуйтесь параметром HWaddr, который представляет MAC-адрес сетевой платы.

Перед тем, как приступить к дальнейшей настройке, систему следует обновить, для этого снова повысим права до суперпользователя и обновим список пакетов командой:

Затем обновим систему командой:

Внимательно изучаем вывод команды, как видим, по какой-то причине не обновляются три пакета, в данном случае это пакеты ядра. Поэтому попробуем обновить их вручную. Для этого выполним команду:

Которая установит новое ядро и пакеты зависимостей к нему. После обновления систему также рекомендуется перезагрузить.

После перезагрузки установим инструменты администрирования: пакет ssh для удаленного доступа к серверу и файловый менеджер mc, который значительно упрощает работу с системой.

Для запуска mc используйте простую команду:

если хотите запустить его с правами суперпользователя.

Работа с ним довольно проста, те кто работал в DOS с менеджерами Norton Commander или Volkov Commander вообще не должны испытывать затруднений.

Навигация осуществляется стрелками, переход между панелями клавишей Tab, а выделение клавишей Insert. Основные действия указаны внизу, цифры рядом с ними обозначают номер функциональной клавиши, отвечающей за это действие, так, например, F4 — Правка, F8 — Удаление, F10 — Выход. Вы всегда можете свернуть, а затем развернуть, mc сочетанием клавиш Ctrl + O и получить доступ к консоли.

Также советуем сразу произвести некоторые настройки, нажимаем F9 для переключения на верхнее меню, выбираем Настройки — Конфигурация.

В открывшемся окне стрелками перейдите на опцию Встроенный редактор и выберите ее при помощи клавиши Пробел. Для подтверждения настроек и выхода нажмите Далее.

Это позволит сразу использовать для редактирования конфигурационных файлов более удобный чем nano встроенный редактор.

В заключение проверим возможность удаленного подключения, для этого будем использовать популярную утилиту PuTTY (скачать). В последней версии просто достаточно указать IP-адрес или доменное имя сервера:

Однако, на всякий случай, проверьте в Window — Translation кодировку соединения, там должно быть указано UTF-8.

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

Источник

Системы мониторинга сервера Linux

В этой статье мы поговорим про системы мониторинга в Linux. Они позволяют отслеживать различные параметры работы сервера Linux, нагрузку на процессор, диск, доступное дисковое пространство и оперативную память. Если у вас под управлением находится только один сервер, то возможно системы мониторинга вам и не нужны. Вы можете в любой момент подключится к серверу по SSH и посмотреть все основные параметры с помощью htop.

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

1. Zabbix

Это одна из самых популярных промышленных систем мониторинга для Linux. Zabbix поддерживает сбор информации с нескольких серверов, мониторинг таких часто используемых служб, как Apache, Nginx, PHP-FPM, MySQL, PostgreSQL, Tomcat и многих других, а также обнаруживает и сообщает об различных типичных ошибках. Есть возможность отправки уведомления на электронную почту при возникновении определённого события. Это позволяет реагировать очень быстро на любые ошибки. Все настройки выполняются с помощью удобного веб-интерфейса и хранятся в базе данных MySQL. Вы также можете посмотреть текущие значения различных метрик сервера в разделе Monitoring -> Last data. Доступны графики для основных отслеживаемых параметров.

2. Nagios

Ещё одна популярная система мониторинга серверов для Linux. Она тоже позволяет отправлять уведомления администратору при возникновении каких-либо проблем с сервером. Можно добавить несколько хостов и система будет наблюдать за основными их параметрами: доступность, место на диске, работа SSH и HTTP сервисов, а также тому подобные вещи. Интерфейс Nagios выглядит намного проще, по сравнению с Zabbix, но зато её проще установить и не нужна база данных MySQL для работы.

3. Cacti

Эта система мониторинга тоже довольно старая и интерфейсом похожа на Nagios. Но цель у неё другая. Cacti разработана для просмотра графиков состояния различных системных параметров за определённое время. Тем не менее, при необходимости здесь тоже можно настроить уведомления. Очень часто используется не столько для мониторинга серверов, сколько для отслеживания нагрузки на сеть с помощью SNMP (Simple Network Management Protocol). Cacti достаточно сложная в настройке, потому что для неё надо создать базу данных, пользователя и установить PHP, Apache и всё подготовить.

Читайте также:  По каким документам должны проводится испытания и измерения оборудования

4. Monit

Monit — это очень простой инструмент для мониторинга состояния серверов с открытым исходным кодом. Установка программы сводится к загрузке пакета из официальных репозиториев и правки одного конфигурационного файла. Но практически вся настройка мониторинга выполняется в конфигурационных файлах. Веб-интерфейс можно использовать только для просмотра информации о работе сервера и отслеживаемых сервисов. Можно отслеживать доступность портов на удалённых серверах, а также при не доступности какого либо порта или сервиса отправлять уведомление на почту.

5. Icinga 2

Icinga 2 — это улучшенная версия открытой системы мониторинга Icinga, которая в свою очередь была создана как форк Nagios в 2009 году. Для её работы вам уже понадобится создать несколько баз данных MySQL или PostgreSQL. Это одна из программ, имеющих современный интерфейс, которым приятно пользоваться. Позволяет отслеживать события в системе, а также отправлять уведомления на почту при возникновении проблем. Отслеживается место на диске, раздел подкачки, доступность запущенных сервисов, нагрузка на процессор с помощью load_average, а также доступные для обновления пакеты.

6. Observium

Observium — инструмент, написанный на PHP, позволяющий выполнять мониторинг доступности серверов в сети, а также сетевую нагрузку на их интерфейсы с помощью SNMP. Программа имеет простой и приятный интерфейс и её не очень сложно установить. Отслеживаемые серверы можно добавить как с помощью веб-интерфейса, так и в командной строке. Можно настроить отправку уведомлений если какой-либо из серверов стал недоступен.

7. Netdata

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

8. Munin

Munin — ещё одна очень простая система мониторинга с открытым исходным кодом, использующая RRDTool для генерации графиков. Функциональность стандартная для подобного рода систем — можно просматривать графики производительности, а если случается что-то непредвиденное — то отправлять уведомления на почту. Довольно простая в установке, потому что есть в официальных репозиториях многих дистрибутивов. Можно отслеживать не только сервер, на котором установлена система, а и другие серверы.

9. Prometheus

Это современная система мониторинга Linux с открытым исходным кодом, полностью написанная на Go. Она состоит из нескольких компонентов, которые надо устанавливать отдельно. Основной из них — сервер Prometheus, собирающий данные со всех хостов, позволяющий их анализировать и выводить графики. Для установки на удалённые машины используется компонент Node_exporter — собирающий данные и передающий их на сервер. А для отправки уведомлений об внештатных ситуациях используется компонент Alert_manager. Система не очень сложная в настройке и довольно удобная. Первый релиз состоялся в 2014 году, поэтому всё выглядит довольно современным. В веб-интерфейсе выводится только информация, большинство настроек выполняются редактированием YAML файлов.

10. Graphite

Это более старая система мониторинга, по сравнению с Prometheus, написанная на Python. Graphite тоже состоит из нескольких компонентов. Это агент для сбора данных Carbon, база данных Whisper и интерфейс для отображения графиков Graphite-Web. Как и в большинстве предыдущих систем здесь можно отправлять уведомления о возникновении проблем, а также просматривать графики различных параметров работы сервера.

Сборка из агента, базы данных и веб-интерфейса

Если вас не устраивает ни одна из существующих систем мониторинга, вы можете собрать свою на основе отдельных компонентов. Использовать агент для сбора данных из одной системы, базу данных для хранения собранного, а также удобный веб интерфейс.

В качестве агента сбора данных можно использовать один из перечисленных выше от систем мониторинга или же отдельный, например, Collectd, Telegraf или другие. В качестве базы данных часто используют InfluxDB, написанную на Go, а в качестве веб-интерфейса очень популярна Grafana. Это очень простой и красивый инструмент для рисования графиков на основе меняющихся со временем данных.

Выводы

В этой статье мы рассмотрели системы мониторинга для Linux, которые вы можете использовать в своих проектах. Конечно, это далеко не все решения, а только лучшие из них. Все программы доступны бесплатно или имеют бесплатную версию. А какие системы мониторинга используете вы для решения своих задач? Что-то было упущено в этом списке? Напишите в комментариях!

Источник

Получаем информацию об оборудовании в Linux

Рассмотрим несколько полезных команд и утилит с помощью которых можно получить информацию об оборудовании в Linux. Такая потребность возникает, например, тогда, когда вам нужно установить драйвер для какого-нибудь устройства компьютера и вам нужно знать его точное название. Или, например, вы хотите получить информацию о занимаемой памяти или ресурсах компьютера.

Информация о процессоре (CPU)

Получить всю необходимую информацию о центральном процессоре в Linux можно выполнив в терминале команду:

Чтобы определить является ли ваш процессор 32-х или 64-битным нужно просмотреть флаги, которые указаны в выводе команды. Если среди флагов присутствует lm (long mode), это означает, что ваш процессор 64-битный. Например, при выполнении команды cat /proc/cpuinfo мы можем получить следующие флаги:

Информация о PCI устройствах (информация о видео-карте)

С помощью команды lspci можно вывести всю информацию о PCI устройствах:

Эту команду часто используют, чтобы получить информацию о видео-карте. Так как вывод команды lspci достаточно большой, то можно воспользоваться командой grep, чтобы задать условие поиска. Например, если мы знаем, что у нас видео-карта от Nvidia, тогда можно воспользоваться командой:

И в результате получить что-нибудь вроде:

Обратите внимание на то, что команда grep чувствительна к регистру символов и поэтому, если вы с первого раза не нашли то, что искали, то стоит попробовать другое написание, например, nvidia, NVIDIA или просто idia. Аналогично можно искать информацию в выводе любых других команд, добавляя к команде: «| grep строка-поиска.

Информацию о версии драйвера для видео-карт Nvidia в Linux можно получить выполнив:

Информация об оперативной памяти (ОЗУ)

Чтобы получить информацию об объеме, а также о количестве свободной и занятой оперативной памяти можно воспользоваться командой:

Информацию о виртуальной памяти можно получить командой vmstat:

Если вам нужна более детальная информация о процессах, занимающих оперативную память, о загруженности процессора (CPU), тогда можно использовать утилиты Top или htop. Утилита top как правило всегда присутствует в Linux. Для ее запуска просто выполните:

Информация о жестких дисках

Информация о разделах жесткого диска в Linux:

Информация о монтированных разделах, количество свободной и занятой памяти:

Есть еще одна полезная команда du, которая выводит информацию о размере каждого файла в текущей и во вложенных директориях. Если вы хотите получить информацию обо всех файлах в текущей директории выполните команду без параметров:

В качестве параметра можно задать имя файла, например, чтобы узнать размер файла abc.bin выполните:

Информация о USB устройствах и шинах USB

Для вывода информации о шинах USB и о подключенных USB устройствах используется команда lsusb:

Неконсольные программы

Рассмотрим несколько графических программ, которые помогут при работе с оборудованием.

В среде рабочего стола Gnome есть графическая утилита System monitor (Системный монитор). Она выводит информацию об использовании процессора, о запущенных процессах (приложениях), информацию о жестких дисках, а также выводит графики, включая использование сети. Из командой строки ее можно запустить выполнив:

Системный монитор Gnome в Linux

Программа Gparted

Для работы с жесткими можно воспользоваться программой GParted.

Дополнительная информация

Напоследок обязательно стоит упомянуть об очень важной команде lshw, которая выводит практически всю информацию о вашем компьютере. Команду lshw нужно запускать под пользователем root:

Чтобы вывести краткую информацию используется ключ -short:

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

Например, чтобы получить всю информацию о команде du, выполните команду:

Источник