collectd_cdn
A collectd plugin to fetch edge stats from CDN vendors. So that you can store and graph them to your heart's content.
Installation
The latest stable version can be installed from PyPI. Either by hand:
$ pip install collectd-cdn
Or configuration management, such as Puppet:
package { 'collectd-cdn':
ensure => present,
provider => 'pip',
}
Vendors
A single CDN vendor is currently supported.
Fastly
To configure the plugin:
<LoadPlugin python>
Globals true
</LoadPlugin>
<Plugin python>
Import "collectd_cdn.fastly"
<Module "collectd_cdn.fastly">
# Authenticate using user/pass (recommended)
ApiUser "user@example.com"
ApiPass "password"
# OR using an API key
ApiKey "68b329da9893e34099c7d8ad5cb9c940"
<Service>
Name "www"
Id "6IqS8vK4QRMAlb1ByyjrJF"
</Service>
<Service>
Name "assets"
Id "qd8G3pOP2nGw0UlSE04t8v"
</Service>
</Module>
</Plugin>
The highest resolution of data that Fastly provide is per-minute. So you'll need to configure your storage, such as Graphite's Carbon, with a retention rate to match:
[cdn_fastly]
pattern = ^[^.]+\.cdn_fastly-.+\.
retentions = 1m:31d,…