Как контролировать AWS SQS с графитом - Графана - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть несколько микро-сервисов, размещенных на AWS.Я использую StatsD, Graphite и Grafana для их мониторинга.Теперь я хочу расширить его, чтобы отслеживать очереди (SQS), через которые эти микро-сервисы общаются друг с другом.Как я могу использовать Graphite / Grafana для этого?Или лучший подход, если там нет поддержки / плагина для того же.Спасибо:)

PS: Если это должен быть Zipkin, пожалуйста, скажите мне, что они могут сосуществовать или есть уловка в использовании нескольких трассировщиков.

1 Ответ

0 голосов
/ 15 марта 2019

Хорошо, поэтому я собираюсь ответить на это, основываясь на том, что вы сказали здесь:

Или лучший подход , если нет какой-либо поддержки / плагина для того же.

То, как я это делаю, используется нами через Прометей , в сочетании с cloudwatch_exporter и alertmanager.

Конфигурация cloudwatch_exporter для мониторинга SQS будет выглядеть примерно так (это всего лишь две метрики, вам нужно будет добавить больше в зависимости от того, что вы хотите отслеживать):

tasks:
 - name: ec2_cloudwatch
   default_region: us-west-2
   metrics:
    - aws_namespace: "AWS/SQS"
      aws_dimensions: [QueueName]
      aws_metric_name: NumberOfMessagesReceived
      aws_statistics: [Sum]
      range_seconds: 600
    - aws_namespace: "AWS/SQS"
      aws_dimensions: [QueueName]
      aws_metric_name: ApproximateNumberOfMessagesDelayed
      aws_statistics: [Sum]

Затем вам нужно будет настроить прометей для очистки конечной точки cloudwatch_exporter с интервалом, для чего я буду делать:

  - job_name: 'somename'
    scrape_timeout: 60s
    dns_sd_configs:
    - names:
        - "some-endpoint"
    metrics_path: /scrape
    params:
      task: [ec2_cloudwatch]
      region: [us-east-1]
    relabel_configs:
      - source_labels: [__param_task]
        target_label: task
      - source_labels: [__param_region]
        target_label: region

Затем вы настроите alertmanager для оповещения на основе этихочищенные метрики;Я не предупреждаю об этих показателях, поэтому не могу привести пример.Но, чтобы дать вам представление об этой архитектуре, диаграмма ниже:

enter image description here

Если вам нужно использовать что-то вроде statsd, вы можетеиспользуйте statsd_exporter.И, на случай, если вам интересно, да Графана поддерживает Прометей .

...