Мониторинг в реальном времени очереди SQS в AWS - PullRequest
0 голосов
/ 24 сентября 2018

Какой лучший способ обеспечить мониторинг в реальном времени общего количества сообщений, отправленных в очередь SQS?

В настоящее время у меня настроена панель мониторинга Grafana для мониторинга очереди SQS, но, похоже, она обновляется.примерно каждые две минуты.Я хочу настроить что-то для обновления почти в режиме реального времени, например, обновлять каждую секунду.

Используемая мной очередь потребляет около 6000 сообщений в минуту.

Мои коллегисоздали что-то для мониторинга загрузки файлов в корзину S3 в режиме реального времени, используя лямбду для заполнения базы данных PostgreSQL и используя Grafana для запроса этого.

Это лучший способ достижения этого?Есть ли более эффективный способ?

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Я не уверен, что вы пытаетесь достичь (я расскажу после моей идеи), но, безусловно, есть несколько способов, которыми вы могли бы это сделать.Каждый из них имеет положительное и отрицательное значения.

  1. В каждом месте, где вы производите или потребляете сообщения, увеличиваете или уменьшаете метрику облачных часов (или журнал данных, librato и т. Д.).Это все еще основано на опросе, но вы можете уменьшить детализацию (даже используя Cloudwatch) до 15-60 секунд.Самая большая проблема здесь заключается в том, что она подвержена ошибкам (что произойдет, если сообщение SQS остановится и будет обработано повторно?).

  2. Создать вторичную очередь.Каждое сообщение, которое попадает в эту очередь, является сообщением «добавить» или «удалить».Присоедините лямбду, контейнер, группу автомасштабирования, чтобы обработать очередь и обновить метрики в таблице RDS или DynamoDB.Запросите таблицу по мере необходимости.

  3. Используйте другую систему обработки очереди вместо SQS.Я видел, как RabbitMQ и Sensu используются в очень больших средах, они могут легко обрабатывать 6000 сообщений в минуту.

Имейте в виду, что существует гораздо больше показателей, чем просто количество сообщений вочередь.Недавно я действительно полюбил ApproximateAgeOfOldestMessage, потому что он указывает, обрабатываются ли сообщения без ошибок.Вот запись в блоге о самых полезных показателях SQS.Это называется Как контролировать Amazon SQS с CloudWatch

0 голосов
/ 25 сентября 2018

SQS не управляется событиями - он должен быть опрошен.Таким образом, каждый раз, когда сообщение помещается в очередь или удаляется из нее, события не происходит.С S3 для Lambda происходит событие, отправляемое в реальном времени каждый раз, когда объект был создан или удален.

Вы можете изменить интервал опроса для SQS и опроса так быстро, как вы хотите.Но имейте в виду, что опрос имеет свою цену.Первые 1 миллион запросов в месяц бесплатны.

...