[ZABBIX] Implementazione di un sistema di monitoraggio small business/enterprise

Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Moderatore L'avatar di Matty90
    Registrato
    May 2006
    Località
    Zola Predosa (BO)
    Età
    33
    Messaggi
    6,386

    Predefinito [ZABBIX] Implementazione di un sistema di monitoraggio small business/enterprise



    Ciao Ragazzi,
    qualche tempo fa ho ottenuto la certificazione come Zabbix 3.0 Certified Specialist e stavo pensando di presentarvi questo software open source utilizzato per il monitoraggio completo delle infrastrutture, ma che può essere tranquillamente utilizzato anche in ambito domestico per tenere sotto controllo tutti i nostri devices connessi in rete.

    Parlando per esperienza personale, è utilissimo sia con una configurazione base per tenere sotto controllo tutto ciò di cui abbiamo bisogno, che a livello avanzato per implementare script o task a partire da un dato trigger-alarm: io, tra le altre cose ad esempio, lo utilizzo per riavviare il router in automatico qualora dallo zabbix-server non raggiungo i dns pubblici di google per più di 15 minuti, oppure per scalare automaticamente le risorse ad alcune macchine virtuali in caso di sofferenza delle stesse (cpu a tappo, ram che si satura, ecc ecc)

    Tra le altre cose, zabbix è integrabile in moltissimi modi anche con portali web ad esempio per mostrare lo stato di alcuni servizi (i classici "status availability" dei vari siti) e può essere collegato anche a molteplici plugin per il monitoraggio di tutto ciò che abbiamo bisogno: AmazonAWS, monitoraggio API, WordPress, ecc ecc

    Una delle funzionalità più utilizzate di zabbix oltre alla gestione trigger-alert è la possibilità di avere graficati i vari dati registrati, sia come campionature puntuali, che come trend, medie e current data (campionatura attuale). Questi grafici poi, possono essere customizzati in varie viste oppure resi più gradevoli e professionali utilizzando plugin esterni come grafana.


    WS HOME (in pensione): i7 7700k @ 5.2Ghz cooled by Custom Loop - Asus Maximus IX Apex - Asus Strix 980Ti - 16Gb Gskill TridentZ F4-3866C18 - Antec HCP 1000W Platinum - 3 x WD 500Gb (Dati) - Samsung Evo 840 (SO) - Win10 Pro x64
    WS LAB: Ryzen 2700x cooled by Corsair H100i V2 - Asus Rog Strix x370-i Gaming - 32Gb GSkill TridentZ RGB 3600Mhz - Zotac GTX1060 Mini 6GB - Thermaltake Smart Pro RGB 650W - Sabrent 1TB - MP500 NvME 250Gb come cache disk - Win10 Pro x64 - Phanteks Evolv ITX Glass --- Virtualization with Hyper-V

    My HPE MicroServer:
    Configurazione e Setup

  2. #2
    Moderatore L'avatar di Matty90
    Registrato
    May 2006
    Località
    Zola Predosa (BO)
    Età
    33
    Messaggi
    6,386

    Predefinito

    [Configurazione e installazione Zabbix]

    Vedremo di seguito l'implementazione di uno Zabbix Server, partendo da una installazione pulita e di base di CentOS 7. Potete trovare la ISO necessaria all'installazione di questa distro gratuitamente QUI

    Per mia comodità, ho preferito installare CENTOS7 e quindi tutto lo zabbix server e il suo database mysql su una singola macchina virtuale. Per chi volesse provare zabbix senza bisogno di dover mettere mano a righe di codice o comandi vari, può utilizzare anche le appliance già pronte fornite ufficialmente da zabbix stessa. Le appliance le potete trovare qui: https://www.zabbix.com/download#appliance

    [Di cosa abbiamo bisogno?]

    Per l'installazione del nostro Zabbix Server abbiamo bisogno di:
    - Installazione pulita CENTOS7
    - CPU con 2 core
    - RAM 2Gb
    - Database MySQL/MariaDB
    - Apache + PHP

    [Procediamo a preparare l'installazione di CENTOS]

    Per prima cosa, occorre aggiornare la nostra distro. Per farlo lanciamo i seguenti comandi con privilegi di root:
    - yum update -y
    - yum upgrade -y


    Installiamo quindi tutte le componenti necessarie per l'installazione dello zabbix server:
    - yum install wget epel-release php56-mbstring yum-utils curl
    - yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
    - yum install php-mbstring php-bcmath


    Zabbix lavora prevalentemente per campionamenti, che chiaramente devono avere un time-stamp ben definito. Per essere sicuri che tutto sia corretto, andiamo ad editare il file .bashrc:
    - vi .bashrc
    - aggiungiamo la seguente stringa: HISTTIMEFORMAT="%d/%m/%y %T "


    Disabilitiamo ora SELinux, in modo da disabilitare il sistema di controllo degli accessi. Zabbix, per poter campionare dati dagli host che deve monitorare, ha bisogno di un agent, che pertanto potrebbe risultare bloccato. Ricordo che SELinux non è da considerarsi ne come un firewall ne come antivirus.
    - vi /etc/selinux/config
    - cambiare la entry presente da SELINUX=enforcing a SELINUX=disabled
    - lanciare da terminale il comando setenforce 0

    Prima di procedere con le rimanenti operazioni, procediamo con un riavvio della macchina.

    [Prepariamo l'installazione di Zabbix server e di ciò ad esso necessario]

    Installiamo il repo ufficiale di zabbix:
    -
    rpm -ivh http://repo.zabbix.com/zabbix/3.2/rh...el7.noarch.rpm

    Installiamo ora i pacchetti necessari per il corretto funzionamento:
    - yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway mariadb-server

    Abilitiamo e avviamo MariaDB:
    - systemctl enable mariadb
    - systemctl start mariadb
    - mysql_secure_installation

    Editiamo il file di configurazione di PHP per permettere il corretto funzionamento di Zabbix:
    - vi /etc/php.ini


    Cerchiamo e cambiamo i seguenti paramentri come da indicazioni:
    max_execution_time = 600
    max_input_time = 600
    memory_limit = 256M
    post_max_size = 32M
    upload_max_filesize = 16M
    date.timezone = Europe/Rome

    Configuriamo il Firewall di sistema per permettere la corretta comunicazione di agent e server zabbix aprendo rispettivamente le porte 10050 e 10051:- firewall-cmd --permanent --add-port=10050/tcp
    - firewall-cmd --permanent --add-port=10051/tcp
    - firewall-cmd --permanent --add-port=80/tcp
    - firewall-cmd --reload
    - systemctl restart firewalld


    Procediamo a questo punto alla configurazione dei servizi:
    - systemctl start zabbix-server
    - systemctl enable zabbix-server
    - systemctl enable httpd
    - systemctl restart httpd


    Prima di procedere all'implementazione dei database di zabbix, procediamo con un backup completo del nostro mysql e settiamo innodb per tabella:
    - mysqldump --all-databases -p > mysqlall.sql
    - service mariadb stop


    Aggiungere le seguenti righe dopo [mysqld] nel file /etc/my.cnf.d/server.conf:
    - vi /etc/my.cnf.d/server.conf
    [mysqld]
    innodb_file_per_table
    innodb_flush_method=O_DIRECT
    innodb_log_file_size=1G
    innodb_buffer_pool_size=4G
    innodb_data_file_path=ibdata1:10M:autoextend

    Cancelliamo ora i file di MySql presenti e riavviamo il servizio mariaDB:
    - rm -rf /var/lib/mysql/ib*
    - service mariadb restart

    [Configuriamo e importiamo il DB Zabbix]


    Da terminale colleghiamoci alla nostra istanza mysql/mariaDB:
    mysql -p
    >> create database zabbixdb;
    >> grant all privileges on zabbixdb.* to zabbix@localhost identified by 'PASSWORD'; ---> nota bene: la password dovrà essere la stessa che utilizzeremo successivamente nel file zabbix_server.config ed è la sola password che zabbix utilizzerà per connettersi al DB.
    >> flush privileges;
    >>exit

    Creiamo e importiamo ora il DBZabbix:- cd /usr/share/doc/zabbix-server-mysql-3.2.7/
    - gunzip create.sql.gz
    - mysql -u root -p zabbixdb < create.sql

    Ora procediamo a settare il corretto database sul file zabbix_server.conf Questo è necessario in quanto, come ogni software che si appoggia ad un DB, possiamo avere più istanze sulla stessa macchina e sullo stesso DB, anche se questo non è il nostro caso.vi /etc/zabbix/zabbix_server.conf
    DBHost=localhost
    DBName=zabbixdb
    DBUser=zabbix
    DBPassword=XXXXXXX ---> la password impostata in precedenza, nel comando grant privileges

    [Restartiamo zabbix server e installiamo la componente zabbix-get]

    A questo punto occorre effettuare un riavvio del servizio per applicare le modifiche. Dopo di che, possiamo procedere all'installazione della componente zabbix-get, necessaria per campionare i vari parametri dai nostri host sotto monitoraggio.
    - systemctl restart Zabbix-server
    - systemctl enable zabbix-agent
    - systemctl start zabbix-agent
    - wget http://repo.zabbix.com/zabbix/3.2/rh...el7.x86_64.rpm
    - rpm -Uvh zabbix-get-3.2.4-2.el7.x86_64.rpm

    [Godiamoci Zabbix!]

    Zabbix è ora pronto per essere utilizzato. Colleghiamoci via web a http://127.0.0.1/zabbix, dove ci apparirà la pagina di configurazione. Nessun allarme, basta confermare tutte le impostazioni inserite preventivamente, verificando che tutto sia marcato come OK.

    Logghiamoci ora alla dashboard con le seguenti credenziali:
    user: admin
    password: zabbix


    Siamo ora pronti per divertirci con questo nuovo giochino!
    Ultima modifica di Matty90 : 26-10-2018 a 18:06


    WS HOME (in pensione): i7 7700k @ 5.2Ghz cooled by Custom Loop - Asus Maximus IX Apex - Asus Strix 980Ti - 16Gb Gskill TridentZ F4-3866C18 - Antec HCP 1000W Platinum - 3 x WD 500Gb (Dati) - Samsung Evo 840 (SO) - Win10 Pro x64
    WS LAB: Ryzen 2700x cooled by Corsair H100i V2 - Asus Rog Strix x370-i Gaming - 32Gb GSkill TridentZ RGB 3600Mhz - Zotac GTX1060 Mini 6GB - Thermaltake Smart Pro RGB 650W - Sabrent 1TB - MP500 NvME 250Gb come cache disk - Win10 Pro x64 - Phanteks Evolv ITX Glass --- Virtualization with Hyper-V

    My HPE MicroServer:
    Configurazione e Setup

  3. #3
    Moderatore L'avatar di Matty90
    Registrato
    May 2006
    Località
    Zola Predosa (BO)
    Età
    33
    Messaggi
    6,386

    Predefinito

    [riservato per altro]


    WS HOME (in pensione): i7 7700k @ 5.2Ghz cooled by Custom Loop - Asus Maximus IX Apex - Asus Strix 980Ti - 16Gb Gskill TridentZ F4-3866C18 - Antec HCP 1000W Platinum - 3 x WD 500Gb (Dati) - Samsung Evo 840 (SO) - Win10 Pro x64
    WS LAB: Ryzen 2700x cooled by Corsair H100i V2 - Asus Rog Strix x370-i Gaming - 32Gb GSkill TridentZ RGB 3600Mhz - Zotac GTX1060 Mini 6GB - Thermaltake Smart Pro RGB 650W - Sabrent 1TB - MP500 NvME 250Gb come cache disk - Win10 Pro x64 - Phanteks Evolv ITX Glass --- Virtualization with Hyper-V

    My HPE MicroServer:
    Configurazione e Setup

  4. #4
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,379
    configurazione

    Predefinito

    Iscritto.
    Ma mi sa che me lo guardo al ritorno dalle ferie!!

    ciao!!

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022