InfluxData 发布 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 = ["http://localhost: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