如何使用Graphite监控AWS SQS-Grafana

时间:2019-02-15 04:41:26

标签: monitoring grafana metrics graphite statsd

我在AWS上托管了一堆微服务。我正在使用StatsD,Graphite和Grafana监视它们。现在,我想扩展它以监视这些微服务通过其进行通信的队列(SQS)。我如何利用Graphite / Grafana做到这一点?如果没有相同的支持/插件,则可以采用更好的方法。谢谢:)

PS:如果必须是Zipkin,请告诉我它们可以共存,或者使用多个示踪剂很容易。

1 个答案:

答案 0 :(得分:0)

好的,所以我将根据您在这里所说的来回答这个问题:

  

或者有更好的方法,如果没有相同的支持/插件。

我通过Prometheuscloudwatch_exporteralertmanager结合使用的方式。

用于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]

然后,您需要配置prometheus,以便每隔一段时间就抓取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。而且,以防万一,您想知道的是,Grafana supports prometheus

相关问题