Интегрировать в Zenoss удаленные данные

Мне нужно следить за несколькими серверами Linux, расположенными в другом месте, чем моя ферма.

У меня есть VPN-подключение к этому удаленному местоположению.

Внутренне я использую Zenoss 4 для мониторинга систем, я хотел бы также использовать Zenoss для мониторинга удаленных систем. В соответствии с контрактной политикой я не могу использовать VPN-соединение для данных Zenoss (например, SNMP или SSH).

Я создал несколько сценариев, которые извлекают нужные данные из удаленных систем на внутренний сервер. Формат возвращаемых данных - один CVS для каждого местоположения, содержащий данные от всех устройств, размещенных в этом местоположении.

Например:

$ cat LOCATION_1/current/current.csv
APPLIANCE1,out_of_memory,no,=,no,3,-
APPLIANCE1,postgre_idle,no,=,no,3,-
APPLIANCE2,out_of_memory,no,=,no,3,-
APPLIANCE2,postgre_idle,no,=,no,3,-

Формат CVS следующий:

HOSTNAME, CHECK_NAME, RESULT_VALUE, СРАВНЕНИЕ,DESIRED_VALUE,INFO

Как я могу интегрировать эти данные в Zenoss, так как машины были размещены во внутренней ферме? Если это необходимо, я мог бы в конечном итоге изменить формат извлеченных данных.

большое спасибо

2 ответа

Просто вы можете развернуть один коллектор в удаленном месте и добавить этот хост в пул коллекторов, вы также можете отслеживать удаленные серверы Linux

Одна возможность для вашего внутреннего сервера, который взаимодействует с удаленными системами (давайте назовем это INTERNAL1) переиздать события как ловушки SNMP (или записать их в rsyslog файл), а затем обработать их в Zenoss.

Например, сообщение может начинаться с имени сервера: "[APPLIANCE1] Out of Memory", В разделе "Преобразование класса событий" веб-интерфейса Zenoss ( http://my_zenoss_install.local:8080/zport/dmd/Events/editEventClassTransform) вы можете преобразовывать атрибуты входящих сообщений (используя Python). Я часто использую это, чтобы снизить серьезность события. Например,

if evt.component == 'abrt' and evt.message.find('Saved core dump of pid') != -1:
    evt.severity = 2     # was originally 3, I think

Для ваших нужд вы можете установить evt.device в APPLIANCE1 если сообщение приходит от INTERNAL1и содержит [APPLIANCE1] пометьте как префикс сообщения или что-либо еще, что вы хотите использовать для уникальной идентификации сообщений / ловушек от удаленных систем.

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

PS Вот довольно старый документ от Zenoss об использовании преобразований событий. К сожалению, документация в Zenoss редкая и разбросанная (как вы, возможно, уже узнали), поэтому может потребоваться поиск старых сообщений и / или задание вопросов на форуме Zenoss.

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