Als ich dieses Tool erstellte, war ich mit Logwatch nicht vertraut. Ich wollte die Situation mit den Protokollen auf meinen Servern im Allgemeinen sehen und habe dieses Fahrrad gemacht. Ich denke, dass dieser Mechanismus Anfängern helfen kann, die alternativen Möglichkeiten von Ansible zu verstehen.
Gebrauchte Softwareprodukte:
- Python 2.7.14
- ansible 2.3
- Sternchen-Server basierend auf FreePBX 13
Der Mechanismus besteht aus zwei Teilen - einem Python-Skript, das die Protokolldatei verarbeitet und einen Bericht an die E-Mail sendet, und einem Playbook zum Sammeln von Protokollen von Servern und zum Übertragen dieser Protokolle zur Verarbeitung an das Skript.
Playbook selbst:
--- - name: parseastlogs hosts: production_asterisks vars: date: "{{ lookup('pipe', 'date +%Y%m%d') }}" ipaddr: "{{ ansible_default_ipv4.address }}" tasks: - debug: var=date - debug: var=ipaddr - fetch: src: /var/log/asterisk/full-{{ date }} dest: /tmp/full-{{ date }}-{{ ipaddr }} flat: yes - local_action: "shell /etc/ansible/localscripts/astReporter.py {{ ipaddr }} full-{{ date }}-{{ ipaddr }}" , fetch. - flat, .
Skript:
Das Skript wird mit dem folgenden Befehl gestartet: / usr / local / bin / ansible-playbook /etc/ansible/playbooks/parseastlogs.yml
Das Ergebnis des Befehls ist eine Anzahl von Buchstaben (ein Buchstabe für jeden Server aus der Gruppe Production_asterisk) mit ungefähr dem folgenden Inhalt:

Wenn Sie Fragen oder Anregungen haben, bin ich bereit, diese zu beantworten.