-
Notifications
You must be signed in to change notification settings - Fork 0
/
Install_Zabbix_Server_7.0
267 lines (256 loc) · 21.2 KB
/
Install_Zabbix_Server_7.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
Развертывание сервера с свободной системой мониторинга статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования Zabbix на ОС Linux CentOS Stream 9
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Все описанные ниже действия выполнялись под пользователем root
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Всем привет! Для реализации данного проекта мне потребовалось:
1) Прописать статические IP-адреса;
2) Обновить пакеты ОС Linux CentOS Stream 9 до последней версии;
3) Установить дополнительный пакет yum-utils;
4) Установить и настроить Apache;
5) Установить и настроить PHP 8.1;
6) Установить и настроить MariaDB Server;
7) Установить и настроить Zabbix 7.0 с БД;
8) Настройка/установка Zabbix через Zabbix Web-интерфейс.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Предисловие:
------------
Nano — это консольный текстовый редактор для UNIX и Unix-подобных операционных систем, основанный на библиотеке curses и распространяемый под лицензией GNU GPL.
------------
SELinux — реализация системы принудительного контроля доступа, которая может работать параллельно с классической избирательной системой контроля доступа.
------------
NMTUI — это инструмент командной строки, который используется для настройки сети в системах Gnu / Linux. При запуске он вызывает графический текстовый
интерфейс, который помогает пользователям легко и эффективно настраивать сетевые интерфейсы.
------------
Zabbix — это свободная система мониторинга статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования.
------------
Apache HTTP-сервер — это свободный веб-сервер.
------------
MariaDB — это ответвление от системы управления базами данных MySQL, разрабатываемое сообществом под лицензией GNU GPL.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
1) Для избежания потери связи с АРМ/VM, нужно позаботиться о статической IP-адресации. Её можно настроить как на самой АРМ/VM, так и на самом сетевом
устройстве. Статическую адресацию можно прописать с помощью инструмента командной строки nmtui.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y NetworkManager-tui |#|#| Установка пакета "nmtui" для настройки сети на АРМ/VM
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Гайд по тому, как пользоваться инструментом nmtui, вы можете посмотреть в интернете.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2) Обновление пакетов системы.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum update -y && yum upgrade -y |#|#| Поиск и обновление пакетов системы
------------
reboot |#|#| Команда для перезагрузки АРМ/VM
--------------------------------------------------------------------------------------------------------------------------------------------------------------
3) Установка дополнительного пакета yum-utils.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y yum-utils |#|#| Команда для установки пакета "yum-utils"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
4) Установка и настройка Apache.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y httpd |#|#| Команда для установки пакета "httpd"
------------
mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.org |#|#| Команда для переименования файла "welcome.conf" в "welcome.conf.org"
------------
nano /etc/httpd/conf/httpd.conf |#|#| Команда для открытия файла "httpd.conf" в текстовом редакторе Nano
------------
Приведите прописанные ниже строки в файле "httpd.conf" к следующему виду:
ServerAdmin [email protected]
ServerName www.zabbix.organization:80
Options FollowSymLinks
AllowOverride All
DirectoryIndex index.html index.php index.cgi
# server's response header
ServerTokens Prod
------------
Расшифровка редактирования строк↑↑↑:
ServerAdmin [email protected] |#|#| строка 91: можете поменять адрес электронной почты администратора(сток: ServerAdmin root@localhost)
ServerName www.zabbix.organization:80 |#|#| строка 100: можете поменять имя вашего сервера
Options FollowSymLinks |#|#| строка 149: замените Options Indexes FollowSymLinks на Options FollowSymLinks
AllowOverride All |#|#| строка 156: замените AllowOverride None на AllowOverride All
DirectoryIndex index.html index.php index.cgi |#|#| строка 169: дописать к DirectoryIndex index.html ещё index.php index.cgi
# server's response header |#|#| \
|#|#| --- добавить данные строки в конец файла
ServerTokens Prod |#|#| /
------------
systemctl enable --now httpd |#|#| Команда для запуска указанного юнита и добавления службы "httpd" в автозагрузку
------------
firewall-cmd --add-service=http |#|#| Команда для открытия доступа трафику через протокол HTTP
firewall-cmd --runtime-to-permanent |#|#| Команда для сохранения конфигурации на межсетевом экране
------------
nano /var/www/html/index.html |#|#| Данной командой создадим текстовый файл "index.html"
------------
Приведите текстовый файл "index.html" к следующему виду и не забудьте сохранить файл перед закрытием:
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Zabbix 7.0
</div>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------------------------------------------
5) Установка и настройка PHP 8.1.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum module list php |#|#| Команда для просмотра доступных модулей пакетов PHP
------------
yum module -y reset php |#|#| Команда для отключения активного модуля пакетов PHP
------------
yum module -y enable php:8.1 |#|#| Команда для включения модуля пакетов PHP версии 8.1
------------
yum module -y install php:8.1/common |#|#| Команда для установки модуля пакетов PHP версии 8.1
------------
php -v |#|#| Команда для проверки установленной версии PHP
------------
echo '<?php echo `php -i`."\n"; ?>' > php_test.php |#|#| Создание файла "php_test.php" с тестовым сценарием для проверки PHP
------------
php php_test.php | head |#|#| Команда для запуска скрипта "php_test.php" с последующим экранированием вывода в консоль
--------------------------------------------------------------------------------------------------------------------------------------------------------------
6) Установка и настройка MariaDB Server.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y mariadb-server |#|#| Команда для установки пакета "mariadb-server"
------------
nano /etc/my.cnf.d/charset.cnf |#|#| Данной командой создадим/отредактируем текстовый файл "charset.cnf"
------------
Приведите конфигурационных файл к следующему виду и сохраните:
[mysqld]
character-set-server = utf8mb4
[client]
default-character-set = utf8mb4
------------
systemctl enable --now mariadb |#|#| Команда для запуска указанного юнита и добавления службы "mariadb" в автозагрузку
------------
firewall-cmd --add-service=mysql |#|#| Команда для открытия доступа к серверу MariaDB с удаленных хостов
------------
firewall-cmd --runtime-to-permanent |#|#| Команда для сохранения конфигурации на межсетевом экране
------------
mysql_secure_installation |#|#| Команда для выполнения первоначальной настройки MariaDB
------------
План настройки MariaDB:
1. Задайте пароль для MariaDB;
2. Switch to unix_socket authentication [Y/n] n
3. Change the root password? [Y/n] n
4. Remove anonymous users? [Y/n] y
5. Disallow root login remotely? [Y/n] y
6. Remove test database and access to it? [Y/n] y
7. Reload privilege tables now? [Y/n] y
------------
Tutorial for MariaDB↓↓↓
------------
mysql |#|#| Команда для подключения к MariaDB с помощью пользователя root
------------
show grants for root@localhost; |#|#| Команда для вывода грантов на root@localhost
------------
select user,host,password from mysql.user; |#|#| Команда для вывода списка пользователей
------------
show databases; |#|#| Команда для вывода списка баз данных
------------
create database test_database; |#|#| Команда для создания базы данных с названием "test_database"
------------
create table test_database.test_table (id int, name varchar(50), address varchar(50), primary key (id)); |#|#| Команда для создания тестовой таблицы в базе данных "test_database"
------------
insert into test_database.test_table(id, name, address) values("001", "CentOS", "Hiroshima"); |#|#| Команда для заполнения данных в таблице "test_database"
------------
select * from test_database.test_table; |#|#| Команда для вывода содержимого в базе данных "test_database"
------------
drop database test_database; |#|#| Команда для удаления базы данных "test_database"
------------
exit |#|#| Команда для выхода из MariaDB
------------
systemctl stop mariadb |#|#| Команда для остановки службы "MariaDB"
------------
rm -rf /var/lib/mysql/* |#|#| Команда для очистки каталога "/var/lib/mysql/"
------------
mysql_install_db --datadir=/var/lib/mysql --user=mysql |#|#| Команда для инициализации каталога данных MySQL
------------
systemctl start mariadb |#|#| Команда для запуска службы "MariaDB"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
7) Установка и настройка Zabbix 6.0 с БД.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y php-mysqlnd php-gd php-xml php-bcmath php-ldap |#|#| Команда для установки необходимых пакетов "PHP"
------------
yum install -y https://repo.zabbix.com/zabbix/6.5/rhel/9/x86_64/zabbix-release-6.5-1.el9.noarch.rpm |#|#| Команда для подключения Zabbix-репозитория
------------
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 |#|#| Команда установки пакетов Zabbix Server-а
------------
mysql |#|#| Команда для подключения к MariaDB с помощью пользователя root
------------
create database zabbix character set utf8mb4 collate utf8mb4_bin; |#|#| Команда для создания базы данных с названием "zabbix"
------------
grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbixpassword'; |#|#| Команда для задания пароля "zabbixpassword" базам данных "zabbix.*"
------------
exit |#|#| Команда для выхода из MariaDB
------------
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix |#|#| Команда для распаковки БД
------------
nano /etc/zabbix/zabbix_server.conf |#|#| Команда для открытия конфигурационного файла "zabbix_server.conf" в текстовом редакторе Nano
------------
Приведите ниже описанные строки в открытом конфигурационном файле "zabbix_server.conf" к следующему виду, после внесённых изменений не забудьте сохраниить конфигурационный файл:
DBHost=localhost
DBPassword=password
------------
systemctl enable --now zabbix-server |#|#| Команда для запуска указанного юнита и добавления службы "zabbix-server" в автозагрузку
--------------------------------------------------------------------------------------------------------------------------------------------------------------
ЕСЛИ НА ВАШЕМ УСТРОЙСТВЕ ВКЛЮЧЕНА СЛУЖБА SELINUX, ТО ВЫПОЛНИТЕ КОМАНДЫ ОПИСАННЫЕ НИЖЕ↓↓↓!!!
--------------------------------------------------------------------------------------------------------------------------------------------------------------
setsebool -P zabbix_can_network on
setsebool -P httpd_can_connect_zabbix on
setsebool -P domain_can_mmap_files on
setsebool -P daemons_enable_cluster_mode on
nano zabbix_server.te |#|#| Данной командой создадим текстовый файл "zabbix_server.te"
------------
Приведите конфигурационных файл к следующему виду и сохраните:
module zabbix_server 1.0;
require {
type initctl_t;
type devlog_t;
type proc_kcore_t;
type zabbix_t;
type zabbix_agent_t;
type rpm_exec_t;
type rpm_var_lib_t;
class fifo_file getattr;
class sock_file getattr;
class file { execute execute_no_trans map open getattr };
class capability dac_override;
}
#============= zabbix_t ==============
allow zabbix_t self:capability dac_override;
#============= zabbix_agent_t ==============
allow zabbix_agent_t devlog_t:sock_file getattr;
allow zabbix_agent_t initctl_t:fifo_file getattr;
allow zabbix_agent_t proc_kcore_t:file getattr;
allow zabbix_agent_t rpm_var_lib_t:file open;
allow zabbix_agent_t rpm_exec_t:file { execute execute_no_trans map };
------------
checkmodule -m -M -o zabbix_server.mod zabbix_server.te
semodule_package --outfile zabbix_server.pp --module zabbix_server.mod
semodule -i zabbix_server.pp
--------------------------------------------------------------------------------------------------------------------------------------------------------------
firewall-cmd --add-service={http,https} |#|#| Команда для открытия доступа трафику через протоколы HTTP/HTTPS
------------
firewall-cmd --add-port={10051/tcp,10050/tcp} |#|#| Команда для открытия доступа трафику через порты 10051 по протоколу управления передачей данных TCP
------------
firewall-cmd --runtime-to-permanent |#|#| Команда для сохранения конфигурации на межсетевом экране
------------
nano /etc/zabbix/zabbix_agent2.conf |#|#| Команда для открытия конфигурационного файла "zabbix_agent2.conf" в текстовом редакторе Nano
------------
Приведите ниже описанные строки в открытом конфигурационном файле "zabbix_agent2.conf" к следующему виду, после внесённых изменений не забудьте сохраниить конфигурационный файл:
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
------------
systemctl enable --now zabbix-agent2 |#|#| Команда для запуска указанного юнита и добавления службы "zabbix-agent2" в автозагрузку
------------
systemctl restart httpd php-fpm |#|#| Команда для перезапуска служб "httpd" и "php-fpm"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
8) Настройка/установка Zabbix через Zabbix Web-интерфейс.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
1. Открываете браузер и переходите по адресу http://IP-address server-a/zabbix/ — откроется страница установки Zabbix Web и нажимаем на кнопку "Next Step"
2. Далее внимательно смотрим на результаты проверки нашего Web-сервера — справа мы должны увидеть все OK. Когда все результаты будут OK, нажимаем на "Next Step"
3. Далее настройки подключения к базе оставляем как есть — дополнительно прописываем пароль, который задали при создании пользователя zabbix (в нашем случае zabbixpassword). После нажимаем "Next Step"
4. Далее в окне оставляем все как есть и нажимаем "Next Step"
5. В последнем окне мы проверяем настройки и нажимаем "Next Step"
6. После завершения установки нажимаем на кнопку "Finish"
7. Для входа в систему используйте следующие учетные данные:
Login: Admin
Password: zabbix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
На этом инструкция закончена! Спасибо за внимание!