Zenoss - проблемы с производительностью захваченных событий

Эта проблема

Я вручную вставляю события в Zenoss через zensendevent инструмент командной строки. События успешно вставлены в Zenoss. Проблема в том, что я могу просто вставить около 8 событий в секунду.

Я также экспериментировал со вставкой событий через zensyslog. Хотя zensyslog получает события системного журнала немедленно (я могу видеть их с tail -f $ZENHOME/log/origsyslog.log), события затем разжевываются и вставляются в Zenoss асинхронно примерно с той же скоростью (8 в секунду).

Я не выполнил много настроек производительности для Zenoss или MySQL, кроме увеличения некоторых настроек кеша для Zope и MySQL (как показано здесь).

У меня нормальная пропускная способность? Что я могу сделать, чтобы резко увеличить количество вставляемых событий в секунду (мне нужно иметь возможность вставлять не менее 100 в секунду). Из того, что я видел в zensendevent код, похоже, использует XML-RPC интерфейс Zenoss для вставки событий.

Наши технические характеристики машины и программного обеспечения следующие:

  • Процессор Intel® Core ™ 2 Duo E7500 с частотой 2,93 ГГц
  • 4 ГБ ОЗУ
  • Ubuntu Server 10.04.2 LTS
  • Zenoss 3.1.0 скомпилирован из исходного кода
  • Это выделенная физическая установка, а не виртуальная машина

Некоторый контекст, если это помогает:

Мы хотим использовать Zenoss для мониторинга наших машин и программного обеспечения, которое они запускают. Наши машины часто не доступны напрямую с центрального сервера, на котором должен работать Zenoss. Однако мы можем получить данные, которые мы хотим, с любой машины на центральный сервер. Прямо сейчас мы генерируем около 1,5 миллиона событий в день, что дает в среднем около 17 событий в секунду, которые необходимо вставить в Zenoss.

Я использую следующий скрипт bash для тестирования производительности вставки событий через zensendevent (160 событий занимает около 20 секунд для вставки):

#!/bin/bash
for a in {1..160}
do
  zensendevent -d 'somemachinename' -y 'some_event_key' -p 'some_component' -s Error -c /App "Example Test message"
done

Заранее большое спасибо.

1 ответ

Как ответили здесь, проблема была в том, как я выполнял свои тесты. В основном я бегал zensendevent в цикле вместо простого выполнения запроса XML-RPC в цикле. Запуск скрипта на python был самым большим узким местом. Теперь я могу вставить с той же конфигурацией около 120 событий в секунду.

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