GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare Zabbix su CentOS 7

Zabbix è un software di monitoraggio open source completo. Zabbix raccoglie le metriche dai dispositivi di rete, dai sistemi e dalle applicazioni e garantisce che siano attivi e funzionanti. In caso di problemi, Zabbix invierà avvisi di notifica tramite vari metodi.

Zabbix può essere distribuito per il monitoraggio basato su agente e senza agente. L'agente Zabbix ha un ingombro ridotto e può essere eseguito su varie piattaforme, inclusi Linux, UNIX, macOS e Windows.

Questo tutorial spiega come installare e configurare l'ultima versione di Zabbix 4.0 su un server CentOS 7 utilizzando MariaDB come database back-end. Ti mostreremo anche come installare l'agente Zabbix su un host remoto e aggiungere l'host al server Zabbix.

Prerequisiti #

Dovrai essere loggato come utente con accesso sudo per poter installare i pacchetti.

Creazione del database MySQL #

Zabbix supporta MySQL/MariaDB e PostgreSQL come server di database. In questo tutorial utilizzeremo MariaDB come database back-end.

Se non hai installato MariaDB sul tuo server CentOS, puoi installarlo seguendo queste istruzioni.

Accedi alla shell MySQL digitando il seguente comando:

sudo mysql

Dall'interno della shell MySQL, esegui il seguente comando SQL per creare un nuovo database:

CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;

Quindi, crea un account utente MySQL e concedi l'accesso al database:

GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Assicurati di modificare change-with-strong-password con una password complessa.

Una volta terminato, esci dalla console di MySQL digitando:

EXIT;

Installazione di Zabbix su CentOS #

Al momento della stesura di questo articolo, l'ultima versione stabile di Zabbix è la versione 4.0. I pacchetti Zabbix disponibili nei repository CentOS sono obsoleti, quindi utilizzeremo il repository Zabbix ufficiale.

1. Installazione di Zabbix #

Scarica l'ultimo pacchetto rpm del repository Zabbix con il seguente comando wget:

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

Una volta scaricato il file, aggiungi il repository Zabbix al tuo sistema CentOS 7 digitando:

sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm

Installa il server Zabbix, il frontend web con supporto per database MySQL e i pacchetti agente Zabbix:

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

Se Apache e PHP non sono già installati sul tuo server, il comando sopra li installerà.

2. Configurazione di PHP per Zabbix frontend #

Durante l'installazione viene creato un file di configurazione di Apache che contiene tutte le impostazioni Apache e PHP richieste. Devi solo apportare una piccola modifica e impostare il fuso orario appropriato.

Apri il file di configurazione, decommenta la riga del fuso orario e cambiala nel tuo fuso orario. Puoi trovare l'elenco completo dei fusi orari supportati da PHP qui.

/etc/httpd/conf.d/zabbix.conf
...
    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Europe/Riga
    </IfModule>
...

Al termine, salva il file di configurazione e riavvia il servizio Apache per rendere effettive le modifiche:

sudo systemctl restart httpd

3. Configurazione del database MySQL per Zabbix Server #

Il pacchetto di installazione di Zabbix fornisce un file di dump che include uno schema iniziale e dati per il server Zabbix con MySQL.

Importa il file di dump MySQL eseguendo:

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

Quando richiesto, inserisci la password utente che hai creato in precedenza. In caso di successo, non viene fornito alcun output.

Quindi, apri il file di configurazione di Zabbix nel tuo editor:

sudo nano /etc/zabbix/zabbix_server.conf

Cerca nella sezione seguente, decommenta il DBPassword direttiva e aggiungere la password del database.

/etc/zabbix/zabbix_server.conf
...
### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...

Salva e chiudi il file.

Riavvia il server Zabbix e i servizi dell'agente e consenti loro di avviarsi all'avvio del sistema:

sudo systemctl restart zabbix-server zabbix-agentsudo systemctl enable zabbix-server zabbix-agent

Controlla lo stato del server Zabbix:

sudo systemctl status zabbix-server

L'output dovrebbe mostrare active (running) :

● zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2018-12-30 21:18:01 UTC; 51s ago
 Main PID: 5558 (zabbix_server)
   CGroup: /system.slice/zabbix-server.service
   ...

Installazione e configurazione di Zabbix Frontend #

L'interfaccia web di Zabbix è scritta in PHP e ci consente di configurare il server, visualizzare i dati raccolti e aggiungere host che vogliamo monitorare.

Prima di iniziare a utilizzare l'interfaccia web, è necessario installarla.

Apri il tuo browser preferito e digita il nome di dominio del tuo server o l'indirizzo IP pubblico seguito da /zabbix :

http(s)://your_domain_or_ip_address/zabbix

Nella prima schermata, ti verrà presentato un messaggio di benvenuto. Fai clic su Next step per continuare.

Successivamente, vedrai la seguente pagina di informazioni che elenca tutti i prerequisiti PHP necessari per eseguire Zabbix Frontend. Tutti i valori in questa tabella dovrebbero essere OK , scorri verso il basso per verificare che tutto sia impostato correttamente. Una volta verificato, fai clic su Next step per procedere.

Nella schermata successiva, la procedura guidata di configurazione ti chiederà di inserire i dettagli della connessione al database. Inserisci l'utente MySQL e i dettagli del database che hai creato in precedenza.

L'immissione di un nome per il server è facoltativa. Inseriscilo se hai più di un server di monitoraggio Zabbix. Se fornito, verrà visualizzato nella barra dei menu e nei titoli delle pagine.

Fai clic su Next step per continuare.

Nella schermata successiva, ti verrà mostrato il riepilogo della preinstallazione.

Fai clic su Next step e una volta completata l'installazione verrai indirizzato a una pagina che ti informa che l'interfaccia web di Zabbix è stata installata. Per accedere alla tua pagina di accesso Zabbix clicca su Finish pulsante.

L'utente predefinito è "Admin" e la password è "zabbix". Inserisci username e password e clicca su Log in pulsante.

Una volta effettuato l'accesso, verrai reindirizzato alla dashboard di amministrazione di Zabbix.

Da qui, puoi iniziare a personalizzare la tua installazione di Zabbix e ad aggiungere nuovi host. Il primo passo dovrebbe essere quello di cambiare la password corrente. Per farlo, vai alla pagina del profilo utente facendo clic sull'icona del profilo nella barra di navigazione in alto.

Aggiunta di un nuovo host al server Zabbix #

La procedura per aggiungere un nuovo host per il monitoraggio al server Zabbix comprende due passaggi.

Innanzitutto, devi installare l'agente Zabbix sull'host remoto e quindi aggiungere l'host al server Zabbix tramite l'interfaccia web.

Installazione dell'agente Zabbix #

Questo tutorial presuppone che anche la macchina host utilizzi CentOS 7.

Come quando si installa il server Zabbix, eseguire i seguenti comandi per abilitare il repository Zabbix:

wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpmsudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm

Installa il pacchetto dell'agente Zabbix:

sudo yum install zabbix-agent

Zabbix supporta due metodi per la crittografia della comunicazione server-client, la chiave precondivisa (PSK) e la crittografia basata su certificati. In questo tutorial, utilizzeremo il metodo delle chiavi precondivise (PSK) per proteggere la connessione tra il server e l'agente.

Utilizzare il seguente comando per generare una chiave precondivisa e salvarla in un file:

openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk

La chiave PSK sarà simile a questa:

fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6

Apri il file di configurazione dell'agente Zabbix:

sudo nano /etc/zabbix/zabbix_agentd.conf

Cerca il Server Indirizzo IP e cambialo dal valore predefinito all'IP del tuo server Zabbix:

/etc/zabbix/zabbix_agentd.conf
...
### Option: Server
#       List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
#       Incoming connections will be accepted only from the hosts listed here.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
#       and '::/0' will allow any IPv4 or IPv6 address.
#       '0.0.0.0/0' can be used to allow any IPv4 address.
#       Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=

Server=127.0.0.1
...

Quindi, trova il TSLConnect opzione, decommentalo e impostalo su psk :

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSConnect
#       How the agent should connect to server or proxy. Used for active checks.
#       Only one value can be specified:
#               unencrypted - connect without encryption
#               psk         - connect using TLS and a pre-shared key
#               cert        - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...

Individua TLSAccept opzione, decommentalo e impostalo su psk :

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSAccept
#       What incoming connections to accept.
#       Multiple values can be specified, separated by comma:
#               unencrypted - accept connections without encryption
#               psk         - accept connections secured with TLS and a pre-shared key
#               cert        - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...

Quindi, trova TLSPSKIdentity opzione, decommentalo e impostalo su PSK 001 Il valore deve essere una stringa univoca:

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...

Infine, individua il TLSPSKFile opzione, decommentarla e impostarla in modo che punti alla chiave precondivisa precedentemente creata:

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk 
...

Al termine, salva e chiudi il file.

Avvia il servizio dell'agente Zabbix e impostalo per l'avvio all'avvio con:

sudo systemctl start zabbix-agentsudo systemctl enable zabbix-agent

Successivamente, dovrai aggiungere una regola firewall che abiliti il ​​traffico dal tuo server Zabbix sulla porta TCP 10050 .

Supponendo che tu stia utilizzando FirewallD per gestire il tuo firewall e vuoi consentire l'accesso dal 192.168.121.70 Indirizzo IP dovresti eseguire il seguente comando:

sudo firewall-cmd --new-zone=zabbix --permanentsudo firewall-cmd --zone=special --add-source=192.168.121.70/32sudo firewall-cmd --zone=special --add-port=10050/tcp

Configura un nuovo host #

Ora che l'agente sull'host remoto che si desidera monitorare è installato e configurato, il passaggio successivo consiste nel registrare l'host sul server Zabbix.

Accedi all'interfaccia web di Zabbix Server come utente amministratore:

http(s)://your_domain_or_ip_address/zabbix

Una volta dentro, nella barra di navigazione in alto clicca su Configuration , quindi Hosts

Quindi, fai clic sul Create host blu pulsante nell'angolo in alto a destra dello schermo e si aprirà la pagina di configurazione dell'host:

Immettere il nome host e l'indirizzo IP della macchina host remota che si desidera monitorare. Aggiungi l'host a uno o più gruppi selezionando il gruppo dall'elenco oppure inserisci un nome di gruppo inesistente per crearne uno nuovo. I Linux Servers il gruppo è una buona scelta.

Al termine, fai clic su Templates scheda. Seleziona il Template OS Linux e fai clic su Add link per aggiungere il modello all'host.

Quindi, fai clic su Encryption scheda. Seleziona PSK per entrambi Connections to host e Connections from host .

Imposta l'PSK identity valore a PSK 001 , il valore di TLSPSKIdentity opzione dell'agente Zabbix che hai configurato nel passaggio precedente.

Nel PSK value archiviato aggiungi la chiave che hai generato per l'agente Zabbix, quella memorizzata nel /etc/zabbix/zabbix_agentd.psk file.

Infine, per aggiungere l'host, fai clic sul pulsante blu Aggiungi button .


Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare e configurare Zabbix su Ubuntu 18.04

  3. Come installare e configurare Redis su CentOS 7

  4. Come installare e configurare GitLab su CentOS 7

  5. Come installare e configurare CyberPanel su CentOS 8

Come installare e configurare ISPConfig CP su CentOS 7

Come installare e configurare ownCloud su CentOS 7

Come installare e configurare Samba su CentOS 8

Come installare e configurare Fail2ban su CentOS 8

Come installare e configurare HAproxy su CentOS 6

Come installare Zabbix su CentOS 6