logdna.logdna
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, wennconf_key
angegeben istrestarted
: den LogDNA-Agent-Dienst neu startenstopped
: 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, wennconf_key
nicht angegeben istconf_config
: Dateipfad für die LogDNA-Agent-Konfiguration (Standard:/etc/logdna.conf
)conf_logdir
: Zu hinzufügende Log-Verzeichnisseconf_logfile
: Zu hinzufügende Log-Dateienconf_exclude
: Zu ausschließende Log-Dateien oder Verzeichnisseconf_exclude_regex
: Ausschlussregel für Logzeilenconf_hostname
: Alternativer Hostname, der verwendet werden sollconf_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
oderpip3 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
- Laden Sie das Plugin von hier in den Ordner für Callback-Plugins herunter. Den Ordner finden Sie mit folgendem Befehl:
- Wenn es keine
ansible.cfg
auf Ihrem System gibt, gehen Sie folgendermaßen vor:- Stellen Sie sicher, dass der Ordner
/etc/ansible
existiert, indem Siemkdir -p /etc/ansible
ausführen - Laden Sie die
ansible.cfg
von hier in/etc/ansible/
herunter
- Stellen Sie sicher, dass der Ordner
- 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 Sielogdna
hinzu - Kommentieren Sie die Zeile mit
callback_plugins
aus, wenn sie auskommentiert ist, und aktualisieren Sie den Pfad zu Callback-Plugins
- Kommentieren Sie die Zeile mit
- Damit das Plugin funktioniert, müssen die folgenden Umgebungsvariablen gesetzt werden:
LOGDNA_INGESTION_KEY
: LogDNA Ingestion Key zur Übertragung der Protokolle - erforderlichANSIBLE_IGNORE_ERRORS
: Ob Fehler bei einem Fehlschlag ignoriert werden sollen oder nicht; standardmäßigFalse
- optionalLOGDNA_HOSTNAME
: Alternativer Hostname, der in den Protokollen verwendet werden soll - optionalLOGDNA_TAGS
: Kommagetrennte Liste von Tags; standardmäßigansible
- optional
Mitwirken
Beiträge sind immer willkommen. Siehe die Beitragsrichtlinien, um zu erfahren, wie Sie helfen können.
Lizenz und Autoren
- Autor: Samir Musali, LogDNA
- Lizenz: MIT
Über das Projekt
Ansible Galaxy Role to install and configure LogDNA Agent
Installieren
ansible-galaxy install logdna.logdna
Lizenz
mit
Downloads
11.3k
Besitzer
Supercharge Observability With Mezmo Telemetry Pipeline