logdna.logdna

CircleCI

LogDNA-Agent mit Ansible bereitstellen

Beschreibung

Ansible Galaxy Rolle zur Installation und Konfiguration des LogDNA-Agenten

Anforderungen

  • Ansible-Version: >=2.1
  • Getestet auf den folgenden Betriebssystemen:
    • CentOS 6
    • CentOS 7
    • Ubuntu 12.04 - Precise
    • Ubuntu 14.04 - Trusty
    • Ubuntu 16.04 - Xenial
    • Ubuntu 17.10 - Artful
    • Debian 8 - Jessie

Rollenvariablen

Aufgabenspezifische Variablen

  • agent_install: true, wenn installiert werden soll (Standard: true)
  • agent_config: true, wenn konfiguriert werden soll (Standard: true)
  • agent_service: (Standard: started), unterstützt:
    • started: den LogDNA-Agent-Dienst starten, wenn conf_key angegeben ist
    • restarted: den LogDNA-Agent-Dienst neu starten
    • stopped: den LogDNA-Agent-Dienst stoppen.

Konfigurationsvariablen

Diese Variablen entsprechen direkt den nativen Konfigurationsoptionen für den LogDNA-Agenten:

  • conf_key: LogDNA Ingestion Key - Der LogDNA-Agent-Dienst startet nicht, wenn conf_key nicht angegeben ist
  • conf_config: Dateipfad für die LogDNA-Agent-Konfiguration (Standard: /etc/logdna.conf)
  • conf_logdir: Zu hinzufügende Log-Verzeichnisse
  • conf_logfile: Zu hinzufügende Log-Dateien
  • conf_exclude: Zu ausschließende Log-Dateien oder Verzeichnisse
  • conf_exclude_regex: Ausschlussregel für Logzeilen
  • conf_hostname: Alternativer Hostname, der verwendet werden soll
  • conf_tags: Hinzuzufügende Tags.

Installation

  • Online von Ansible Galaxy: ansible-galaxy install logdna.logdna
  • Direkt aus dem Quellcode: ansible-galaxy install git+https://github.com/logdna/ansible-logdna.git

Beispiel-Playbook

- hosts: <hosts>
  vars:
    conf_key: <LogDNA Ingestion Key>
  roles:
     - { role: logdna.logdna }

Anwendungsfälle

  • Um den Dienst auf den angegebenen Hosts zu installieren, zu konfigurieren und zu starten:
- hosts: <hosts>
  vars:
    conf_key: <LogDNA Ingestion Key>
    # Alle anderen Konfigurationsparameter angeben
  roles:
     - { role: logdna.logdna }
  • Um den Dienst auf den angegebenen Hosts neu zu konfigurieren und neu zu starten:
- hosts: <hosts>
  vars:
    # Neu Konfigurationsparameter angeben
    agent_service: restarted
  roles:
     - { role: logdna.logdna }
  • Nur installieren, aber nicht konfigurieren oder den Dienst anpassen:
- hosts: <hosts>
  vars:
    # LogDNA Ingestion Key nicht setzen
    agent_config: false
  roles:
     - { role: logdna.logdna }
  • Den Dienst stoppen:
- hosts: <hosts>
  vars:
    agent_install: false
    agent_config: false
    agent_service: stopped
  roles:
     - { role: logdna.logdna }

LogDNA Callback-Plugin

Das LogDNA Callback-Plugin ist ein Handler, um die Protokolle aus jedem ansible-playbook-Durchlauf an LogDNA zu senden. Derzeit unterstützt es die folgenden Kategorien von Protokollen: STATS, FAILED, OK, UNREACHABLE, ASYNC_FAILED, ASYNC_OK. Es kann folgendermaßen konfiguriert werden:

  • Wenn das Python-Paket für den LogDNA-Agenten nicht installiert ist, installieren Sie es mit einem der folgenden Befehle, je nach verwendeter Python-Version: pip install logdna oder pip3 install logdna
  • Wenn die von Ihnen verwendete Ansible-Version älter als v2.6 (d.h. <= v2.5) ist, gehen Sie folgendermaßen vor:
    • Laden Sie das Plugin von hier in den Ordner für Callback-Plugins herunter. Den Ordner finden Sie mit folgendem Befehl: echo $(ansible-doc -F | awk 'FNR == 1 {print $2}' | sed 's/\/modules/+/g' | cut -d'+' -f 1)/plugins/callback
  • Wenn es keine ansible.cfg auf Ihrem System gibt, gehen Sie folgendermaßen vor:
    • Stellen Sie sicher, dass der Ordner /etc/ansible existiert, indem Sie mkdir -p /etc/ansible ausführen
    • Laden Sie die ansible.cfg von hier in /etc/ansible/ herunter
  • Führen Sie ANSIBLE_CONFIG=<Pfad zur ansible.cfg> aus
  • Öffnen Sie ansible.cfg und führen Sie folgende Schritte durch:
    • Kommentieren Sie die Zeile mit callback_whitelist aus, wenn sie auskommentiert ist, und fügen Sie logdna hinzu
    • Kommentieren Sie die Zeile mit callback_plugins aus, wenn sie auskommentiert ist, und aktualisieren Sie den Pfad zu Callback-Plugins
  • Damit das Plugin funktioniert, müssen die folgenden Umgebungsvariablen gesetzt werden:
    • LOGDNA_INGESTION_KEY: LogDNA Ingestion Key zur Übertragung der Protokolle - erforderlich
    • ANSIBLE_IGNORE_ERRORS: Ob Fehler bei einem Fehlschlag ignoriert werden sollen oder nicht; standardmäßig False - optional
    • LOGDNA_HOSTNAME: Alternativer Hostname, der in den Protokollen verwendet werden soll - optional
    • LOGDNA_TAGS: Kommagetrennte Liste von Tags; standardmäßig ansible - optional

Mitwirken

Beiträge sind immer willkommen. Siehe die Beitragsrichtlinien, um zu erfahren, wie Sie helfen können.

Lizenz und Autoren

Über das Projekt

Ansible Galaxy Role to install and configure LogDNA Agent

Installieren
ansible-galaxy install logdna.logdna
GitHub Repository
Lizenz
mit
Downloads
11.3k
Besitzer
Supercharge Observability With Mezmo Telemetry Pipeline