Kako varno spremljati oddaljene strežnike z uporabo Zabbixa na CentOS 7

Zabbix je brezplačna in odprtokodna programska oprema, pripravljena za podjetja, ki se uporablja za spremljanje razpoložljivosti sistemov in omrežnih komponent. Zabbix lahko hkrati spremlja na tisoče strežnikov, virtualnih strojev ali omrežnih komponent. Zabbix lahko spremlja skoraj vse, kar je povezano s sistemom, kot so CPU, pomnilnik, prostor na disku in IO, procesi, omrežje, baze podatkov, virtualni stroji in spletne storitve. Če je Zabbixu zagotovljen dostop IPMI, lahko spremlja tudi strojno opremo, kot so temperatura, napetost in tako naprej.

Predpogoji

  • Primerek strežnika Vultr CentOS 7.
  • Uporabnik sudo .

Za to vadnico bomo uporabili 192.0.2.1kot javni naslov IP strežnika Zabbix in 192.0.2.2kot javni naslov IP gostitelja Zabbix, ki ga bomo spremljali na daljavo. Poskrbite, da boste zamenjali vse pojavitve vzorčnega naslova IP z vašimi dejanskimi javnimi naslovi IP.

Posodobite svoj osnovni sistem z uporabo priročnika Kako posodobiti CentOS 7 . Ko je vaš sistem posodobljen, nadaljujte z namestitvijo odvisnosti.

Namestite Apache in PHP

Po namestitvi Zabbix web samodejno ustvari konfiguracijo za Apache.

Namestite Apache, da bo služil vmesniku Zabbix ali spletnemu uporabniškemu vmesniku.

sudo yum -y install httpd

Zaženite Apache in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start httpd
sudo systemctl enable httpd

Dodajte in omogočite Remirepozitorij, saj privzeto YUMskladišče vsebuje starejšo različico 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

Namestite najnovejšo različico PHP skupaj z moduli, ki jih zahteva 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

Namestite in konfigurirajte PostgreSQL

PostgreSQL je objektno-relacijski sistem baz podatkov. V svoj sistem boste morali dodati repozitorij PostgreSQL, saj privzeto skladišče YUM vsebuje starejšo različico 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

Namestite strežnik baze podatkov PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib

Inicializirajte bazo podatkov.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

initdb ustvari novo gručo baz podatkov, ki je skupina baz podatkov, ki jih upravlja en sam strežnik.

Uredite, pg_hba.confda omogočite preverjanje pristnosti na podlagi MD5.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

Poiščite naslednje vrstice in spremenite peerv trustin idnetv 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

Ko je konfiguracija posodobljena, bi morala izgledati, kot je prikazano spodaj.

# 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

Zaženite strežnik PostgreSQL in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Spremenite passwordza privzetega uporabnika PostgreSQL.

sudo passwd postgres

Prijavite se kot uporabnik PostgreSQL.

sudo su - postgres

Ustvarite novega uporabnika PostgreSQL za Zabbix.

createuser zabbix

Preklopite na lupino PostgreSQL.

psql

Nastavite geslo za novo ustvarjenega uporabnika baze podatkov za bazo podatkov Zabbix.

ALTER USER zabbix WITH ENCRYPTED password 'StrongPassword';

Ustvarite novo bazo podatkov za Zabbix.

CREATE DATABASE zabbix OWNER zabbix;

Izstopite iz psqllupine.

\q

Preklopite na sudouporabnika s trenutnega postgresuporabnika.

exit

Namestite Zabbix

Zabbix ponuja binarne datoteke za CentOS, ki jih je mogoče namestiti neposredno iz skladišča Zabbix. Dodajte repozitorij Zabbix v svoj sistem.

sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Namestite Zabbix serverin Zabbix web.

sudo yum -y install zabbix-server-pgsql zabbix-web-pgsql 

Uvozite bazo podatkov PostgreSQL.

zcat /usr/share/doc/zabbix-server-pgsql-3.4.*/create.sql.gz | psql -U zabbix zabbix

Na koncu izpisa bi morali videti nekaj podobnega naslednjemu.

...
INSERT 0 1
INSERT 0 1
COMMIT

Odprite konfiguracijsko datoteko Zabbix, da posodobite podrobnosti baze podatkov.

sudo nano /etc/zabbix/zabbix_server.conf

Poiščite naslednje vrstice in posodobite vrednosti glede na konfiguracijo vaše baze podatkov. Odkomentirati boste morali vrstice DBHostin DBPort.

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword
DBPort=5432

Zabbix samodejno namesti datoteko navideznega gostitelja za Apache. Navideznega gostitelja bomo morali konfigurirati za posodobitev časovnega pasu in različice PHP.

sudo nano /etc/httpd/conf.d/zabbix.conf

Poiščite naslednje vrstice.

<IfModule mod_php5.c>
...
#php_value date.timezone Europe/Riga

Ker uporabljamo PHP različico 7, boste morali tudi posodobiti mod_phprazličico. Posodobite vrstice glede na vaš časovni pas, kot je prikazano spodaj.

<IfModule mod_php7.c>
...
php_value date.timezone Asia/Kolkata

Zdaj znova zaženite Apache, da uporabite te spremembe v konfiguraciji.

sudo systemctl restart httpd

Zaženite strežnik Zabbix in mu omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server

Zdaj bi morali imeti zagnan strežnik Zabbix. Stanje postopka lahko preverite tako, da zaženete to.

sudo systemctl status zabbix-server

Spremenite požarni zid, da omogočite standard HTTPin HTTPSvrata. Prav tako boste morali dovoliti vrata 10051prek požarnega zidu, ki ga bo Zabbix uporabljal za pridobivanje dogodkov od Zabbix agenta, ki se izvaja na oddaljenih računalnikih.

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

Za dostop do skrbniške nadzorne plošče lahko odprete http://192.0.2.1/zabbixs svojim najljubšim brskalnikom. Videli boste pozdravno sporočilo. Za naslednji vmesnik bi morali imeti izpolnjene vse predpogoje. Sledite navodilom na strani namestitvenega programa, da namestite programsko opremo. Ko je programska oprema nameščena, se prijavite z uporabniškim imenom Adminin geslom zabbix. Zabbix je zdaj nameščen in pripravljen za zbiranje podatkov od agenta Zabbix.

Nastavite Zabbix agenta na strežniku

Za spremljanje strežnika, na katerem je nameščen Zabbix, lahko na strežniku nastavite agenta. Zabbix agent bo zbral podatke o dogodkih iz strežnika Linux, da bi jih poslal strežniku Zabbix. Privzeto se vrata 10050uporabljajo za pošiljanje dogodkov in podatkov na strežnik.

Namestite Zabbix agent.

sudo yum -y install zabbix-agent

Zaženite agenta in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

Komunikacija med agentom Zabbix in strežnikom Zabbix poteka lokalno, zato ni treba nastavljati nobenega šifriranja.

Preden lahko strežnik Zabbix prejme kakršne koli podatke, morate omogočiti host. Prijavite se na nadzorno ploščo spletnega upravljanja strežnika Zabbix in pojdite na Configuration >> Host. Videli boste onemogočen vnos gostitelja strežnika Zabbix. Izberite vnos in kliknite gumb »Omogoči«, da omogočite spremljanje strežniške aplikacije Zabbix in osnovnega sistema CentOS, na katerem je nameščen strežnik Zabbix.

Nastavite agenta na oddaljenih računalnikih Linux

Obstajajo trije načini, s katerimi lahko oddaljeni agent Zabbix pošilja dogodke na strežnik Zabbix. Prva metoda je uporaba nešifrirane povezave, druga pa uporaba zaščitenega ključa v predhodno skupni rabi. Tretji in najbolj varen način je šifriranje prenosa s certifikati RSA.

Preden nadaljujemo z namestitvijo in konfiguracijo agenta Zabbix na oddaljenem računalniku, moramo generirati potrdila v strežniškem sistemu Zabbix. Uporabili bomo samopodpisana potrdila.

Zaženite naslednje ukaze na strežniku Zabbix kot sudouporabnik .

Ustvarite nov imenik za shranjevanje ključev Zabbix in ustvarite zasebni ključ za CA.

mkdir ~/zabbix-keys && cd ~/zabbix-keys
openssl genrsa -aes256 -out zabbix-ca.key 4096

Prosil vas bo za geslo za zaščito zasebnega ključa. Ko je zasebni ključ ustvarjen, nadaljujte z ustvarjanjem potrdila za CA.

openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt

Navedite geslo zasebnega ključa. Prosil vas bo za nekaj podrobnosti o vaši državi, državi, organizaciji. Ustrezno navedite podrobnosti.

[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

Uspešno smo izdelali potrdilo CA. Ustvari zasebni ključ in CSR za strežnik Zabbix.

openssl genrsa -out zabbix-server.key 2048
openssl req -new -key zabbix-server.key -out zabbix-server.csr

Pri izvajanju zgornjega ukaza ne navajajte gesla za šifriranje zasebnega ključa. Z uporabo CSR ustvarite potrdilo za strežnik Zabbix.

openssl x509 -req -in zabbix-server.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-server.crt -days 1825 -sha256

Podobno ustvarite zasebni ključ in CSR za gostitelja ali agenta Zabbix.

openssl genrsa -out zabbix-host1.key 2048
openssl req -new -key zabbix-host1.key -out zabbix-host1.csr

Zdaj ustvarite potrdilo.

openssl x509 -req -in zabbix-host1.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-host1.crt -days 1460 -sha256

Kopirajte potrdila v konfiguracijski imenik Zabbix.

sudo mkdir /etc/zabbix/keys
sudo cp zabbix-ca.* zabbix-server.* /etc/zabbix/keys

ZabbixUporabniku zagotovite lastništvo certifikatov .

sudo chown -R zabbix: /etc/zabbix/keys

Odprite konfiguracijsko datoteko strežnika Zabbix, da posodobite pot potrdil.

sudo nano /etc/zabbix/zabbix_server.conf

Poiščite te vrstice v konfiguracijski datoteki in jih spremenite, kot je prikazano.

TLSCAFile=/etc/zabbix/keys/zabbix-ca.crt
TLSCertFile=/etc/zabbix/keys/zabbix-server.crt
TLSKeyFile=/etc/zabbix/keys/zabbix-server.key

Shranite datoteko in zapustite urejevalnik. Znova zaženite strežnik Zabbix, da bo sprememba konfiguracije začela veljati.

sudo systemctl restart zabbix-server

Z scpukazom kopirajte potrdila v gostiteljski računalnik, ki ga želite spremljati.

cd ~/zabbix-keys
scp zabbix-ca.crt zabbix-host1.* user@192.0.2.2:~

Prepričajte se, da ste zamenjali 192.0.2.2z dejanskim naslovom IP oddaljenega gostitelja, na katerega želite namestiti Zabbix agent.

Namestite Zabbix Host

Zdaj, ko smo potrdila kopirali v gostiteljski sistem, smo pripravljeni na namestitev agenta Zabbix.

Od zdaj naprej se morajo vsi ukazi izvajati na gostitelju, ki ga želite nadzirati .

Dodajte repozitorij Zabbix v sistem.

sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Namestite Zabbix agent v sistem.

sudo yum -y install zabbix-agent

Premaknite ključ in potrdila v konfiguracijski imenik Zabbix.

sudo mkdir /etc/zabbix/keys
sudo mv ~/zabbix-ca.crt ~/zabbix-host1.* /etc/zabbix/keys/

Zagotovite lastništvo certifikatov uporabniku Zabbixa.

sudo chown -R zabbix: /etc/zabbix/keys

Odprite konfiguracijsko datoteko agenta Zabbix, da posodobite naslov IP strežnika in pot do ključa in potrdil.

sudo nano /etc/zabbix/zabbix_agentd.conf

Poiščite naslednjo vrstico in naredite potrebne spremembe, da bodo videti, kot je prikazano spodaj.

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

Ime gostitelja mora biti edinstven niz, ki ni določen za noben drug gostiteljski sistem. Prosimo, zapišite si ime gostitelja, saj bomo morali nastaviti natančno ime gostitelja v strežniku Zabbix.

Nadalje posodobite vrednosti teh parametrov.

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

Zdaj znova zaženite agenta Zabbix in mu omogočite, da se samodejno zažene ob zagonu.

sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent

Uspešno ste konfigurirali agenta Zabbix v gostiteljskem sistemu. Prebrskajte skrbniško ploščo Zabbix na, https://192.0.2.1/zabbixda dodate novo konfiguriranega gostitelja.

Pojdite na Configuration >> Hostsin kliknite na Create Hostgumb v zgornjem desnem kotu.

Kako varno spremljati oddaljene strežnike z uporabo Zabbixa na CentOS 7

V create hostvmesniku navedite ime gostitelja, ki mora biti natančno podobno imenu gostitelja, konfiguriranemu v konfiguracijski datoteki agenta Zabbix gostiteljskega sistema. Za prikazno ime lahko izberete karkoli želite.

Kako varno spremljati oddaljene strežnike z uporabo Zabbixa na CentOS 7

Izberite skupino, v katero želite dodati sistem. Ker za nadzor osnovnega strežnika Linux izvajamo agenta Zabbix, lahko izberemo skupino strežnikov Linux. Če želite, lahko ustvarite tudi novo skupino.

Navedite naslov IP gostitelja, na katerem se izvaja agent Zabbix. Navedete lahko izbirni opis gostitelja.

Zdaj pojdite na Templatezavihek novega vmesnika gostitelja in poiščite predlogo glede na aplikacijo. V našem primeru moramo najti Template OS Linux. Kliknite Addpovezavo, da dodelite predlogo gostitelju.

Kako varno spremljati oddaljene strežnike z uporabo Zabbixa na CentOS 7

Na koncu pojdite na Encryptionzavihek in izberite Certificateza povezave z gostiteljem in povezave z gostitelja. Na ta način bo komunikacija z obeh strani šifrirana s certifikati RSA. IssuerIn Subjectpolja so obvezna.

Kako varno spremljati oddaljene strežnike z uporabo Zabbixa na CentOS 7

Ko končate, lahko kliknete Addgumb, da dodate novega gostitelja v strežnik Zabbix. Po nekaj minutah bo ZBXdostopnost postala zelena. To pomeni, da je gostitelj na voljo z uporabo agenta Zabbix in aktivno pošilja dogodke iz gostiteljskega računalnika v strežnik Zabbix.

Kako varno spremljati oddaljene strežnike z uporabo Zabbixa na CentOS 7

Če se ZBXrazpoložljivost obarva redv barvi namesto zelene, to pomeni, da je prišlo do napake in gostitelj ne more poslati podatkov strežniku. V tem primeru poiščite napako v dnevniških datotekah in ustrezno odpravite napako. Pot do dnevnika strežnika Zabbix in dnevnika agenta Zabbix je /var/log/zabbix/zabbix_server.log, in/var/log/zabbix/zabbix_agentd.log .

Zdaj lahko spremljate gostitelja tako, da monitoringodprete zavihek. Na straneh za spremljanje si lahko ogledate težave, prejete dogodke, grafe v živo in še veliko več informacij.

Kako varno spremljati oddaljene strežnike z uporabo Zabbixa na CentOS 7

Zaključek

Čestitamo, uspešno ste namestili primerek strežnika Zabbix in omogočili spremljanje na oddaljenem gostitelju.

Z enim samim primerkom Zabbixa lahko spremljate celotno infrastrukturo vašega majhnega ali srednjega podjetja.

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več