Installation von NXLog auf Windows mit Ansible

In diesem Blogbeitrag zeige ich Dir, wie Du NXLog auf einem Windows-Rechner mittels Ansible installierst. Ansible ist ein großartiges Tool zur Automatisierung von Aufgaben auf mehreren Rechnern und kann Dir viel Zeit und Mühe sparen. Wir werden ein Playbook verwenden, das den gesamten Installationsprozess abdeckt.

Voraussetzungen

Bevor Du beginnst, stelle sicher, dass Du die folgenden Voraussetzungen erfüllst:

  1. Ansible installiert: Auf Deinem Control Node (der Maschine, von der aus Du die Ansible-Tasks ausführst) muss Ansible installiert sein.
  2. WinRM eingerichtet: Dein Windows-Host muss für die Remote-Verwaltung über WinRM (Windows Remote Management) konfiguriert sein.
  3. MSI und Konfigurationsdatei bereit: Du benötigst die NXLog MSI-Datei und die dazugehörige Konfigurationsdatei auf Deinem Control Node.

Playbook-Übersicht

Hier ist das Playbook, das wir verwenden werden:

---
# Install software on Windows using Ansible
- name: Install software on Windows
  hosts: all
  vars:
    msi_source_path: "/nxlog.msi"  # Source path of the MSI file on the control machine
    msi_dest_path: "C:\\temp\\nxlog.msi"  # Destination path for the MSI file on the Windows machine
    nxlog_conf_source_path: "/nxlog.conf"  # Source path of the nxlog configuration file on the control machine
    nxlog_conf_dest_path: "C:\\Program Files\\nxlog\\conf\\nxlog.conf"  # Destination path for the nxlog configuration file on the Windows machine

  tasks:
    - name: Ensure C:\temp directory exists
      win_file:
        path: C:\temp
        state: directory  # Ensure the specified directory exists

    - name: Copy MSI file to Windows machine
      win_copy:
        src: "{{ msi_source_path }}"
        dest: "{{ msi_dest_path }}"  # Copy the MSI file from the control machine to the Windows machine

    - name: Install MSI package
      win_package:
        path: "{{ msi_dest_path }}"
        state: present  # Install the MSI package

    - name: Create destination directory for nxlog.conf if it doesn't exist
      win_file:
        path: "C:\\Program Files\\nxlog\\conf"
        state: directory  # Ensure the directory for nxlog.conf exists

    - name: Copy nxlog.conf to Windows machine
      win_copy:
        src: "{{ nxlog_conf_source_path }}"
        dest: "{{ nxlog_conf_dest_path }}"  # Copy the nxlog configuration file to the Windows machine

    - name: Restart nxlog service
      win_service:
        name: nxlog
        state: restarted  # Restart the nxlog service to apply the new configuration

Schritt-für-Schritt-Anleitung

Verzeichnis erstellen: Zuerst sorgt das Playbook dafür, dass das Verzeichnis C:\temp auf Deinem Windows-Rechner existiert. Dies ist der Ort, an dem wir die MSI-Datei kopieren werden

    - name: Ensure C:\temp directory exists
      win_file:
        path: C:\temp
        state: directory

    MSI-Datei kopieren: Als nächstes wird die MSI-Datei von Deinem Control Node auf den Windows-Rechner in das Verzeichnis C:\temp kopiert.

    - name: Copy MSI file to Windows machine
      win_copy:
        src: "{{ msi_source_path }}"
        dest: "{{ msi_dest_path }}"
    

    MSI-Paket installieren: Das Playbook installiert dann das MSI-Paket auf dem Windows-Rechner.

    - name: Install MSI package
      win_package:
        path: "{{ msi_dest_path }}"
        state: present

    Konfigurationsverzeichnis erstellen: Falls das Verzeichnis für die NXLog-Konfigurationsdatei nicht existiert, wird es erstellt.

    - name: Create destination directory for nxlog.conf if it doesn't exist
      win_file:
        path: "C:\\Program Files\\nxlog\\conf"
        state: directory

    Konfigurationsdatei kopieren: Die NXLog-Konfigurationsdatei wird vom Control Node auf den Windows-Rechner kopiert.

    - name: Copy nxlog.conf to Windows machine
      win_copy:
        src: "{{ nxlog_conf_source_path }}"
        dest: "{{ nxlog_conf_dest_path }}"

    NXLog-Service neu starten: Schließlich wird der NXLog-Service neu gestartet, um die neue Konfiguration anzuwenden.

    - name: Restart nxlog service
      win_service:
        name: nxlog
        state: restarted

    Ausführung des Playbooks

    Um das Playbook auszuführen, speichere es in einer Datei, zum Beispiel install_nxlog.yml, und führe dann folgenden Befehl aus:

    ansible-playbook -i <Dein Inventory File> install_nxlog.yml

    Stelle sicher, dass Dein Inventory File den Windows-Host korrekt enthält und dass die Verbindung über WinRM funktioniert.

    Mit diesem Playbook kannst Du NXLog einfach und schnell auf einem Windows-Rechner installieren und konfigurieren. Viel Erfolg bei der Automatisierung!

    🤞 1x pro Monat unsere News, Tipps und Tutorials gebündelt direkt in dein Postfach!

    Wir senden keinen Spam! Erfahre mehr in unserer Datenschutzerklärung.


    Kommentare

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.