Installare Ansible su Windows con Cygwin

Non stiamo a interrogarci sul perché ma vediamo il come.

Per prima cosa ci occorre il file di setup di Cygwin.

A questo punto, da un terminale lanciamo il comando che installerà Cygwin con tutte le dipendenze necessarie per installare successivamente Ansible:

setup-x86_64.exe -q --packages=binutils,curl,cygwin32-gcc-g++,gcc-g++,git,gmp,libffi-devel,libgmp-devel,make,nano,openssh,openssl-devel,python-crypto,python-paramiko,python2,python2-devel,python2-openssl,python2-pip,python2-setuptools

Ora possiamo avviare Cygwin e verificare che pip sia stato installato correttamente:

/c/cygwin64 $ which pip2
/usr/bin/pip2

E installare Ansible:

pip2 install ansible

Per testarlo:

ansible

Ci manca un ultimo passaggio per poter usare Ansible su Windows. Dobbiamo creare il file ansible.cfg e inserirvi le righe seguenti:

[ssh_connection]
ssh_args = -o ControlMaster=no

Quest’ultimo parametro è assolutamente fondamentale per il funzionamento in ambienti Windows di Ansible. Possiamo passarlo anche come variabile d’ambiente così:

export ANSIBLE_SSH_ARGS="-o ControlMaster=no"

Installare lo Zabbix Agent su CentOS 7

Lo Zabbix Agent è la componente che è necessario installare sulle macchine che vogliamo monitorare con Zabbix. La sua funzione è quella di collezionare dati sui client e di renderli disponibili al server.

Esistono due modalità di comunicazione tra la componente agent e il server:

  1. Passive: il server richiede i dati al client
  2. Active: il client manda i dati al server

Dopo aver visto l’installazione del server Zabbix, vediamo come si installa un client su una macchina CentOS 7.

Per prima cosa occorre configurare il repository ufficiale

rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

Ora possiamo installare lo Zabbix Agent con il comando

yum install -y zabbix-agent

Il passo successivo sarà la configurazione dell’agent inserendo nel file i parametri per contattare il server.
Il file è /etc/zabbix/zabbix_agentd.conf

#Server=[indirizzo del zabbix server]
#ServerActive=[indirizzo del zabbix server]
#Hostname=[ Hostname del client ]
#EnableRemoteCommands=[ per eseguire comandi dal server ]

Server=192.168.1.100
ServerActive=192.168.1.100
Hostname=Server1
EnableRemoteCommands=1

Se stiamo utilizzando un firewall locale apriamo la porta utilizzata dall’agent

firewall-cmd –-add-port=10050/tcp –permanent
firewall-cmd –reload

E infine avviamo il servizio e lo abilitiamo all’avvio

systemctl start zabbix-agent
systemctl enable zabbix-agent

Terminate queste operazioni si può aggiungere il nuovo host dalla console web dello Zabbix Server e iniziare a monitorarlo.
Nel caso ci fossero problemi si può consultare questo post sul troubleshooting dello Zabbix Agent.