tartansandal.awslogs-setup

awslogs-setup

Richten Sie den AWS CloudWatch Logs-Agent von Grund auf neu ein.

Im Gegensatz zu ähnlichen Rollen wird hier das Skript awslogs-agent-setup.py nicht aufgerufen. Stattdessen wurde dieses Skript in eine Reihe von Dateien, Vorlagen und Ansible-Aufgaben zerlegt, die ausgeführt werden können, um dieselben (nicht-interaktiven) Ergebnisse zu erzielen.

Dies ermöglicht es uns, die Agenteneinrichtung klar von der Agenten-Konfiguration zu trennen. Letztere wird sehr spezifisch für Ihr System sein und sollte wahrscheinlich von einer separaten Rolle behandelt werden, die awslogs-setup als Abhängigkeit hat (siehe unten).

Eine Kopie des ursprünglichen awslogs-agent-setup.py-Skripts befindet sich im Verzeichnis /src zur Referenz.

Anforderungen

Für die Verwendung mit EC2-Linux-Instanzen, die auf AWS ausgeführt werden.

Rollenvariablen

Sie müssen wahrscheinlich die AWS-Region festlegen, die vom installierten aws-cli verwendet wird. Standardmäßig ist dies:

awslogs_setup_region: ap-southeast-2

Die Einrichtung installiert ein "Launcher"-Skript und ein Agenten-Daemon-"Nanny"-Skript, das versucht, sicherzustellen, dass der Agent immer läuft. Dies erfordert, dass ein paar Pfade zu Systembefehlen angegeben werden. Die folgenden Standardwerte sollten auf den meisten modernen Systemen funktionieren:

awslogs_setup_launcher_nice: /usr/bin/nice
awslogs_setup_nanny_ps:      /usr/bin/ps
awslogs_setup_nanny_cat:     /usr/bin/cat
awslogs_setup_nanny_grep:    /usr/bin/grep
awslogs_setup_nanny_service: /usr/sbin/service

Wenn Sie jedoch ein ungewöhnliches (oder altes) System haben, können diese überschrieben werden.

Beispiel-Playbook

Diese Rolle richtet nur den awslogs-Agenten ein. Die Konfiguration des Agenten bleibt Ihnen überlassen. Dies ist sehr einfach, kann aber sehr spezifisch für Ihr System sein.

- hosts: servers
  vars:
    awslogs_setup_region: us-east-1   # oder über das Inventar festlegen

  roles:
    - tartansandal.awslogs-setup

  handlers:
    - name: awslogs neu starten
      service: awslogs state=restarted

  post_tasks:
    - name: awslogs für Systemprotokolldateien konfigurieren
      template:
        src: awslogs.conf.j2
        dest: /var/awslogs/etc/awslogs.conf
      notify: awslogs neu starten

    # Verwenden Sie das Verzeichnis /var/awslogs/etc/config/ für dienstspezifische Konfigurationen
    - name: awslogs für nginx-Protokolldateien konfigurieren
      template:
        src: nginx-awslogs.conf.j2
        dest: /var/awslogs/etc/config/nginx.conf
      notify: awslogs neu starten

Die oben gezeigten post_tasks können in separate Rollen ausgegliedert werden, die awslogs-setup als Abhängigkeit haben.

Siehe http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AgentReference.html für Details zur Konfiguration des Agenten.

ToDo

  1. Erstellen Sie eine systemd-Konfiguration zur Verwaltung des Launcher-Skripts.

Lizenz

BSD

Über das Projekt

Set up the AWS CloudWatch Logs Agent from scratch.

Installieren
ansible-galaxy install tartansandal.awslogs-setup
GitHub Repository
Lizenz
Unknown
Downloads
331
Besitzer