Template manager - модуль расширения, предназначенный для обеспечения функционала по шаблонизированному мониторингу, сбору данных по метрикам и собщений лога устройств.
-
Мониторинг и сбор данных включает в себя:
- Мониторинг доступности по протоколу SNMP;
- Получение серийного номера, вендора, модели;
- Сбор данных операционной системы, температуры, электропитания, информации о сетевых интерфейсах;
- Сбор данных сенсоров;
- Сбор инвентарной информации;
- Сбор сообщений лога с удаленных машин и проверка их на соответствие шаблону.
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;
}Более подробно прочитать о протоколе можно перейдя по следующим ссылкам: https://ru.wikipedia.org/wiki/GRPC https://learn.microsoft.com/ru-ru/dotnet/architecture/cloud-native/grpc
SNMP (англ. Simple Network Management Protocol — простой протокол сетевого управления) — стандартный интернет-протокол для управления устройствами в IP-сетях. К поддерживающим SNMP устройствам относятся маршрутизаторы, коммутаторы, серверы, рабочие станции, принтеры, модемные стойки и другие. Протокол обычно используется в системах сетевого управления для контроля подключённых к сети устройств на предмет условий, которые требуют внимания администратора. На устройствах поддерживающих данный протокол хранятся таблицы с данными, состоящей из пути и значения. При отпрваке запроса к необходимому пути, оборудование присылает значение лежащее в соответствующей ячейки таблицы.
Пример таблицы
.1.3.6.1.2.1.1.1.0 = STRING: "RouterOS CHR"
.1.3.6.1.2.1.1.3.0 = Timeticks: (225250400) 26 days, 1:41:44.00
.1.3.6.1.2.1.1.4.0 = ""
.1.3.6.1.2.1.1.5.0 = STRING: "RouterOS"
.1.3.6.1.2.1.1.6.0 = ""
.1.3.6.1.2.1.1.7.0 = INTEGER: 78
.1.3.6.1.2.1.2.1.0 = INTEGER: 4
.1.3.6.1.2.1.2.2.1.1.1 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.2.1 = STRING: "ether1"Общий вид используемого SNMP-запроса выглядит следующим образом:
snmpbulkwalk -OentU -v version -l security_name -u Login -a auth_protocol -A auth_key -x private_protocol -X private_key -c community -n context address oidСоставляющие запроса:
snmpbulkwalkКоманда для получения данных-OentUПараметры вывода информации-v versionВерсия протокола-l security_nameУровень аутентификации: noAuthNoPriv / authNoPriv / authPriv-u LoginЛогин безопасности (только для версии 3)-a auth_protocolИспользуемый протокол аутентификации (только для версии 3)-A auth_keyКлюч для аутентификации (только для версии 3)-x private_protocolИспользуемый алгоритм шифрования (только для версии 3)-X private_keyКлюч для шифрования (только для версии 3)-c communityCommunity слово (пароль для версий 1 и 2)-n contextКонтекст подключения (только для версии 3)-addressIP адрес устройства-oidИдентификатор (путь) к запрашиваемому атрибуту
Пример запроса
snmpbulkwalk -OentU -v '2' -c 'public' '192.168.1.27' '.1.3.6.1.2.1.1.1.0'
STRING: "RouterOS CHR"Ответ на него
'STRING: "RouterOS CHR"'Более подробно прочитать о протоколе можно перейдя по следующим ссылкам: https://ru.wikipedia.org/wiki/SNMP https://learn.microsoft.com/ru-ru/windows/win32/snmp/simple-network-management-protocol-snmp-