-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cacti
312 lines (294 loc) · 29.7 KB
/
Cacti
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
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
Развертывание сервера с системой мониторинга Cacti на ОС Linux CentOS 7
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Все описанные ниже действия выполнялись под пользователем root
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Всем привет! Для реализации данного проекта мне потребовалось:
1) Прописать статические IP-адреса;
2) Обновить пакеты ОС Linux CentOS 7 до последней версии;
3) Отключить систему принудительного контроля доступа SELinux;
4) Подключить репозиторий ОС Fedora;
5) Установить пакета Apache;
6) Установить пакеты SNMP and RRDTool;
7) Установить пакеты сервера MariaDB и первоначальная настройка;
8) Установить пакет PHP и дополнительные для его корректной работы пакеты;
9) Создать базу данных для Cacti;
10) Оптимизировать базу данных;
11) Установить пакет yum-utils;
12) Обновить пакеты PHP с версии 5 до более свежей;
13) Установить и настроить Cacti;
14) Настроить Cron;
15) Настроить Apache для Cacti;
16) Настроить Firewall;
17) Настроить Cacti через Web-интерфейс перед использованием.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Предисловие:
------------
Cacti — open-source веб-приложение, система позволяет строить графики при помощи RRDtool. Cacti собирает статистические данные за определённые
временные интервалы и позволяет отобразить их в графическом виде.
------------
SELinux — реализация системы принудительного контроля доступа, которая может работать параллельно с классической избирательной системой контроля доступа.
------------
EPEL (Extra Packages for Enterprise Linux) ― это открытое бесплатное хранилище пакетов от Fedora. Оно содержит пакеты дополнительного программного обеспечения
для Linux. Пакеты этого репозитория не конфликтуют с пакетами RHEL, поэтому этот репозиторий самый безопасный в использовании для CentOS.
------------
Remi - это хранилище yum-репозиториев. Хранилище Remi предоставляет разнообразные up-to-date пакеты, которые очень полезны или являются необходимыми для многих
популярных веб-сервисов.
------------
Cron — классический демон, использующийся для периодического выполнения заданий в определённое время. Регулярные действия описываются инструкциями, помещенными
в файлы crontab и в специальные каталоги.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
1) Для избежания потери связи с АРМ/VM, нужно позаботиться о статической IP-адресации. Её можно настроить как на самой АРМ/VM, так и на самом сетевом
устройстве. Статическую адресацию можно прописать с помощью инструмента командной строки nmtui.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y NetworkManager-tui |#|#| Установка пакета nmtui для настройки сети на АРМ/VM
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Гайд по тому, как пользоваться инструментом nmtui, вы можете посмотреть в интернете.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2) Обновление пакетов системы.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum update -y && yum upgrade -y |#|#| Поиск и обновление пакетов системы
--------------------------------------------------------------------------------------------------------------------------------------------------------------
3) Отключение системы принудительного контроля доступа SELinux.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
nano /etc/sysconfig/selinux |#|#| Команда для открытия конфигурационного файла "selinux"
------------
В конфигурационном файле замените строку SELINUX=enforcing на SELINUX=disabled. Перед закрытием обязательно сохраните файл!
------------
Конфигурационный файл SELinux должен выглядеть следующим образом:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
--------------------------------------------------------------------------------------------------------------------------------------------------------------
reboot |#|#| Команда для перезагрузки ARM/VM
--------------------------------------------------------------------------------------------------------------------------------------------------------------
После перезагрузки вашего устройства, можете снова ввести команду "sestatus" и убедиться в том, что у вас отключена система SELinux.
Вывод отключенной системы должен выглядеть вот так:
SELinux status: disabled
--------------------------------------------------------------------------------------------------------------------------------------------------------------
4) Подключение репозитория ОС Fedora.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm |#|#| Команда обновления EPEL-репозитория
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Для дальнейшей настройки ВМ, обязательно понадобится пакет wget.
------------
yum install -y wget |#|#| Команда для установки пакета "wget"
------------
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm |#|#| Команда для скачивания пакета "Remi" из репозитория
------------
rpm -Uvh remi-release-7.rpm |#|#| Обновление/установка пакета "Remi"
------------
yum repolist |#|#| Команда для просмотра всех подключенных репозиториев
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5) Установка пакета Apache.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y httpd httpd-devel |#|#| Команда для установки пакета "Apache"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl start httpd |#|#| Команда для запуска службы "httpd"
------------
systemctl enable httpd |#|#| Команда для добавления службы "httpd" в автозапуск ОС
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6) Установка пакетов SNMP and RRDTool.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y net-snmp net-snmp-utils net-snmp-libs rrdtool |#|#| Команда для установки пакетов "SNMP" и "RRDTool"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl start snmpd |#|#| Команда для запуска службы "snmp"
------------
systemctl enable snmpd |#|#| Команда для добавления службы "snmp" в автозапуск ОС
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7) Установка пакетов сервера MariaDB и первоначальная настройка.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install mariadb-server |#|#| Команда для установки пакетов "сервера MariaDB"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl start mariadb |#|#| Команда для запуска службы "mariadb"
------------
systemctl enable mariadb |#|#| Команда для добавления службы "mariadb" в автозапуск ОС
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Далее нужно завершить установку Mariadb следующей командой: mysql_secure_installation. Далее нужно будет ответить на следующие вопросы:
------------
# mysql_secure_installation
------------
Enter current password for root (enter for none): |#|#| Так как пароля для пользователя "root" ранее задано не было, на данный вопрос ответьте клавишей "Enter"
------------
Set root password? [Y/n] Y |#|#| Вопрос для установки пароля для пользователя "root"
New password: |#|#| Строка для ввода нового пароля для пользователя "root"
Re-enter new password: |#|#| Строка для повторения нового пароля для пользователя "root"
------------
Remove anonymous users? [Y/n] Y |#|#| Вопрос для удаления анонимных пользователей
------------
Disallow root login remotely? [Y/n] Y |#|#| Вопрос запрета удаленного входа под пользователем "root"
------------
Remove test database and access to it? [Y/n] Y |#|#| Вопрос удаления тестовой базы данных и доступа к ней
------------
Reload privilege tables now? [Y/n] Y |#|#| Вопрос о перезагрузке таблицы привилегий
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
8) Установка пакета PHP и дополнительных для его корректной работы пакетов.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
yum --enablerepo=remi install -y php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-intl php-snmp |#|#| Команда для установки набора пакетов, связанных с PHP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
9) Создание базы данных для Cacti.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mysql -u root -p |#|#| Команда для входа в систему по управлению базами данных
------------
create database cacti; |#|#| Команда для создания базы данных с наименованием "cacti"
------------
CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'cacti'; |#|#| Команда для создания пользователя "cacti" с паролем "cacti"
------------
grant all privileges on cacti.* to cacti@localhost; |#|#| Команда для предоставления всех привилегий пользователю "cacti" для базы данных "cacti"
------------
FLUSH PRIVILEGES; |#|#| Команда выдачи полных привилегий
------------
Exit; |#|#| Команда для выхода из системы по управлению базами данных
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql |#|#| Команда для импортирования базы данных "mysql_test_data_timezone.sql" в базу данных MySQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mysql -u root -p |#|#| Команда для входа в систему по управлению базами данных
------------
GRANT SELECT ON mysql.time_zone_name TO cacti@localhost; |#|#| Команда для предоставления доступа пользователю "cacti" до базы данных "mysql.time_zone_name"
------------
flush privileges; |#|#| Команда для сброса привилегий
------------
Exit; |#|#| Команда для выхода из системы по управлению базами данных
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
10) Оптимизация базы данных.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
nano /etc/my.cnf.d/server.cnf |#|#| Команда для редактирования файла "server.cnf"
------------
В данном файле, в раздел [mysqld] нужно добавить следующие строки:
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
max_heap_table_size = 128M
max_allowed_packet = 16777216
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_per_table = on
innodb_buffer_pool_size = 512M
innodb_doublewrite = off
innodb_additional_mem_pool_size = 80M
innodb_lock_wait_timeout = 50
innodb_flush_log_at_trx_commit = 2
------------
После чего потребуется перезапуск службы "Mariadb"
------------
systemctl restart mariadb.service |#|#| Команда для перезапуска службы "Mariadb"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
11) Установка пакета yum-utils.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y yum-utils |#|#| Команда для установки пакета c набором инструментов и программ для управления репозиториями yum, установки пакетов отладки, исходных пакетов, расширенной
информации из репозиториев и администрирования.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
12) Обновление пакетов PHP с версии 5 до более свежей.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Пока вы не обновите пакеты PHP с версии 5 до более свежей, то у вас не установится пакет "Cacti"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
php --version |#|#| Команда для проверки установленной версии PHP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
wget -q http://rpms.remirepo.net/enterprise/remi-release-7.rpm |#|#| Команда для скачивания пакета "Remi"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
wget -q https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm |#|#| Команда для скачивания пакета "Epel"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
rpm -i remi-release-7.rpm epel-release-latest-7.noarch.rpm |#|#| Команда для установки пакетов "Remi" and "Epel"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
yum-config-manager --enable remi-php70 |#|#| Команда для включения репозитория "remi-php70"
------------
yum-config-manager --enable remi-php71 |#|#| Команда для включения репозитория "remi-php71"
------------
yum-config-manager --enable remi-php72 |#|#| Команда для включения репозитория "remi-php72"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y php |#|#| Команда для обновления пакета PHP и его зависимостей
------------
yum update -y |#|#| Команда подобна выше предложенной
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
php --version |#|#| Команда для проверки установленной версии PHP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
13) Установка и настройка Cacti.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y cacti |#|#| Команда для установки пакета "Cacti"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cd /usr/share/doc/cacti-1.2.23/ |#|#| Команда для перехода в каталог "/usr/share/doc/cacti-1.2.23/"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mysql -u root -p cacti < cacti.sql |#|#| Команда для импорта SQL-файла "cacti.sql" в созданную нами ранее базу данных
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
nano /usr/share/cacti/include/config.php |#|#| Команда для редактирования конфигурационного файла cacti "config.php"
------------
Конфигурацию базы данных нужно привести к следующему виду(лишние строчки в этом столбце нужно удалить):
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'cacti';
$database_port = '3306';
$database_ssl = false;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
14) Настройка Cron.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
nano /etc/cron.d/cacti |#|#| Команда для редактирования файла "Cacti" в Cron
------------
Данный конфигурационный файл приведите к следующему виду:
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
15) Настройка Apache для Cacti.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
nano /etc/httpd/conf.d/cacti.conf |#|#| Команда для редактирования файла конфигурации "cacti.conf"
------------
Данный конфигурационный файл приведите к следующему виду:
Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from all
</IfModule>
</Directory>
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
nano /etc/php.ini |#|#| Команда для редактирования конфигурационного файла "php.ini"
------------
;date.timezone = |#|#| Данную строку нужно привести к следующему виду:
date.timezone = Asia/Yekaterinburg
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
После выполнения всех операций, нужно перезагрузить следующие службы:
------------
systemctl restart httpd.service |#|#| Команда для перезагрузки службы "httpd"
------------
systemctl restart mariadb.service |#|#| Команда для перезагрузки службы "mariadb"
------------
systemctl restart snmpd.service |#|#| Команда для перезагрузки службы "snmpd"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
16) Настройка Firewall.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
firewall-cmd --permanent --zone=public --add-service=http |#|#| Команда для создания постоянного правила, открытия публичной зоне сервиса "http"
------------
firewall-cmd --reload |#|#| Команда для перезагрузки Firewall
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
17) Настройка Cacti через Web-интерфейс перед использованием.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Откройте веб-браузер и используйте следующий URL-адрес для доступа к веб-интерфейсу Cacti: http://IP-address_Cacti_Сервера/cacti
------------
Далее нужно:
- Принять лицензионное соглашение и нажать кнопку "Начать";
- Пройдите все страницы проверки, нажав кнопку "Далее";
- Сверьте данные в окне "Тип установки", если все данные были введены верно, то нажмите кнопку "Далее";
- Проверьте все бинарные пути и нажмите кнопку "Далее";
- Проверьте разрешения каталогов и нажмите кнопку "Далее";
- В окне "Настройка шаблона" вы можете выбрать все шаблоны и нажать кнопку "Готово".
------------
После успешной настройки ПО Cacti, у вас появится окно авторизации, в котором вам нужно будет ввести следующие данные:
Username: Admin
Password: Admin
------------
После успешной авторизации вас попросят сменить стандартный пароль на новый. После смены пароля, можете приступать к дальнейшей настройке ПО!
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Как по мне, данное ПО подойдет для мониторинга оборудования в не очень больших организациях. Для более масштабных предприятий рекомендую успользовать что-либо другое.
На этом инструкция закончена! Спасибо за внимание!