Skip to content

Latest commit

 

History

History
90 lines (64 loc) · 5.66 KB

README.md

File metadata and controls

90 lines (64 loc) · 5.66 KB

Linux manager

Общее описание модуля расширения

Linux manager - модуль расширения, предназначенный для обеспечения функционала мониторинга и управления оборудования и виртуальных машин на базе ОС Linux.

  1. Мониторинг и сбор данных включает в себя:

    • Сбор доступности оборудования;
    • Сбор серийного номера;
    • Сбор данных о сетевых интерфейсах хоста;
    • Сбор модели и вендора;
    • Сбор времени работы;
    • Сбор инвентарных данных по ОЗУ;
    • Сбор инвентарных данных по ЦПУ;
    • Сбор инвентарных данных по дискам;
    • Сбор данных по дискам по технологии SMART;
    • Сбор статистики утилизации ЦПУ;
    • Сбор статистики утилизации ОЗУ;
    • Сбор статистики утилизации дискового пространства;
    • Сбор инвентарных данных PCI слотов и устройств;
    • Сбор данных по ОС хоста.
  2. Управление включает в себя:

    • Выполнение загруженных пользователем скриптов;
    • Установка ПО с помощью скриптов;
    • Выключение оборудования;
    • Soft выключение оборудования;
    • Перезагрузка оборудования;
    • Soft перезагрузка оборудования;
    • Установка агентов мониторинга.

Разработка собственного windows модуля расширения

Используемые технологии

gRPC

gRPC (Remote Procedure Calls) — это система удалённого вызова процедур (RPC) с открытым исходным кодом, первоначально разработанная в Google в 2015 году. В качестве транспорта используется HTTP/2, в качестве языка описания интерфейса — Protocol Buffers. Данный протокол используется для межсервисного общения в системе. Для корректной работы протокола необходимо, чтобы отправляющая и принимающая сторона имели одинаковые прото-файлы. прото-файлы описывают классы и их аттрибуты, используемые для общения и вяглядят следующим образом:

syntax = "proto3";

package tool_cluster.v4;

import "shared_common.proto";

// Описание источника сбора данных.
message DeviceDataIdentity
{
  // Идентификатор устройства.
  string device_id = 1;
  // Идентификатор объекта прав доступа.
  string access_object_id = 2;
  // Идентификатор rpc, с которого были собраны данные.
  ServiceSource source = 3;
}

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

SSH

SSH (Secure Shell) — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). По данному протоколу производится передача и выполнение shell команд на оборудовании с целью сбора информации об установленном оборудовании, состоянии системы и пр.

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

Nats

NATS - это система обмена сообщениями с открытым исходным кодом. Сервер NATS написан на языке программирования Go. Основными принципами проектирования NATS являются производительность, масштабируемость и простота использования. Аббревиатура NATS расшифровывается как Нейронная автономная транспортная система.

При помощи этого брокера сообщений производится общение между агентами и Linux manager.

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