Cuando creé esta herramienta, no estaba familiarizado con logwatch. Quería ver la situación con los registros en mis servidores en general, así que hice esta bicicleta. Creo que este mecanismo puede ayudar a los principiantes a comprender las posibilidades alternativas de ansible.
Productos de software usados:
- Python 2.7.14
- ansible 2.3
- Servidores asterisk basados en FreePBX 13
El mecanismo consta de dos partes: un script de Python que procesa el archivo de registro y envía un informe al correo, y un libro de jugadas para recopilar registros de los servidores y transferirlos al script para su procesamiento.
Libro de jugadas en sí:
--- - 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, .
Guión:
el script se inicia con el comando: / usr / local / bin / ansible-playbook /etc/ansible/playbooks/parseastlogs.yml
El resultado del comando será una cantidad de letras (una letra para cada servidor del grupo production_asterisk) con aproximadamente el siguiente contenido:

Si tiene preguntas o sugerencias, estoy listo para responderlas.