Предуслови
Инсталирајте Апацхе и ПХП
Инсталирајте и конфигуришите ПостгреСКЛ
Инсталирајте Заббик
Подесите Заббик агента на серверу
Подесите агента на удаљеним Линук машинама
Инсталирајте Заббик Хост
Закључак
Заббик је бесплатан софтвер отвореног кода спреман за предузећа који се користи за праћење доступности система и мрежних компоненти. Заббик може истовремено да надгледа хиљаде сервера, виртуелних машина или мрежних компоненти. Заббик може да надгледа скоро све што је у вези са системом као што су ЦПУ, меморија, простор на диску и ИО, процеси, мрежа, базе података, виртуелне машине и веб услуге. Ако је Заббик-у обезбеђен ИПМИ приступ, он такође може да надгледа хардвер као што су температура, напон и тако даље.
Предуслови
За овај водич користићемо 192.0.2.1као јавну ИП адресу Заббик сервера и 192.0.2.2као јавну ИП адресу Заббик хоста коју ћемо надгледати даљински. Обавезно замените сва појављивања примера ИП адресе вашим стварним јавним ИП адресама.
Ажурирајте свој основни систем помоћу водича Како да ажурирате ЦентОС 7 . Када се ваш систем ажурира, наставите са инсталирањем зависности.
Инсталирајте Апацхе и ПХП
Након инсталације Заббик веба, он аутоматски креира конфигурацију за Апацхе.
Инсталирајте Апацхе да служи Заббик фронт-енд или веб кориснички интерфејс.
sudo yum -y install httpd
Покрените Апацхе и омогућите му да се аутоматски покреће при покретању.
sudo systemctl start httpd
sudo systemctl enable httpd
Додајте и омогућите Remiспремиште, јер подразумевано YUMспремиште садржи старију верзију ПХП-а.
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
Инсталирајте најновију верзију ПХП-а заједно са модулима које захтева Заббик.
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
Инсталирајте и конфигуришите ПостгреСКЛ
ПостгреСКЛ је објектно-релациони систем базе података. Мораћете да додате ПостгреСКЛ спремиште у свој систем, пошто подразумевано ИУМ спремиште садржи старију верзију ПостгреСКЛ-а.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Инсталирајте ПостгреСКЛ сервер базе података.
sudo yum -y install postgresql96-server postgresql96-contrib
Иницијализујте базу података.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
initdb креира нови кластер базе података, који је група база података којима управља један сервер.
Уредите да pg_hba.confбисте омогућили аутентификацију засновану на МД5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Пронађите следеће редове и промените peerу trustи idnetу 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
Након ажурирања, конфигурација би требало да изгледа као што је приказано испод.
# 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
Покрените ПостгреСКЛ сервер и омогућите му да се аутоматски покреће при покретању.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Промените passwordза подразумеваног корисника ПостгреСКЛ.
sudo passwd postgres
Пријавите се као ПостгреСКЛ корисник.
sudo su - postgres
Креирајте новог ПостгреСКЛ корисника за Заббик.
createuser zabbix
Пређите на ПостгреСКЛ шкољку.
psql
Поставите лозинку за новокреираног корисника базе података за Заббик базу података.
ALTER USER zabbix WITH ENCRYPTED password 'StrongPassword';
Креирајте нову базу података за Заббик.
CREATE DATABASE zabbix OWNER zabbix;
Изађите из psqlљуске.
\q
Пребаците се на sudoкорисника са тренутног postgresкорисника.
exit
Инсталирајте Заббик
Заббик обезбеђује бинарне датотеке за ЦентОС, које се могу инсталирати директно из Заббик спремишта. Додајте Заббик спремиште у свој систем.
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
Инсталирајте Zabbix serverи Zabbix web.
sudo yum -y install zabbix-server-pgsql zabbix-web-pgsql
Увезите ПостгреСКЛ базу података.
zcat /usr/share/doc/zabbix-server-pgsql-3.4.*/create.sql.gz | psql -U zabbix zabbix
Требало би да видите нешто слично следећем на крају излаза.
...
INSERT 0 1
INSERT 0 1
COMMIT
Отворите Заббик конфигурациону датотеку да ажурирате детаље базе података.
sudo nano /etc/zabbix/zabbix_server.conf
Пронађите следеће редове и ажурирајте вредности у складу са конфигурацијом базе података. Мораћете да откоментирати DBHostи DBPortлиније.
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword
DBPort=5432
Заббик аутоматски инсталира виртуелну датотеку хоста за Апацхе. Мораћемо да конфигуришемо виртуелни хост да ажурира временску зону и верзију ПХП-а.
sudo nano /etc/httpd/conf.d/zabbix.conf
Пронађите следеће редове.
<IfModule mod_php5.c>
...
#php_value date.timezone Europe/Riga
Пошто користимо ПХП верзију 7, такође ћете морати да ажурирате mod_phpверзију. Ажурирајте линије према вашој временској зони као што је приказано испод.
<IfModule mod_php7.c>
...
php_value date.timezone Asia/Kolkata
Сада поново покрените Апацхе да бисте применили ове промене у конфигурацији.
sudo systemctl restart httpd
Покрените Заббик сервер и омогућите му да се аутоматски покреће при покретању.
sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server
Сада би требало да покренете Заббик сервер. Можете проверити статус процеса тако што ћете покренути ово.
sudo systemctl status zabbix-server
Измените заштитни зид да бисте омогућили стандард HTTPи HTTPSпорт. Такође ћете морати да дозволите порт 10051кроз заштитни зид, који ће Заббик користити за добијање догађаја од Заббик агента који ради на удаљеним машинама.
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
Наведите приступну фразу приватног кључа. Тражиће од вас неколико детаља о вашој земљи, држави, организацији. Наведите детаље у складу са тим.
[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
Успешно смо генерисали ЦА сертификат. Генеришите приватни кључ и ЦСР за Заббик сервер.
openssl genrsa -out zabbix-server.key 2048
openssl req -new -key zabbix-server.key -out zabbix-server.csr
Немојте давати приступну фразу за шифровање приватног кључа када покрећете горњу команду. Користећи ЦСР, генеришите сертификат за Заббик сервер.
openssl x509 -req -in zabbix-server.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-server.crt -days 1825 -sha256
Слично, генеришите приватни кључ и ЦСР за Заббик хост или агента.
openssl genrsa -out zabbix-host1.key 2048
openssl req -new -key zabbix-host1.key -out zabbix-host1.csr
Сада генеришете сертификат.
openssl x509 -req -in zabbix-host1.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-host1.crt -days 1460 -sha256
Копирајте сертификате у Заббик конфигурациони директоријум.
sudo mkdir /etc/zabbix/keys
sudo cp zabbix-ca.* zabbix-server.* /etc/zabbix/keys
Омогућите кориснику власништво над сертификатима Zabbix.
sudo chown -R zabbix: /etc/zabbix/keys
Отворите конфигурациону датотеку Заббик сервера да бисте ажурирали путању сертификата.
sudo nano /etc/zabbix/zabbix_server.conf
Пронађите ове линије у конфигурационој датотеци и промените их као што је приказано.
TLSCAFile=/etc/zabbix/keys/zabbix-ca.crt
TLSCertFile=/etc/zabbix/keys/zabbix-server.crt
TLSKeyFile=/etc/zabbix/keys/zabbix-server.key
Сачувајте датотеку и изађите из уређивача. Поново покрените Заббик сервер како би промена конфигурације могла да ступи на снагу.
sudo systemctl restart zabbix-server
Копирајте сертификате користећи scpнаредбу на главни рачунар који желите да надгледате.
cd ~/zabbix-keys
scp zabbix-ca.crt zabbix-host1.* user@192.0.2.2:~
Уверите се да сте заменили 192.0.2.2стварну ИП адресу удаљеног хоста на који желите да инсталирате Заббик агент.
Инсталирајте Заббик Хост
Сада када смо копирали сертификате у систем домаћина, спремни смо да инсталирамо Заббик агент.
Од сада, све команде треба да се извршавају на хосту који желите да надгледате .
Додајте Заббик спремиште у систем.
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
Инсталирајте Заббик агент у систем.
sudo yum -y install zabbix-agent
Преместите кључ и сертификате у Заббик конфигурациони директоријум.
sudo mkdir /etc/zabbix/keys
sudo mv ~/zabbix-ca.crt ~/zabbix-host1.* /etc/zabbix/keys/
Обезбедите власништво над сертификатима Заббик кориснику.
sudo chown -R zabbix: /etc/zabbix/keys
Отворите конфигурациону датотеку Заббик агента да ажурирате ИП адресу сервера и путању до кључа и сертификата.
sudo nano /etc/zabbix/zabbix_agentd.conf
Пронађите следећи ред и унесите потребне промене да би изгледале као што је приказано испод.
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
Име хоста мора бити јединствени стринг који није наведен ни за један други хост систем. Молимо вас да забележите име хоста јер ћемо морати да подесимо тачно име хоста на Заббик серверу.
Даље, ажурирајте вредности ових параметара.
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
Сада поново покрените Заббик агент и омогућите му да се аутоматски покреће при покретању.
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
Успешно сте конфигурисали Заббик агента на хост систему. Прегледајте контролну таблу Заббик администрације на https://192.0.2.1/zabbixда бисте додали новоконфигурисани хост.
Идите на Configuration >> Hostsи кликните на Create Hostдугме у горњем десном углу.

На create hostинтерфејсу наведите име хоста, које мора бити потпуно слично имену хоста конфигурисаном у конфигурационој датотеци Заббик агента хост система. За име за приказ, слободни сте да изаберете шта год желите.
![Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7 Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7]()
Изаберите групу у коју желите да додате систем. Пошто користимо Заббик агент за надгледање основног Линук сервера, можемо изабрати групу Линук сервера. Такође вам је дозвољено да креирате нову групу ако желите.
Наведите ИП адресу хоста на којем је покренут Заббик агент. Можете дати опциони опис домаћина.
Сада идите на Templateкартицу новог интерфејса домаћина и потражите шаблон према апликацији. У нашем случају, морамо да пронађемо Template OS Linux. Кликните на Addвезу да доделите шаблон хосту.
![Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7 Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7]()
Коначно, идите на Encryptionкартицу и изаберите и Certificateза везе са хостом и за везе са хоста. На овај начин ће комуникација са обе стране бити шифрована коришћењем РСА сертификата. IssuerИ Subjectпоља су опциони.
![Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7 Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7]()
Када завршите, можете кликнути на Addдугме да додате нови хост на Заббик сервер. Након неколико минута, ZBXдоступност ће постати зелена. Ово значи да је хост доступан помоћу Заббик агента и да активно шаље догађаје са главног рачунара на Заббик сервер.
![Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7 Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7]()
Ако се ZBXдоступност претвори redу боју уместо зелене, то значи да је дошло до грешке и да хост не може да пошаље податке серверу. У том случају, потражите грешку у датотекама евиденције и у складу са тим отклоните грешку. Путања до евиденције Заббик сервера и дневника Заббик агента је /var/log/zabbix/zabbix_server.log, и/var/log/zabbix/zabbix_agentd.log .
Сада можете пратити домаћина тако што ћете отићи на monitoringкартицу. Можете видети проблеме, примљене догађаје, графиконе уживо и још много више информација на страницама за праћење.
![Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7 Како безбедно надгледати удаљене сервере користећи Заббик на ЦентОС 7]()
Закључак
Честитамо, успешно сте поставили инстанцу Заббик сервера и омогућили надгледање на удаљеном хосту.
Можете да надгледате целу инфраструктуру ваше мале или средње компаније користећи једну Заббик инстанцу.