librato.librato
Ansible Role: Librato
This Ansible role sets up and configures the Librato Agent and its plugins.
Requirements
No special requirements needed.
Dependencies
No dependencies required.
Quick Start
To start using this role, just set your email and token variables, and include the role as shown below:
- hosts: all
roles:
- { role: librato.librato, librato_email: '[email protected]', librato_token: 'your-token-here' }
By default, the following plugins are active: cpu, df, disk, swap, memory, load.
To add a new plugin, define any necessary variables for it and then append it to librato_enabled_plugins:
- hosts: all
vars:
librato_apache_path: '/my-status-endpoint'
librato_enabled_plugins: ['apache']
Available Plugins
cpudfmemoryloaddiskswapapachenginxnginx_plusjvmmemcachedvarnishzookeeperdockerelasticsearchmongodbpostgresqlmysqlredishaproxy
Usage
Custom or Upstream collectd Plugins
To use your own collectd plugins, simply configure them in /opt/collectd/etc/collectd.conf.d/ and place any custom plugins in /opt/collectd/share/collectd/.
Plugin Configuration Examples
For Apache Plugin:
- librato_apache_protocol: Type: string (default:
http, change tohttpsif using SSL) - librato_apache_host: Type: string (default:
localhost) - librato.apach.path: Type: string (default:
/server-status,?autoadded automatically) - librato_apache_user: Type: string (default: empty)
- librato_apache_password: Type: string (default: empty)
For Docker Plugin:
- librato_docker_protocol: Type: string (default:
http, change tohttpsif using SSL) - librato_docker_host: Type: string (default:
localhost) - librato_docker_port: Type: string (default:
2735)
(Similar configurations apply for other plugins such as elasticsearch, haproxy, jvm, etc. with their relevant settings.)
Global Variables
- librato_email: Required string for metrics email, defaults to empty.
- librato_token: Required string for API token, defaults to empty.
- librato_version: String for Librato Agent version.
- librato_repo_url: Base URL for package (default: Librato's repo).
- librato_enabled_plugins: Array for plugins you want to enable, starts empty.
Supported Platforms
- RHEL 6 / CentOS 6
- RHEL 7 / CentOS 7
- Fedora 23
- Amazon Linux 2016.03
- Ubuntu 12.04, 14.04, 15.04, 15.10, 16.04
- Debian 7, 8
Supported Ansible Versions
Requires Ansible version 2.2 or higher.
Development
Testing
To test the integration:
- Run
bundle install - Run
kitchen test
Testing on Amazon Linux
For testing Amazon Linux:
- Install
kitchen-ec2:gem install kitchen-ec2 - Update your
.kitchen.ymlfile with your AWS key ID. - Set
security_group_idsin the driver to use a security group that your laptop can access. - Specify the path of your SSH key in
transport.ssh_key.
License
MIT License
Authors & Contributors
Mike Julian (@mjulian)
ansible-galaxy install librato.librato