Forutsetninger
Installer Apache og PHP
Installer og konfigurer PostgreSQL
Installer Zabbix
Sett opp en Zabbix-agent på serveren
Konfigurer agenten på eksterne Linux-maskiner
Installer Zabbix Host
Konklusjon
Zabbix er en gratis og åpen kildekode bedriftsklar programvare som brukes til å overvåke tilgjengeligheten til systemer og nettverkskomponenter. Zabbix kan overvåke tusenvis av servere, virtuelle maskiner eller nettverkskomponenter samtidig. Zabbix kan overvåke nesten alt relatert til et system som CPU, minne, diskplass og IO, prosesser, nettverk, databaser, virtuelle maskiner og webtjenester. Hvis IPMI-tilgang er gitt til Zabbix, kan den også overvåke maskinvaren som temperatur, spenning og så videre.
Forutsetninger
For denne opplæringen vil vi bruke 192.0.2.1som den offentlige IP-adressen til Zabbix-serveren og 192.0.2.2som den offentlige IP-adressen til en Zabbix-vert som vi vil overvåke eksternt. Sørg for å erstatte alle forekomster av eksempel-IP-adressen med dine faktiske offentlige IP-adresser.
Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere CentOS 7 . Når systemet ditt har blitt oppdatert, fortsett å installere avhengighetene.
Installer Apache og PHP
Ved installasjon av Zabbix web oppretter den automatisk konfigurasjonen for Apache.
Installer Apache for å betjene Zabbix-grensesnittet eller nettgrensesnittet.
sudo yum -y install httpd
Start Apache og la den starte ved oppstart automatisk.
sudo systemctl start httpd
sudo systemctl enable httpd
Legg til og aktiver Remidepotet, da standarddepotet YUMinneholder en eldre versjon av 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
Installer den nyeste versjonen av PHP sammen med modulene som kreves av 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
Installer og konfigurer PostgreSQL
PostgreSQL er et objektrelasjonelt databasesystem. Du må legge til PostgreSQL-depotet i systemet ditt, siden standard YUM-depot inneholder en eldre versjon av 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
Installer PostgreSQL-databaseserveren.
sudo yum -y install postgresql96-server postgresql96-contrib
Initialiser databasen.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
initdb oppretter en ny databaseklynge, som er en gruppe databaser administrert av en enkelt server.
Rediger for pg_hba.confå aktivere MD5-basert autentisering.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Finn følgende linjer og bytt peertil trustog idnettil 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
Når den er oppdatert, skal konfigurasjonen se ut som vist nedenfor.
# 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
Start PostgreSQL-serveren og la den starte automatisk ved oppstart.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Endre passwordfor standard PostgreSQL-bruker.
sudo passwd postgres
Logg på som PostgreSQL-bruker.
sudo su - postgres
Opprett en ny PostgreSQL-bruker for Zabbix.
createuser zabbix
Bytt til PostgreSQL-skallet.
psql
Angi et passord for den nyopprettede databasebrukeren for Zabbix-databasen.
ALTER USER zabbix WITH ENCRYPTED password 'StrongPassword';
Opprett en ny database for Zabbix.
CREATE DATABASE zabbix OWNER zabbix;
Gå ut av psqlskallet.
\q
Bytt til sudobrukeren fra gjeldende postgresbruker.
exit
Installer Zabbix
Zabbix gir binærfiler for CentOS, som kan installeres direkte fra Zabbix-depotet. Legg til Zabbix-depotet til systemet ditt.
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
Installer Zabbix serverog Zabbix web.
sudo yum -y install zabbix-server-pgsql zabbix-web-pgsql
Importer PostgreSQL-databasen.
zcat /usr/share/doc/zabbix-server-pgsql-3.4.*/create.sql.gz | psql -U zabbix zabbix
Du bør se noe som ligner på følgende på slutten av utgangen.
...
INSERT 0 1
INSERT 0 1
COMMIT
Åpne Zabbix-konfigurasjonsfilen for å oppdatere databasedetaljene.
sudo nano /etc/zabbix/zabbix_server.conf
Finn følgende linjer og oppdater verdiene i henhold til databasekonfigurasjonen. Du må uncomment de DBHostog DBPortlinjer.
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword
DBPort=5432
Zabbix installerer automatisk den virtuelle vertsfilen for Apache. Vi må konfigurere den virtuelle verten for å oppdatere tidssonen og PHP-versjonen.
sudo nano /etc/httpd/conf.d/zabbix.conf
Finn følgende linjer.
<IfModule mod_php5.c>
...
#php_value date.timezone Europe/Riga
Siden vi bruker PHP versjon 7, må du også oppdatere mod_phpversjonen. Oppdater linjene i henhold til din tidssone som vist nedenfor.
<IfModule mod_php7.c>
...
php_value date.timezone Asia/Kolkata
Start nå Apache på nytt for å bruke disse endringene i konfigurasjonen.
sudo systemctl restart httpd
Start Zabbix-serveren og la den starte automatisk ved oppstart.
sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server
Du bør ha Zabbix-serveren i gang nå. Du kan sjekke statusen til prosessen ved å kjøre denne.
sudo systemctl status zabbix-server
Endre brannmuren for å tillate standarden HTTPog HTTPSporten. Du må også tillate port 10051gjennom brannmuren, som vil bli brukt av Zabbix for å hente hendelsene fra Zabbix-agenten som kjører på eksterne maskiner.
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
Oppgi passordfrasen til den private nøkkelen. Den vil be deg om noen få detaljer om ditt land, stat, organisasjon. Oppgi detaljene deretter.
[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
Vi har generert CA-sertifikatet. Generer den private nøkkelen og CSR for Zabbix-serveren.
openssl genrsa -out zabbix-server.key 2048
openssl req -new -key zabbix-server.key -out zabbix-server.csr
Vennligst ikke oppgi en passordfrase for å kryptere den private nøkkelen når du kjører kommandoen ovenfor. Generer sertifikatet for Zabbix-serveren ved å bruke CSR.
openssl x509 -req -in zabbix-server.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-server.crt -days 1825 -sha256
På samme måte genererer du den private nøkkelen og CSR for Zabbix-verten eller agenten.
openssl genrsa -out zabbix-host1.key 2048
openssl req -new -key zabbix-host1.key -out zabbix-host1.csr
Generer nå sertifikatet.
openssl x509 -req -in zabbix-host1.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-host1.crt -days 1460 -sha256
Kopier sertifikatene til Zabbix-konfigurasjonskatalogen.
sudo mkdir /etc/zabbix/keys
sudo cp zabbix-ca.* zabbix-server.* /etc/zabbix/keys
Gi eierskapet til sertifikatene til Zabbixbrukeren.
sudo chown -R zabbix: /etc/zabbix/keys
Åpne konfigurasjonsfilen til Zabbix-serveren for å oppdatere banen til sertifikatene.
sudo nano /etc/zabbix/zabbix_server.conf
Finn disse linjene i konfigurasjonsfilen og endre dem som vist.
TLSCAFile=/etc/zabbix/keys/zabbix-ca.crt
TLSCertFile=/etc/zabbix/keys/zabbix-server.crt
TLSKeyFile=/etc/zabbix/keys/zabbix-server.key
Lagre filen og gå ut av redigeringsprogrammet. Start Zabbix-serveren på nytt slik at endringen i konfigurasjonen kan tre i kraft.
sudo systemctl restart zabbix-server
Kopier sertifikatene ved å bruke scpkommandoen til vertsdatamaskinen du ønsker å overvåke.
cd ~/zabbix-keys
scp zabbix-ca.crt zabbix-host1.* user@192.0.2.2:~
Pass på at du erstatter 192.0.2.2med den faktiske IP-adressen til den eksterne verten du vil installere Zabbix-agenten på.
Installer Zabbix Host
Nå som vi har kopiert sertifikatene til vertssystemet, er vi klare til å installere Zabbix-agenten.
Fra nå av må alle kommandoene utføres på verten du ønsker å overvåke .
Legg til Zabbix-depotet i systemet.
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
Installer Zabbix-agenten i systemet.
sudo yum -y install zabbix-agent
Flytt nøkkelen og sertifikatene til Zabbix-konfigurasjonskatalogen.
sudo mkdir /etc/zabbix/keys
sudo mv ~/zabbix-ca.crt ~/zabbix-host1.* /etc/zabbix/keys/
Gi eierskap til sertifikatene til Zabbix-brukeren.
sudo chown -R zabbix: /etc/zabbix/keys
Åpne konfigurasjonsfilen til Zabbix-agenten for å oppdatere serverens IP-adresse og banen til nøkkelen og sertifikatene.
sudo nano /etc/zabbix/zabbix_agentd.conf
Finn følgende linje og gjør de nødvendige endringene for å få dem til å se ut som vist nedenfor.
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
Vertsnavnet må være en unik streng som ikke er spesifisert for noe annet vertssystem. Vennligst noter vertsnavnet da vi må angi det nøyaktige vertsnavnet på Zabbix-serveren.
Oppdater videre verdiene til disse parameterne.
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
Start nå Zabbix-agenten på nytt og aktiver den automatisk ved oppstart.
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
Du har konfigurert Zabbix-agenten på vertssystemet. Bla gjennom Zabbix-administrasjonsdashbordet på for https://192.0.2.1/zabbixå legge til den nylig konfigurerte verten.
Gå til Configuration >> Hostsog klikk på Create Hostknappen øverst til høyre.

På create hostgrensesnittet, oppgi vertsnavnet, som må være nøyaktig likt vertsnavnet som er konfigurert i vertssystemets Zabbix-agentkonfigurasjonsfil. For visningsnavnet står du fritt til å velge hva du vil.
![Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7 Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7]()
Velg gruppen du vil legge til systemet i. Siden vi kjører Zabbix-agenten for å overvåke en grunnleggende Linux-server, kan vi velge Linux-servergruppen. Du har også lov til å opprette en ny gruppe hvis du vil.
Oppgi IP-adressen til verten som Zabbix-agenten kjører på. Du kan gi en valgfri beskrivelse av verten.
Gå nå til Templatefanen til det nye vertsgrensesnittet og søk etter malen i henhold til applikasjonen. I vårt tilfelle må vi finne Template OS Linux. Klikk på Addlenken for å tilordne malen til verten.
![Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7 Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7]()
Til slutt, gå til Encryptionfanen og velg Certificatefor både tilkoblingene til verten og tilkoblingene fra verten. På denne måten vil kommunikasjonen fra begge sider være kryptert med RSA-sertifikatene. Den Issuerog Subjectfelt er valgfrie.
![Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7 Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7]()
Når du er ferdig, kan du klikke på Addknappen for å legge den nye verten til Zabbix-serveren. Etter noen minutter blir ZBXtilgjengeligheten grønn. Dette betyr at verten er tilgjengelig ved å bruke Zabbix-agenten og aktivt sender hendelser fra vertsdatamaskinen til Zabbix-serveren.
![Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7 Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7]()
Hvis ZBXtilgjengeligheten blir redi farge i stedet for grønn, betyr det at det var en feil og at verten ikke kan sende data til serveren. I så fall, se etter feilen i loggfilene og feilsøk feilen deretter. Banen til Zabbix-serverloggen og Zabbix-agentloggen er /var/log/zabbix/zabbix_server.log, og/var/log/zabbix/zabbix_agentd.log .
Du kan nå overvåke verten ved å gå til monitoringfanen. Du kan se problemer, mottatte hendelser, live grafer og mye mer informasjon på overvåkingssidene.
![Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7 Hvordan overvåke eksterne servere på en sikker måte ved å bruke Zabbix på CentOS 7]()
Konklusjon
Gratulerer, du har implementert en Zabbix-serverforekomst og aktivert overvåking på en ekstern vert.
Du kan overvåke hele infrastrukturen til det lille eller mellomstore selskapet ditt ved å bruke en enkelt Zabbix-instans.