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.

Installare Ansible su CentOS 7


Ansible è un software libero che consente di automatizzare le procedure di configurazione e gestione sui sistemi unix-like e Windows

Da Wikipedia

Dopo aver visto come installare Ansible su Ubuntu 18.04 LTS, vediamo come farlo su CentOS 7.

Dal momento che la versione inclusa nei repository della distribuzione è un po’ vecchia, per prima cosa configuriamo i repo di EPEL

yum install epel-release

Ora possiamo procedere all’installazione

yum install -y ansible

Verifichiamo che funzioni tutto

ansible --version
ansible 2.7.6
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

Installare Zabbix Server 4.0 su CentOS 7

Zabbix è un software libero per il monitoraggio di reti e vari sistemi informatici, atto a tracciare lo stato di server e servizi di rete correlati. Ideato dal programmatore russo Alexei Vladishev, è rilasciato sotto i termini della GNU General Public License versione 2.

da Wikipedia

Installazione di Apache e PHP

Passaggi preliminari.

yum -y install httpd php
systemctl start httpd
systemctl enable httpd

Configurazione dei repository ufficiali

Non esistono versioni di Zabbix nei repository di CentOS, dobbiamo quindi configurare il repository ufficiale, per farlo usiamo il comando che segue.

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

Installazione di Zabbix

Ora possiamo installare il server, l’agent e i pacchetti che servono al funzionamento dell’interfaccia web. Nell’esempio che segue si fa riferimento alla versione che utilizza MySQL/MariaDB, nel caso si voglia utilizzare PostgreSQL i pacchetti saranno, ovviamente, diversi.

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent 

Installazione e configurazione di MariaDB

Installiamo e configuriamo il database.
NOTA BENE: sicuramente non è una buona idea usare la password del mio esempio.

yum -y install mariadb-server

systemctl start mariadb
systemctl enable mariadb

mysql_secure_installation

mysql -uroot -p

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
mysql> quit;

Popoliamo il database appena creato

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Configurazione di Zabbix

Ora è necessario modificare il file di configurazione /etc/zabbix/zabbix_server.conf aggiungendo la password che abbiamo scelto in precedenza.

DBPassword=password

Configurazione di PHP

Occorre modificare anche un parametro nel file /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Europe/Rome

Abilitazione e avvio dei servizi

Abilitiamo i servizi e avviamoli

systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd

Configurazione firewall

Apriamo le porte del firewall necessarie al funzionamento dei servizi.

firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --permanent --add-port=80/tcp
systemctl restart firewalld

Gli ultimi passaggi sono piuttosto intuitivi e si portano a termine usando l’interfaccia web. La url sarà qualcosa di simile a http://nostroserver/zabbix.

Installare Ansible su Ubuntu 18.04 LTS


Ansible è un software libero che consente di automatizzare le procedure di configurazione e gestione sui sistemi unix-like e Windows

Da Wikipedia

Vediamo velocemente come installare Ansible su Ubuntu 18.04 LTS:

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository --yes --update ppa:ansible/ansible
$ sudo apt-get install ansible

Verifichiamo che funzioni tutto

$ ansible --version

Installare Vagrant su Ubuntu 18.04 LTS

Per installare Vagrant su Ubuntu 18.04 LTS abbiamo due opzioni:

  • installare la versione presente nei repository ufficiali della nostra distribuzione, nel nostro caso Bionic Beaver;
  • installare l’ultima versione disponibile sul sito di HashiCorp; noi sceglieremo questa seconda strada.

Scarichiamo il pacchetto per Debian — non esiste una versione specifica per Ubuntu — da questa pagina.

wget https://releases.hashicorp.com/vagrant/2.2.3/vagrant_2.2.3_x86_64.deb

Installiamolo con il comando

sudo dpkg -i vagrant_2.2.3_x86_64.deb

Verifichiamo che tutto funzioni correttamente

$ vagrant --version
Vagrant 2.2.3

Avvio della prima VM con Vagrant

A questo punto, se abbiamo precedentemente installato VirtualBox (se non l’avete ancora fatto potete seguire questa guida), possiamo provare  a istanziare la nostra prima macchina virtuale:

$ vagrant init hashicorp/precise64
$ vagrant up

Il primo comando crea un file chiamato Vagrantfile nella cartella corrente, file necessario all’avvio di una virtual machine che, nel nostro esempio, eseguirà Ubuntu 12.04 LTS. L’ avvio verrà eseguito con il secondo comando.

Per collegarci in ssh alla nuova istanza il comando da eseguire è:

$ vagrant ssh

Per stoppare la nostra virtual machine il comando è:

$ vagrant halt

Per rimuoverla del tutto

$ vagrant destroy

Pingare più host con un solo comando

Poniamo il caso di avere la necessità di pingare più host, dove per “più host” potremmo anche intenderne 40,50 o un’intera classe C. Se non capite a cosa possa servire, probabilmente non vi serve. Nessun problema. Se invece vi è capitato di avere questa necessità, la soluzione si chiama fping.

Se gli host che vogliamo pingare non hanno indirizzi consecutivi dovremo crearci un file di testo da passare come argomento al comando. Ad esempio creiamo il file ip_address con un indirizzo per riga, come questo:

10.102.0.1
10.102.0.2
192.168.1.1
192.168.2.1
192.168.2.2

Ora per pingare tutti gli ip basterà usare il comando

fping -f ip_address

Se vogliamo ricevere in output solo gli ip degli host irragiungibili dobbiamo aggiungere lo switch -u (unreachable)

fping -u -f ip_address

Per pingare un’intera classe C il comando sarà

fping -g 192.168.1.0/24

Useremo lo switch -g anche per indicare a fping un intervallo, come in quest’esempio

fping -g 192.168.1.10 192.168.1.100

Aggiungere un disco virtuale a un server linux su VMware (senza reboot)

Dopo avere aggiunto il disco virtuale dall’interfaccia di VMware, per poterlo vedere sulla macchina virtuale senza riavviare dobbiamo eseguire il comando:
echo "- - -" > /sys/class/scsi_host/host0/scan
fdisk -l

Nota: lo scsi_host potrebbe essere diverso nel vostro caso.

La procedura dovrebbe essere identica per qualsiasi altro software di virtualizzazione analogo a VMware.