Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/garethr/garethr-diamond
Puppet module for the Diamond stats collection daemon
https://github.com/garethr/garethr-diamond
Last synced: about 1 month ago
JSON representation
Puppet module for the Diamond stats collection daemon
- Host: GitHub
- URL: https://github.com/garethr/garethr-diamond
- Owner: garethr
- License: apache-2.0
- Created: 2012-12-16T19:21:09.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2023-05-08T09:25:21.000Z (over 1 year ago)
- Last Synced: 2024-11-02T09:51:36.135Z (about 2 months ago)
- Language: Ruby
- Size: 110 KB
- Stars: 9
- Watchers: 4
- Forks: 37
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
A Puppet module for managing the installation and configuration of
[Diamond](https://github.com/BrightcoveOS/Diamond).[![Puppet
Forge](http://img.shields.io/puppetforge/v/garethr/diamond.svg)](https://forge.puppetlabs.com/garethr/diamond) [![Build
Status](https://secure.travis-ci.org/garethr/garethr-diamond.png)](http://travis-ci.org/garethr/garethr-diamond)# Usage
For experimenting you're probably fine just with:
```puppet
include diamond
```This installs diamond but doesn't ship the metrics anywhere, it just
runs the archive handler.## Configuration
This module currently exposes a few configurable options, for example
the Graphite host and polling interval. So you can also do:```puppet
class { 'diamond':
graphite_host => 'graphite.example.com',
graphite_port => 2013,
interval => 10,
}
```You can also add additional collectors:
```puppet
diamond::collector { 'RedisCollector':
options => {
'instances' => 'main@localhost:6379, other@localhost:6380'
}
}
```Some collectors support multiple sections, for example the NetApp and RabbitMQ collectors
```puppet
diamond::collector { 'NetAppCollector':
options => {
'path_prefix' => '/opt/netapp/lib/python'
},
sections => {
'[devices]' => {},
'[[host01]]' => {
'ip' => '10.10.10.1',
'username' => 'bob',
'password' => 'alice'
},
'[[host02]]' => {
'ip' => '10.10.10.2',
'username' => 'alice',
'password' => 'bob'
}
}
}diamond::collector { 'RabbitMQCollector':
options => {
'host' => '10.10.10.1',
'user' => 'bob',
'password' => 'alice'
},
sections => {
'[vhosts]' => {
'*' => '*'
}
}
}
```Diamond supports a number of different handlers, for the moment this
module supports only the Graphite, Librato and Riemann handers. Pull request
happily accepted to add others.With Librato:
```puppet
class { 'diamond':
librato_user => 'bob',
librato_apikey => 'jim',
}
```With Riemann:
```puppet
class { 'diamond':
riemann_host => 'riemann.example.com',
}
```Note that you can include more than one of these at once.
```puppet
class { 'diamond':
librato_user => 'bob',
librato_apikey => 'jim',
riemann_host => 'riemann.example.com',
graphite_host => 'graphite.example.com',
}
```