librato.librato

Rola Ansible: Librato

Rola Ansible, która instaluje i konfiguruje agenta Librato oraz wtyczki.

Wymagania

Brak

Zależności

Brak

Szybki start

Aby rozpocząć, wystarczy ustawić zmienne email i token, a następnie dodać rolę:

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

Domyślnie włączone są następujące wtyczki: cpu, df, disk, swap, memory, load.

Aby dodać wtyczkę, ustaw potrzebne zmienne, a następnie dodaj ją do zmiennej librato_enabled_plugins:

- hosts: all
  vars:
    librato_apache_path: '/my-status-endpoint'
    librato_enabled_plugins: ['apache']

Obsługiwane wtyczki

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

Użycie

Używanie niestandardowych lub zewnętrznych wtyczek collectd

Aby użyć własnej niestandardowej lub zewnętrznej wtyczki collectd, po prostu umieść odpowiedni plik konfiguracyjny w /opt/collectd/etc/collectd.conf.d/, a niestandardowe wtyczki w /opt/collectd/share/collectd/.

Odniesienie

Wtyczka: apache

  • librato_apache_protocol

    Typ: string

    Protokół do użycia. Domyślnie http. Zmień na https, jeśli wymagana jest SSL.

  • librato_apache_host

    Typ: string

    Nazwa hosta do użycia. Domyślnie localhost.

  • librato.apache.path

    Typ: string

    Ścieżka do strony statusu. Domyślnie /server-status. ?auto jest automatycznie dodawane, więc nie ma potrzeby go uwzględniać.

  • librato_apache_user

    Typ: string

    Nazwa użytkownika do ochronionych hasłem stron statusu. Domyślnie puste.

  • librato_apache_password

    Typ: string

    Hasło do ochronionych hasłem stron statusu. Domyślnie puste.

Wtyczka: docker

  • librato_docker_protocol

    Typ: string

    Protokół do użycia. Domyślnie http. Zmień na https, jeśli wymagana jest SSL.

  • librato_docker_host

    Typ: string

    Nazwa hosta Docker. Domyślnie localhost.

  • librato_docker_port

    Typ: string

    Port Docker. Domyślnie 2735.

Wtyczka: elasticsearch

  • librato_elasticsearch_protocol

    Typ: string

    Protokół do użycia. Domyślnie http. Zmień na https, jeśli wymagana jest SSL.

  • librato_elasticsearch_host

    Typ: string

    Nazwa hosta ElasticSearch. Domyślnie localhost.

  • librato_elasticsearch_port_

    Typ: string

    Port ElasticSearch. Domyślnie 9200.

  • librato_elasticsearch_cluster_name

    Typ: string

    Nazwa klastra ElasticSearch, jeśli ustawiona. Domyślnie nil.

  • librato_elasticsearch_verbose

    Typ: true/false

    Ustawia szczegółowość wtyczki. Domyślnie true.

Wtyczka: haproxy

  • librato_haproxy_socket_file

    Typ: string

    Plik gniazda HAProxy. Domyślnie /run/haproxy/admin.sock.

  • librato_haproxy_proxies

    Typ: array

    Domyślne proxy do zbierania danych. Domyślnie server, frontend, backend.

Wtyczka: jvm

  • librato_jvm_host

    Typ: string

    Host JVM. Domyślnie localhost.

  • librato_jvm_service_url

    Typ: string

    URL usługi JVM do zapytania. Domyślnie service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi.

  • librato_jvm_mbeans

    Typ: mapping

    Dodatkowe mbeans do zbierania. Domyślnie puste.

    Format mapowania to:

    librato_jvm_mbeans: [
      {
        name: 'nazwa mbean'
        object_name: 'nazwa obiektu'
        instance_prefix: 'prefiks instancji (opcjonalny)',
        instance_from: 'instancja z (opcjonalna)',
        values: [
          {
            type: 'typ wartości',
            table: true|false,
            attribute: 'atrybut'
            instance_prefix: 'prefiks instancji (opcjonalny)',
            instance_from: 'instancja z (opcjonalna)'
          }
        ]
      }
    ]
    

Wtyczka: memcached

  • librato_memcached_host

    Typ: string

    Nazwa hosta memcached. Domyślnie localhost.

  • librato_memcached_port

    Typ: string

    Port memcached. Domyślnie 11211.

Wtyczka: mongodb

  • librato_mongodb_host

    Typ: string

    Nazwa hosta MongoDB. Domyślnie localhost.

  • librato_mongodb_port

    Typ: string

    Port MongoDB. Domyślnie 27017.

  • librato_mongodb_user

    Typ: string

    Nazwa użytkownika MongoDB do połączenia. Domyślnie nil.

  • librato_mongodb_password

    Typ: string

    Hasło MongoDB do połączenia. Domyślnie nil.

  • librato_mongodb_databases

    Typ: array

    Bazy danych, dla których zbierane są metryki. Domyślnie puste. Baza danych admin jest automatycznie uwzględniana w tablicy.

  • librato_mongodb_name

    Typ: string

    Ustaw nazwę instancji wtyczki. Domyślnie mongodb.

Wtyczka: mysql

  • librato_mysql_databases

    Typ: mapping

    Bazy danych, dla których zbierane są metryki. Domyślnie puste.

    Format mapowania to:

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

Wtyczka: nginx

  • librato_nginx_protocol

    Typ: string

    Protokół do użycia. Domyślnie http. Zmień na https, jeśli wymagana jest SSL.

  • librato_nginx_host

    Typ: string

    Nazwa hosta do użycia. Domyślnie localhost.

  • librato_nginx_path

    Typ: string

    Ścieżka do strony statusu. Domyślnie /basic_status.

Wtyczka: nginx_plus

  • librato_nginx_plus_protocol

    Typ: string

    Protokół do użycia. Domyślnie http. Zmień na https, jeśli wymagana jest SSL.

  • librato_nginx_plus_host

    Typ: string

    Nazwa hosta do użycia. Domyślnie localhost.

  • librato_nginx_plus_path

    Typ: string

    Ścieżka do strony statusu. Domyślnie /status.

  • librato_nginx_plus_verbose

    Typ: string

    Włącz/wyłącz szczegółowość dla wtyczki. Domyślnie false.

Wtyczka: postgresql

  • librato_postgresql_socket_file

    Typ: string

    Plik gniazda PostgreSQL. Domyślnie /var/run/postgresql.

  • librato_postgresql_user

    Typ: string

    Użytkownik PostgreSQL, z którym się łączysz. Domyślnie postgresql.

  • librato_postgresql_databases

    Typ: mapping

    Bazy danych, dla których zbierane są metryki. Domyślnie puste.

    Format mapowania to:

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

Wtyczka: redis

  • librato_redis_host

    Typ: string

    Nazwa hosta Redis. Domyślnie localhost.

  • librato_redis_port

    Typ: string

    Port Redis. Domyślnie 6379.

  • librato_redis_timeout

    Typ: string

    Czas oczekiwania na połączenie z Redis w milisekundach. Domyślnie 2000.

Wtyczka: varnish

Varnish nie ma konfigurowalnych atrybutów.

Wtyczka: zookeeper

  • librato_zookeeper_host

    Typ: string

    Nazwa hosta ZooKeeper. Domyślnie localhost.

  • librato_zookeeper_port

    Typ: string

    Port ZooKeeper. Domyślnie 2181.

Zmienne globalne

  • librato_email

    Typ: string

    Email do używania do wysyłania metryk. Użyj razem z token. Ta atrybut jest wymagany i domyślnie jest pusty.

  • librato_token

    Typ: string

    Token API do używania do wysyłania metryk. Użyj razem z email. Ten atrybut jest wymagany i domyślnie jest pusty.

  • librato_version

    Typ: string

    Wersja agenta Librato do zainstalowania.

  • librato_repo_url

    Typ: string

    Podstawowy URL dla pakietów. Domyślnie URL repozytorium Librato https://packagecloud.io/librato/.

  • librato_repo_base

    Typ: string

    Podstawowe repozytorium do użycia. Domyślnie zbiór repozytoriów Librato librato-collectd.

  • librato_config_base

    Typ: string

    Podstawowa ścieżka dla plików konfiguracyjnych collectd. Domyślnie /opt/collectd/etc.

  • librato_plugin_config_path

    Typ: string

    Ścieżka dla konfiguracji wtyczek collectd. Domyślnie /opt/collectd/etc/collectd.conf.d.

  • librato_hostname

    Typ: string

    Nazwa hosta do użycia dla węzła. Domyślnie nil, aby korzystać z FQDNLookup.

  • librato_fqdn_lookup

    Typ: true/false

    Przeprowadzenie wyszukiwania FQDN dla nazwy hosta. Domyślnie true.

  • librato_interval

    Typ: integer

    Globalny interwał pobierania wtyczek w sekundach. Domyślnie 60.

  • librato_use_log_file

    Typ: true/false

    Zapisz logi collectd do pliku. Domyślnie true.

  • librato_use_syslog

    Typ: true/false

    Zapisz logi collectd do syslog. Domyślnie false.

  • librato_use_logstash

    Typ: true/false

    Zapisz logi collectd do pliku w formacie logstash. Domyślnie false.

  • librato_log_file_log_level

    Typ: string

    Poziom logowania do użycia dla log_file. Domyślnie info.

  • librato_log_file_filename

    Typ: string

    Nazwa pliku do użycia dla log_file. Domyślnie /opt/collectd/var/log/collectd.log.

  • librato_log_file_timestamp

    Typ: true/false

    Użyj znaczników czasu w pliku dziennika lub nie. Domyślnie true.

  • librato_log_file_print_severity

    Typ: true/false

    Uwzględnij poziomy ważności w pliku dziennika lub nie. Domyślnie true.

  • librato_syslog_log_level

    Typ: string

    Poziom logowania do użycia dla syslog. Domyślnie info.

  • librato_logstash_log_level

    Typ: string

    Poziom logowania do użycia dla logstash. Domyślnie info.

  • librato_logstash_filename

    Typ: string

    Nazwa pliku do użycia dla logstash. Domyślnie /opt/collectd/var/log/collectd.json.log.

  • librato_default_plugins

    Typ: array

    Lista domyślnych wtyczek do uwzględnienia. Domyślnie: cpu, df, disk, swap, memory, load.

  • librato_enabled_plugins

    Typ: array

    Lista wtyczek do włączenia. To jest oddzielone od domyślnych wtyczek i służy do dodawania wtyczek oprócz tych. Domyślnie puste.

Obsługiwane platformy

  • 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

Obsługiwane wersje Ansible

Ta rola wymaga Ansible 2.2 lub nowszego.

Rozwój

Testowanie

Testy integracyjne wykorzystują kitchen-ansible i serverspec. Aby uruchomić zestaw testów:

  1. Uruchom bundle install
  2. Uruchom kitchen test

Testowanie Amazon Linux

Testowanie Amazon Linux za pomocą test-kitchen wymaga nieco więcej konfiguracji:

  1. Upewnij się, że kitchen-ec2 jest zainstalowane: gem install kitchen-ec2
  2. Zaktualizuj .kitchen.yml, aby zawierał poprawny AWS key ID, którego zamierzasz użyć.
  3. Ustaw security_group_ids w sekcji sterownika, aby obejmowało grupę zabezpieczeń dostępną z laptopa. Nie ustawienie tego spowoduje użycie grupy zabezpieczeń default.
  4. Ustaw transport.ssh_key na ścieżkę do klucza SSH. Domyślnie szuka id_rsa.

Licencja

MIT

Autorzy i współtwórcy

Mike Julian (@mjulian)

O projekcie

Install and configure the Librato Agent

Zainstaluj
ansible-galaxy install librato.librato
Licencja
Unknown
Pobrania
651
Właściciel
https://librato.com