librato.librato

Ansible Rolle: Librato

Eine Ansible-Rolle, die den Librato-Agenten und die Plugins installiert und konfiguriert.

Anforderungen

Keine.

Abhängigkeiten

Keine.

Schnellstart

Das Minimum, um zu beginnen, ist, die Variablen email und token zu setzen und die Rolle einzuschließen:

- hosts: all
  roles:
    - { role: librato.librato, librato_email: '[email protected]', librato_token: 'dein-token-hier' }

Standardmäßig sind die folgenden Plugins aktiviert: cpu, df, disk, swap, memory, load.

Um ein Plugin einzuschließen, setze die benötigten Variablen dafür und füge es zur Variable librato_enabled_plugins hinzu:

- hosts: all
  vars:
    librato_apache_path: '/mein-status-endpunkt'
    librato_enabled_plugins: ['apache']

Unterstützte Plugins

  • cpu
  • df
  • memory
  • load
  • disk
  • swap
  • apache
  • nginx
  • nginx_plus
  • jvm
  • memcached
  • varnish
  • zookeeper
  • docker
  • elasticsearch
  • mongodb
  • postgresql
  • mysql
  • redis
  • haproxy

Verwendung

Verwendung von benutzerdefinierten oder upstream-collectd-Plugins

Um dein eigenes benutzerdefiniertes oder upstream-collectd-Plugin zu verwenden, lasse einfach ein anderes Modul die Konfiguration in /opt/collectd/etc/collectd.conf.d/ und die benutzerdefinierten Plugins in /opt/collectd/share/collectd/ ablegen.

Referenz

Plugin: apache

  • librato_apache_protocol

    Typ: Zeichenkette

    Das zu verwendende Protokoll. Standardmäßig http. Ändere dies zu https, wenn du SSL benötigst.

  • librato_apache_host

    Typ: Zeichenkette

    Der zu verwendende Hostname. Standardmäßig localhost.

  • librato.apache.path

    Typ: Zeichenkette

    Der Pfad zur Statusseite. Standardmäßig /server-status. ?auto wird automatisch angehängt, daher ist es nicht nötig, es einzuschließen.

  • librato_apache_user

    Typ: Zeichenkette

    Der Benutzername für passwortgeschützte Statusseiten. Standardmäßig leer.

  • librato_apache_password

    Typ: Zeichenkette

    Das Passwort für passwortgeschützte Statusseiten. Standardmäßig leer.

Plugin: docker

  • librato_docker_protocol

    Typ: Zeichenkette

    Das zu verwendende Protokoll. Standardmäßig http. Ändere dies zu https, wenn du SSL benötigst.

  • librato_docker_host

    Typ: Zeichenkette

    Der Docker-Hostname. Standardmäßig localhost.

  • librato_docker_port

    Typ: Zeichenkette

    Der Docker-Port. Standardmäßig 2735.

Plugin: elasticsearch

  • librato_elasticsearch_protocol

    Typ: Zeichenkette

    Das zu verwendende Protokoll. Standardmäßig http. Ändere dies zu https, wenn du SSL benötigst.

  • librato_elasticsearch_host

    Typ: Zeichenkette

    Der ElasticSearch-Hostname. Standardmäßig localhost.

  • librato_elasticsearch_port

    Typ: Zeichenkette

    Der ElasticSearch-Port. Standardmäßig 9200.

  • librato_elasticsearch_cluster_name

    Typ: Zeichenkette

    Der Name des ElasticSearch-Clusters, falls gesetzt. Standardmäßig nil.

  • librato_elasticsearch_verbose

    Typ: wahr/falsch

    Die Ausführlichkeit des Plugins. Standardmäßig true.

Plugin: haproxy

  • librato_haproxy_socket_file

    Typ: Zeichenkette

    Die HAProxy-Socket-Datei. Standardmäßig /run/haproxy/admin.sock.

  • librato_haproxy_proxies

    Typ: Array

    Die standardmäßigen Proxys, die gesammelt werden sollen. Standardmäßig server, frontend, backend.

Plugin: jvm

  • librato_jvm_host

    Typ: Zeichenkette

    Der JVM-Host. Standardmäßig localhost.

  • librato_jvm_service_url

    Typ: Zeichenkette

    Die JVM-Service-URL, die abgerufen werden soll. Standardmäßig service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi.

  • librato_jvm_mbeans

    Typ: Zuordnung

    Zusätzliche MBeans, die gesammelt werden sollen. Standardmäßig leer.

    Das Format der Zuordnung ist:

    librato_jvm_mbeans: [
      {
        name: 'mbean name'
        object_name: 'object name'
        instance_prefix': 'instance prefix (optional)',
        instance_from': 'instance from (optional)',
        values: [
          {
            type: 'value type',
            table: true|false,
            attribute: 'attribute'
            instance_prefix: 'instance prefix (optional)',
            instance_from: 'instance from (optional)'
          }
        ]
      }
    ]
    

Plugin: memcached

  • librato_memcached_host

    Typ: Zeichenkette

    Der Memcached-Hostname. Standardmäßig localhost.

  • librato_memcached_port

    Typ: Zeichenkette

    Der Memcached-Port. Standardmäßig 11211.

Plugin: mongodb

  • librato_mongodb_host

    Typ: Zeichenkette

    Der MongoDB-Hostname. Standardmäßig localhost.

  • librato_mongodb_port

    Typ: Zeichenkette

    Der MongoDB-Port. Standardmäßig 27017.

  • librato_mongodb_user

    Typ: Zeichenkette

    Der MongoDB-Benutzername, mit dem verbunden werden soll. Standardmäßig nil.

  • librato_mongodb_password

    Typ: Zeichenkette

    Das Passwort für die Verbindung mit MongoDB. Standardmäßig nil.

  • librato_mongodb_databases

    Typ: Array

    Datenbanken, für die Metriken gesammelt werden sollen. Standardmäßig leer. Die admin-Datenbank ist automatisch im Array enthalten.

  • librato_mongodb_name

    Typ: Zeichenkette

    Setze den Namen der Plugin-Instanz. Standardmäßig mongodb.

Plugin: mysql

  • librato_mysql_databases

    Typ: Zuordnung

    Datenbanken, für die Metriken gesammelt werden sollen. Standardmäßig leer.

    Das Format der Zuordnung ist:

    databases: [
      {
        name: 'mydb'
        host: 'localhost'
        port: 3306
        user: ''
        password: ''
        innodb_stats: true
        slave_stats: false
      }
    ]
    

Plugin: nginx

  • librato_nginx_protocol

    Typ: Zeichenkette

    Das zu verwendende Protokoll. Standardmäßig http. Ändere dies zu https, wenn du SSL benötigst.

  • librato_nginx_host

    Typ: Zeichenkette

    Der zu verwendende Hostname. Standardmäßig localhost.

  • librato_nginx_path

    Typ: Zeichenkette

    Der Pfad zur Statusseite. Standardmäßig /basic_status.

Plugin: nginx_plus

  • librato_nginx_plus_protocol

    Typ: Zeichenkette

    Das zu verwendende Protokoll. Standardmäßig http. Ändere dies zu https, wenn du SSL benötigst.

  • librato_nginx_plus_host

    Typ: Zeichenkette

    Der zu verwendende Hostname. Standardmäßig localhost.

  • librato_nginx_plus_path

    Typ: Zeichenkette

    Der Pfad zur Statusseite. Standardmäßig /status.

  • librato_nginx_plus_verbose

    Typ: Zeichenkette

    Ausführlichkeit ein/aus für das Plugin. Standardmäßig false.

Plugin: postgresql

  • librato_postgresql_socket_file

    Typ: Zeichenkette

    Die PostgreSQL-Socket-Datei. Standardmäßig /var/run/postgresql.

  • librato_postgresql_user

    Typ: Zeichenkette

    Der PostgreSQL-Benutzer, unter dem verbunden werden soll. Standardmäßig postgresql.

  • librato_postgresql_databases

    Typ: Zuordnung

    Die Datenbanken, für die Metriken gesammelt werden sollen. Standardmäßig leer.

    Das Format der Zuordnung ist:

    databases = [
      {
        name: 'mydb'
        instance: 'baz'
        host: 'localhost'
        port: 5432
        user: ''
        password: ''
        ssl_mode: 'prefer'
      }
    ]
    

Plugin: redis

  • librato_redis_host

    Typ: Zeichenkette

    Der Redis-Hostname. Standardmäßig localhost.

  • librato_redis_port

    Typ: Zeichenkette

    Der Redis-Port. Standardmäßig 6379.

  • librato_redis_timeout

    Typ: Zeichenkette

    Die Zeitüberschreitung für die Verbindung zu Redis in Millisekunden. Standardmäßig 2000.

Plugin: varnish

Varnish hat keine konfigurierbaren Attribute.

Plugin: zookeeper

  • librato_zookeeper_host

    Typ: Zeichenkette

    Der ZooKeeper-Hostname. Standardmäßig localhost.

  • librato_zookeeper_port

    Typ: Zeichenkette

    Der ZooKeeper-Port. Standardmäßig 2181.

Globale Variablen

  • librato_email

    Typ: Zeichenkette

    Die E-Mail-Adresse, die für das Senden von Metriken verwendet wird. Wird zusammen mit token verwendet. Dieses Attribut ist erforderlich und standardmäßig leer.

  • librato_token

    Typ: Zeichenkette

    Der API-Token, der für das Senden von Metriken verwendet wird. Wird zusammen mit email verwendet. Dieses Attribut ist erforderlich und standardmäßig leer.

  • librato_version

    Typ: Zeichenkette

    Die Version des zu installierenden Librato-Agenten.

  • librato_repo_url

    Typ: Zeichenkette

    Die Basis-URL für die Pakete. Standardmäßig die Repo-URL von Librato https://packagecloud.io/librato/.

  • librato_repo_base

    Typ: Zeichenkette

    Die Repo-Basis, die verwendet werden soll. Standardmäßig die Repo-Sammlung von Librato librato-collectd.

  • librato_config_base

    Typ: Zeichenkette

    Der Basis-Pfad für die Konfigurationsdateien von collectd. Standardmäßig /opt/collectd/etc.

  • librato_plugin_config_path

    Typ: Zeichenkette

    Der Pfad für die Plugin-Konfigurationen von collectd. Standardmäßig /opt/collectd/etc/collectd.conf.d.

  • librato_hostname

    Typ: Zeichenkette

    Der Hostname, der für den Knoten verwendet werden soll. Standardmäßig nil, um die Verwendung von FQDNLookup zu bevorzugen.

  • librato_fqdn_lookup

    Typ: wahr/falsch

    Führe eine FQDN-Abfrage für den Hostnamen durch. Standardmäßig true.

  • librato_interval

    Typ: Ganzzahl

    Das globale Abfrageintervall für Plugins in Sekunden. Standardmäßig 60.

  • librato_use_log_file

    Typ: wahr/falsch

    Schreibe collectd-Protokolle in eine Datei. Standardmäßig true.

  • librato_use_syslog

    Typ: wahr/falsch

    Schreibe collectd-Protokolle in syslog. Standardmäßig false.

  • librato_use_logstash

    Typ: wahr/falsch

    Schreibe collectd-Protokolle in eine im Logstash-Formatierte Datei. Standardmäßig false.

  • librato_log_file_log_level

    Typ: Zeichenkette

    Das Protokollniveau, das für log_file verwendet werden soll. Standardmäßig info.

  • librato_log_file_filename

    Typ: Zeichenkette

    Der Dateiname, der für log_file verwendet werden soll. Standardmäßig /opt/collectd/var/log/collectd.log.

  • librato_log_file_timestamp

    Typ: wahr/falsch

    Verwende Zeitstempel in der Protokolldatei oder nicht. Standardmäßig true.

  • librato_log_file_print_severity

    Typ: wahr/falsch

    Schließe Schweregrade in die Protokolldatei ein oder nicht. Standardmäßig true.

  • librato_syslog_log_level

    Typ: Zeichenkette

    Das Protokollniveau, das für syslog verwendet werden soll. Standardmäßig info.

  • librato_logstash_log_level

    Typ: Zeichenkette

    Das Protokollniveau, das für Logstash verwendet werden soll. Standardmäßig info.

  • librato_logstash_filename

    Typ: Zeichenkette

    Der Dateiname, der für Logstash verwendet werden soll. Standardmäßig /opt/collectd/var/log/collectd.json.log.

  • librato_default_plugins

    Typ: Array

    Eine Liste von Standard-Plugins, die einbezogen werden sollen. Standardmäßig: cpu, df, disk, swap, memory, load.

  • librato_enabled_plugins

    Typ: Array

    Eine Liste von Plugins, die aktiviert werden sollen. Dies ist separat von den Standard-Plugins und wird verwendet, um Plugins zusätzlich zu diesen einzuschließen. Standardmäßig leer.

Unterstützte Plattformen

  • RHEL 6 / CentOS 6
  • RHEL 7 / CentOS 7
  • Fedora 23
  • Amazon Linux 2016.03
  • Ubuntu 12.04
  • Ubuntu 14.04
  • Ubuntu 15.04
  • Ubuntu 15.10
  • Ubuntu 16.04
  • Debian 7
  • Debian 8

Unterstützte Ansible-Versionen

Diese Rolle erfordert Ansible 2.2 oder höher.

Entwicklung

Testen

Integrationstests verwenden kitchen-ansible und serverspec. Um die Testsuite auszuführen:

  1. Führe bundle install aus.
  2. Führe kitchen test aus.

Testen von Amazon Linux

Das Testen von Amazon Linux über test-kitchen erfordert ein wenig mehr Einrichtung:

  1. Stelle sicher, dass kitchen-ec2 installiert ist: gem install kitchen-ec2.
  2. Aktualisiere .kitchen.yml, um die richtige AWS-Schlüssel-ID zu verwenden.
  3. Setze security_group_ids im Treiberbereich so, dass eine Sicherheitsgruppe eingeschlossen ist, die von deinem Laptop aus zugänglich ist. Wenn du dies nicht einstellst, wird die default Sicherheitsgruppe verwendet.
  4. Setze transport.ssh_key auf den Pfad zu deinem SSH-Schlüssel. Es sucht standardmäßig nach id_rsa.

Lizenz

MIT

Autoren & Mitwirkende

Mike Julian (@mjulian)

Über das Projekt

Install and configure the Librato Agent

Installieren
ansible-galaxy install librato.librato
GitHub Repository
Lizenz
Unknown
Downloads
651
Besitzer
https://librato.com