宣布Telegraf 0.2.4版本,支持MailChimp API
由Cameron Sparr / 产品
2015年12月07日
导航至
MailChimp是一个电子邮件营销平台,它提供了一个强大的JSON API,用于跟踪电子邮件营销活动的各种指标。由于Telegraf可以执行HTTP API调用并解析JSON,因此允许Telegraf解析通过API密钥提供指标的服务是一个自然的选择。
MailChimp API通过其/reports
API提供了许多指标,如emails_sent
、clicks_total
和open_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天。点击开始!