宣布Telegraf 0.2.4版本,支持MailChimp API

导航至

MailChimp是一个电子邮件营销平台,它提供了一个强大的JSON API,用于跟踪电子邮件营销活动的各种指标。由于Telegraf可以执行HTTP API调用并解析JSON,因此允许Telegraf解析通过API密钥提供指标的服务是一个自然的选择。

MailChimp API通过其/reports API提供了许多指标,如emails_sentclicks_totalopen_rate等,用于所有电子邮件营销活动。关于可用的MailChimp指标的详细信息,请参阅MailChimp网站

在Telegraf 0.2.4版本中,您现在可以设置mailchimp插件来收集指标并将它们转发到InfluxDB或其他配置的输出接收器。以下是一个完整的配置示例,用于收集MailChimp指标并将它们发送到本地的InfluxDB实例。

# Configuration for telegraf agent
[agent]
  # Default data collection interval for all plugins
  interval = "30s"

###############################################################################
#                                  OUTPUTS                                    #
###############################################################################

[outputs]

# Configuration for influxdb server to send metrics to
[[outputs.influxdb]]
  # The full HTTP or UDP endpoint URL for your InfluxDB instance.
  urls = ["https://127.0.0.1:8086"] # required
  # The target database for metrics (telegraf will create it if not exists)
  database = "telegraf" # required
  # Precision of writes, valid values are n, u, ms, s, m, and h
  # note: using second precision greatly helps InfluxDB compression
  precision = "s"

###############################################################################
#                                  PLUGINS                                    #
###############################################################################

[plugins]

# Gathers metrics from the /3.0/reports MailChimp API
[[plugins.mailchimp]]
  # MailChimp API key
  # get from https://admin.mailchimp.com/account/api/
  api_key = "" # INSERT API KEY HERE
  # Reports for campaigns sent more than days_old ago will not be collected.
  # 0 means collect all.
  days_old = 14

上面的配置使用days_old = 14参数告诉Telegraf只收集过去14天内发送的电子邮件营销活动的指标。如果您将其设置为0,则将收集所有电子邮件营销活动的指标。

将上述内容粘贴到您选择的文件中(我将使用~/telegraf.conf),并插入您的MailChimp API密钥,然后运行测试输出,这将输出您的MailChimp指标,并转换为InfluxDB行协议格式

$ telegraf -config ~/telegraf.conf -test
* Plugin: mailchimp, Collection 1
> mailchimp_emails_sent,campaign_title=MyCampaign,id=1aa2bb34c5 value=7640i 1449103122757261374
> mailchimp_abuse_reports,campaign_title=MyCampaign,id=1aa2bb34c5 value=0i 1449103122757261374
> mailchimp_unsubscribed,campaign_title=MyCampaign,id=1aa2bb34c5 value=38i 1449103122757261374
> mailchimp_hard_bounces,campaign_title=MyCampaign,id=1aa2bb34c5 value=38i 1449103122757261374
> mailchimp_soft_bounces,campaign_title=MyCampaign,id=1aa2bb34c5 value=71i 1449103122757261374
> mailchimp_syntax_errors,campaign_title=MyCampaign,id=1aa2bb34c5 value=0i 1449103122757261374
[...]

从输出中可以看到,插件将收集每个活动的可用指标,以及收集行业和列表统计指标。

现在可以运行Telegraf并将它的指标输出到InfluxDB: $ telegraf -config ~/telegraf.conf

未来工作

MailChimp只是我们计划在Telegraf中支持的许多第三方API中的第一个。我们鼓励用户尝试贡献插件,我们计划很快支持AWS指标。您可以在此处查看MailChimp插件的源代码这里

托管InfluxDB + Grafana

配置并投入生产只需不到一分钟。免费试用14天。点击开始!

grafana