Requisits previs
Instal·leu Apache i PHP
Instal·leu i configureu PostgreSQL
Instal·leu Zabbix
Configureu un agent Zabbix al servidor
Configura l'agent en màquines Linux remotes
Instal·leu l'amfitrió Zabbix
Conclusió
Zabbix és un programari gratuït i de codi obert preparat per a empreses que s'utilitza per controlar la disponibilitat dels sistemes i components de la xarxa. Zabbix pot supervisar milers de servidors, màquines virtuals o components de xarxa simultàniament. Zabbix pot supervisar gairebé tot allò relacionat amb un sistema, com ara CPU, memòria, espai en disc i IO, processos, xarxa, bases de dades, màquines virtuals i serveis web. Si es proporciona accés IPMI a Zabbix, també pot controlar el maquinari, com ara la temperatura, la tensió, etc.
Requisits previs
Per a aquest tutorial, utilitzarem 192.0.2.1com a adreça IP pública del servidor Zabbix i 192.0.2.2com a adreça IP pública d'un amfitrió Zabbix que controlarem de manera remota. Assegureu-vos de substituir totes les aparicions de l'adreça IP d'exemple per les vostres adreces IP públiques reals.
Actualitzeu el vostre sistema base mitjançant la guia Com actualitzar CentOS 7 . Un cop actualitzat el sistema, procediu a instal·lar les dependències.
Instal·leu Apache i PHP
En instal·lar Zabbix web, crea automàticament la configuració per a Apache.
Instal·leu Apache per servir el front-end de Zabbix o la interfície d'usuari web.
sudo yum -y install httpd
Inicieu Apache i activeu-lo perquè s'iniciï automàticament a l'arrencada.
sudo systemctl start httpd
sudo systemctl enable httpd
Afegiu i activeu el Remidipòsit, ja que el YUMdipòsit predeterminat conté una versió anterior de PHP.
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php71
Instal·leu la darrera versió de PHP juntament amb els mòduls requerits per Zabbix.
sudo yum -y install php php-cli php-gd php-bcmath php-ctype php-xml php-xmlreader php-xmlwriter php-session php-sockets php-mbstring php-gettext php-ldap php-pgsql php-pear-Net-Socket
Instal·leu i configureu PostgreSQL
PostgreSQL és un sistema de bases de dades relacional objecte. Haureu d'afegir el dipòsit de PostgreSQL al vostre sistema, ja que el dipòsit YUM predeterminat conté una versió anterior de PostgreSQL.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Instal·leu el servidor de bases de dades PostgreSQL.
sudo yum -y install postgresql96-server postgresql96-contrib
Inicialitzar la base de dades.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
initdb crea un nou clúster de bases de dades, que és un grup de bases de dades gestionades per un únic servidor.
Editeu pg_hba.confper habilitar l'autenticació basada en MD5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Busca les línies següents i canvia peera trusti idneta md5.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 idnet
# IPv6 local connections:
host all all ::1/128 idnet
Un cop actualitzada, la configuració hauria de semblar com es mostra a continuació.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Inicieu el servidor PostgreSQL i activeu-lo perquè s'iniciï automàticament a l'arrencada.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Canvieu l' passwordusuari PostgreSQL predeterminat.
sudo passwd postgres
Inicieu sessió com a usuari de PostgreSQL.
sudo su - postgres
Creeu un nou usuari de PostgreSQL per a Zabbix.
createuser zabbix
Canvia a l'intèrpret d'ordres PostgreSQL.
psql
Establiu una contrasenya per a l'usuari de la base de dades de nova creació per a la base de dades Zabbix.
ALTER USER zabbix WITH ENCRYPTED password 'StrongPassword';
Creeu una nova base de dades per a Zabbix.
CREATE DATABASE zabbix OWNER zabbix;
Sortida de la psqlclosca.
\q
Canvia a l' sudousuari des de l' postgresusuari actual .
exit
Instal·leu Zabbix
Zabbix proporciona binaris per a CentOS, que es poden instal·lar directament des del dipòsit Zabbix. Afegiu el dipòsit Zabbix al vostre sistema.
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
Instal·lar Zabbix serveri Zabbix web.
sudo yum -y install zabbix-server-pgsql zabbix-web-pgsql
Importa la base de dades PostgreSQL.
zcat /usr/share/doc/zabbix-server-pgsql-3.4.*/create.sql.gz | psql -U zabbix zabbix
Hauríeu de veure alguna cosa semblant al següent al final de la sortida.
...
INSERT 0 1
INSERT 0 1
COMMIT
Obriu el fitxer de configuració de Zabbix per actualitzar els detalls de la base de dades.
sudo nano /etc/zabbix/zabbix_server.conf
Cerqueu les línies següents i actualitzeu els valors segons la configuració de la vostra base de dades. Haureu de deixar de comentar les línies DBHosti DBPort.
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword
DBPort=5432
Zabbix instal·la automàticament el fitxer d'amfitrió virtual per a Apache. Haurem de configurar l'amfitrió virtual per actualitzar la zona horària i la versió de PHP.
sudo nano /etc/httpd/conf.d/zabbix.conf
Busca les línies següents.
<IfModule mod_php5.c>
...
#php_value date.timezone Europe/Riga
Com que estem utilitzant la versió 7 de PHP, també haureu d'actualitzar la mod_phpversió. Actualitzeu les línies segons la vostra zona horària tal com es mostra a continuació.
<IfModule mod_php7.c>
...
php_value date.timezone Asia/Kolkata
Ara reinicieu Apache per aplicar aquests canvis a la configuració.
sudo systemctl restart httpd
Inicieu el servidor Zabbix i activeu-lo perquè s'iniciï automàticament a l'arrencada.
sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server
Hauríeu de tenir el servidor Zabbix en execució ara. Podeu comprovar l'estat del procés executant això.
sudo systemctl status zabbix-server
Modifiqueu el tallafoc per permetre l'estàndard HTTPi el HTTPSport. També haureu de permetre el port a 10051través del tallafoc, que serà utilitzat per Zabbix per obtenir els esdeveniments de l'agent Zabbix que s'executa en màquines remotes.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --zone=public --permanent --add-port=10051/tcp
sudo firewall-cmd --reload
To access the administration dashboard, you can open http://192.0.2.1/zabbix using your favorite browser. You will see a welcome message. You should have all the prerequisites satisfied on the next interface. Follow the instructions on the installer page to install the software. Once the software has been installed, login using the username Admin and password zabbix. Zabbix is now installed and ready to collect the data from the Zabbix agent.
Setup a Zabbix Agent on the Server
To monitor the server on which Zabbix is installed, you can set up the agent on the server. The Zabbix agent will gather the event data from the Linux server to send it to the Zabbix server. By default, port 10050 is used to send the events and data to the server.
Install the Zabbix agent.
sudo yum -y install zabbix-agent
Start the agent and enable it to automatically start at boot.
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
The communication between the Zabbix agent and the Zabbix server is done locally, thus there is no need to set up any encryption.
Before the Zabbix server can receive any data, you need to enable the host. Login to the web administration dashboard of the Zabbix server and go to Configuration >> Host. You will see a disabled entry of the Zabbix server host. Select the entry and click on the "Enable" button to enable the monitoring of the Zabbix server application and the base CentOS system on which the Zabbix server is installed.
Setup the Agent on Remote Linux Machines
There are three methods by which a remote Zabbix agent can send events to the Zabbix server. The first method is to use an unencrypted connection, and the second is using a secured pre-shared key. The third and most secure way is to encrypt the transmission using RSA certificates.
Before we proceed to install and configure the Zabbix agent on the remote machine, we need to generate the certificates on the Zabbix server system. We will use self-signed certificates.
Run the following commands on the Zabbix server as a sudo user.
Create a new directory to store Zabbix keys and generate the private key for the CA.
mkdir ~/zabbix-keys && cd ~/zabbix-keys
openssl genrsa -aes256 -out zabbix-ca.key 4096
It will ask you for a passphrase to protect the private key. Once the private key has been generated, proceed to generate the certificate for the CA.
openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt
Proporcioneu la contrasenya de la clau privada. Et demanarà alguns detalls sobre el teu país, estat, organització. Proporcioneu els detalls en conseqüència.
[user@vultr zabbix-keys]$ openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt
Enter passphrase for `zabbix-ca.key`:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:My State
Locality Name (eg, city) [Default City]:My City
Organization Name (eg, company) [Default Company Ltd]:My Organization
Organizational Unit Name (eg, section) []:My Unit
Common Name (eg, your name or your server's hostname) []:Zabbix CA
Email Address []:mail@example.com
Hem generat correctament el certificat CA. Genereu la clau privada i la CSR per al servidor Zabbix.
openssl genrsa -out zabbix-server.key 2048
openssl req -new -key zabbix-server.key -out zabbix-server.csr
No proporcioneu una frase de contrasenya per xifrar la clau privada quan executeu l'ordre anterior. Amb el CSR, genereu el certificat per al servidor Zabbix.
openssl x509 -req -in zabbix-server.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-server.crt -days 1825 -sha256
De la mateixa manera, genereu la clau privada i la CSR per a l'amfitrió o agent Zabbix.
openssl genrsa -out zabbix-host1.key 2048
openssl req -new -key zabbix-host1.key -out zabbix-host1.csr
Ara genereu el certificat.
openssl x509 -req -in zabbix-host1.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-host1.crt -days 1460 -sha256
Copieu els certificats al directori de configuració de Zabbix.
sudo mkdir /etc/zabbix/keys
sudo cp zabbix-ca.* zabbix-server.* /etc/zabbix/keys
Proporcioneu la propietat dels certificats a l' Zabbixusuari.
sudo chown -R zabbix: /etc/zabbix/keys
Obriu el fitxer de configuració del servidor Zabbix per actualitzar la ruta dels certificats.
sudo nano /etc/zabbix/zabbix_server.conf
Cerqueu aquestes línies al fitxer de configuració i canvieu-les tal com es mostra.
TLSCAFile=/etc/zabbix/keys/zabbix-ca.crt
TLSCertFile=/etc/zabbix/keys/zabbix-server.crt
TLSKeyFile=/etc/zabbix/keys/zabbix-server.key
Deseu el fitxer i sortiu de l'editor. Reinicieu el servidor Zabbix perquè el canvi de configuració tingui efecte.
sudo systemctl restart zabbix-server
Copieu els certificats mitjançant l' scpordre a l'ordinador amfitrió que voleu supervisar.
cd ~/zabbix-keys
scp zabbix-ca.crt zabbix-host1.* user@192.0.2.2:~
Assegureu-vos de substituir 192.0.2.2per l'adreça IP real de l'amfitrió remot on voleu instal·lar l'agent Zabbix.
Instal·leu l'amfitrió Zabbix
Ara que hem copiat els certificats al sistema amfitrió, estem preparats per instal·lar l'agent Zabbix.
A partir d'ara, totes les ordres s'han d'executar a l'amfitrió que voleu supervisar .
Afegiu el dipòsit Zabbix al sistema.
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
Instal·leu l'agent Zabbix al sistema.
sudo yum -y install zabbix-agent
Mou la clau i els certificats al directori de configuració de Zabbix.
sudo mkdir /etc/zabbix/keys
sudo mv ~/zabbix-ca.crt ~/zabbix-host1.* /etc/zabbix/keys/
Proporcioneu la propietat dels certificats a l'usuari de Zabbix.
sudo chown -R zabbix: /etc/zabbix/keys
Obriu el fitxer de configuració de l'agent Zabbix per actualitzar l'adreça IP del servidor i el camí a la clau i els certificats.
sudo nano /etc/zabbix/zabbix_agentd.conf
Cerqueu la línia següent i feu els canvis necessaris perquè semblin com es mostra a continuació.
Server=192.0.2.1 # Replace with actual Zabbix server IP
ServerActive=192.0.2.1 # Replace with actual Zabbix server IP
Hostname=Zabbix host1 # Provide a appropriate name or hostname
El nom d'amfitrió ha de ser una cadena única que no s'especifica per a cap altre sistema amfitrió. Si us plau, anoteu el nom d'amfitrió, ja que haurem d'establir el nom d'amfitrió exacte al servidor Zabbix.
A més, actualitzeu els valors d'aquests paràmetres.
TLSConnect=cert
TLSAccept=cert
TLSCAFile=/etc/zabbix/keys/zabbix-ca.crt
TLSCertFile=/etc/zabbix/keys/zabbix-host1.crt
TLSKeyFile=/etc/zabbix/keys/zabbix-host1.key
Ara, reinicieu l'agent Zabbix i activeu-lo perquè s'iniciï automàticament a l'arrencada.
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
Heu configurat correctament l'agent Zabbix al sistema amfitrió. Navegueu pel tauler d'administració de Zabbix a https://192.0.2.1/zabbixper afegir l'amfitrió recent configurat.
Aneu a Configuration >> Hostsi feu clic al Create Hostbotó de la cantonada superior dreta.

A la create hostinterfície, proporcioneu el nom d'amfitrió, que ha de ser exactament similar al nom d'amfitrió configurat al fitxer de configuració de l'agent Zabbix del sistema amfitrió. Per al nom de visualització, podeu triar el que vulgueu.
![Com controlar de manera segura servidors remots amb Zabbix a CentOS 7 Com controlar de manera segura servidors remots amb Zabbix a CentOS 7]()
Seleccioneu el grup al qual voleu afegir el sistema. Com que estem executant l'agent Zabbix per supervisar un servidor Linux bàsic, podem triar el grup de servidors Linux. També podeu crear un grup nou si voleu.
Proporcioneu l'adreça IP de l'amfitrió en què s'executa l'agent Zabbix. Podeu proporcionar una descripció opcional de l'amfitrió.
Ara, aneu a la Templatepestanya de la nova interfície d'amfitrió i cerqueu la plantilla segons l'aplicació. En el nostre cas, hem de trobar el Template OS Linux. Feu clic a l' Addenllaç per assignar la plantilla a l'amfitrió.
![Com controlar de manera segura servidors remots amb Zabbix a CentOS 7 Com controlar de manera segura servidors remots amb Zabbix a CentOS 7]()
Finalment, aneu a la Encryptionpestanya i trieu Certificatetant per a les connexions amb l'amfitrió com per a les connexions des de l'amfitrió. D'aquesta manera, la comunicació d'ambdues parts es xifrarà mitjançant els certificats RSA. Els camps Issueri Subjectsón opcionals.
![Com controlar de manera segura servidors remots amb Zabbix a CentOS 7 Com controlar de manera segura servidors remots amb Zabbix a CentOS 7]()
Un cop fet, podeu fer clic al Addbotó per afegir el nou amfitrió al servidor Zabbix. Al cap d'uns minuts, la ZBXdisponibilitat es tornarà verda. Això significa que l'amfitrió està disponible mitjançant l'agent Zabbix i enviant activament esdeveniments des de l'ordinador amfitrió al servidor Zabbix.
![Com controlar de manera segura servidors remots amb Zabbix a CentOS 7 Com controlar de manera segura servidors remots amb Zabbix a CentOS 7]()
Si la ZBXdisponibilitat es torna reden color en lloc de verd, vol dir que hi ha hagut algun error i l'amfitrió no pot enviar dades al servidor. En aquest cas, cerqueu l'error als fitxers de registre i solucioneu l'error en conseqüència. El camí al registre del servidor Zabbix i al registre de l'agent Zabbix és /var/log/zabbix/zabbix_server.log, i/var/log/zabbix/zabbix_agentd.log .
Ara podeu supervisar l'amfitrió anant a la monitoringpestanya. Podeu veure problemes, esdeveniments rebuts, gràfics en directe i molta més informació a les pàgines de seguiment.
![Com controlar de manera segura servidors remots amb Zabbix a CentOS 7 Com controlar de manera segura servidors remots amb Zabbix a CentOS 7]()
Conclusió
Enhorabona, heu implementat correctament una instància del servidor Zabbix i heu activat la supervisió en un host remot.
Podeu supervisar tota la infraestructura de la vostra empresa petita o mitjana mitjançant una única instància de Zabbix.