-
Notifications
You must be signed in to change notification settings - Fork 0
/
Observium
226 lines (215 loc) · 24.4 KB
/
Observium
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
Развертывание сервера с системой мониторинга Observium на ОС Linux CentOS 7
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Все описанные ниже действия выполнялись под пользователем root
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Всем привет! Для реализации данного проекта мне потребовалось:
1) Прописать статические IP-адреса;
2) Обновить пакеты ОС Linux CentOS 7 до последней версии;
3) Отключить систему принудительного контроля доступа SELinux;
4) Подключить нужные для дальнейшей работы репозитории;
5) Установить необходимые пакеты для дальнейшей работы;
6) Настроить базу данных MySQL для ПО Observium;
7) Настроить и запустить ПО Observium с дальнейшей настройкой зависимостей;
8) Настроить Firewall;
9) Горячие комбинации.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Предисловие:
------------
SELinux — реализация системы принудительного контроля доступа, которая может работать параллельно с классической избирательной системой контроля
------------
Remi - это хранилище yum-репозиториев. Хранилище Remi предоставляет разнообразные up-to-date пакеты, которые оченьполезны или являются необходимыми для многих
популярных веб-сервисов.
------------
Cron — классический демон, использующийся для периодического выполнения заданий в определённое время. Регулярные действия описываются инструкциями, помещенными
в файлы crontab и в специальные каталоги.
------------
Observium – это система мониторинга и наблюдения за сетевыми устройствами и серверами.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
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) Установка нужных для дальнейшей работы репозиториев.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm |#|#| Установка репозитория epel-release-latest-7.noarch.rpm
------------
yum install -y http://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm |#|#| Установка репозитория opennms-repo-stable-rhel7.noarch.rpm
------------
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm |#|#| Установка репозитория remi-release-7.rpm
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum update -y |#|#| Команда для обновления пакетов после установки репозиториев
--------------------------------------------------------------------------------------------------------------------------------------------------------------
5) Установка необходимых пакетов для дальнейшей работы.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y openssh wget.x86_64 httpd.x86_64 php.x86_64 php-opcache.x86_64 php-mysql.x86_64 php-gd.x86_64 php-posix php-pear.noarch cronie.x86_64
net-snmp.x86_64 net-snmp-utils.x86_64 fping.x86_64 mariadb-server.x86_64 mariadb.x86_64 MySQL-python.x86_64 rrdtool.x86_64 subversion.x86_64 jwhois.x86_64
ipmitool.x86_64 graphviz.x86_64 ImageMagick.x86_64 php-sodium.x86_64 |#|#| Установка необходимых пакетов для дальнейшей работы
------------
Если после выполнения команды не установились некоторые пакеты, то не нужно паниковать! Это все исправится далее.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl enable sshd |#|#| Команда для добавления в автозапуск службы "sshd"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl start sshd |#|#| Команда для включения службы "sshd"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y libvirt.x86_64 |#|#| Команда установки пакета "libvirt" для добавления возможности отслеживания виртуальных машин
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y yum-utils |#|#| Команда для установки пакета "yum-utils"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum-config-manager --enable remi-php71 |#|#| Команда для активации репозитория "remi-php71"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum-config-manager --enable php-pecl-libsodium |#|#| Команда для активации репозитория "php-pecl-libsodium"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum-config-manager --enable php-pecl-libsodium2 |#|#| Команда для активации репозитория "php-pecl-libsodium2"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum update -y |#|#| Команда для обновления пакетов после активации репозиториев
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum install -y wget.x86_64 httpd.x86_64 php.x86_64 php-opcache.x86_64 php-mysql.x86_64 php-gd.x86_64 php-posix php-pear.noarch cronie.x86_64 net-snmp.x86_64
net-snmp-utils.x86_64 fping.x86_64 mariadb-server.x86_64 mariadb.x86_64 MySQL-python.x86_64 rrdtool.x86_64 subversion.x86_64 jwhois.x86_64 ipmitool.x86_64
graphviz.x86_64 ImageMagick.x86_64 php-sodium.x86_64 |#|#| Команда для повторной установки пакетов
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum --enablerepo=remi-php72 install php-sodium |#|#| Команда для активации репозитория "remi-php72" и установки пакета "php-sodium"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
yum update -y |#|#| Команда для обновления пакетов после активации репозитория
--------------------------------------------------------------------------------------------------------------------------------------------------------------
mkdir -p /opt/observium && cd /opt |#|#| Команда для создания папки "observium" и перехода в каталог "/opt/"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
wget http://www.observium.org/observium-community-latest.tar.gz |#|#| Команда для скачивания архива "observium-community-latest.tar.gz"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
tar zxvf observium-community-latest.tar.gz |#|#| Команда для распаковки архива "observium-community-latest.tar.gz"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
6) Настройка базы данных MySQL для ПО Observium.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl enable mariadb |#|#| Команда для добавления в автозапуск службы "mariadb"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl start mariadb |#|#| Команда для включения службы "mariadb"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
/usr/bin/mysqladmin -u root password |#|#| Команда для создания пароля пользователю "root" в системе по управлению базами данных
--------------------------------------------------------------------------------------------------------------------------------------------------------------
mysql -u root -p |#|#| Команда для входа в систему по управлению базами данных
--------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; |#|#| Команда для создания базы данных "observium"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
GRANT ALL PRIVILEGES ON observium.* TO 'root'@'localhost' IDENTIFIED BY 'LogoP@ssYour'; |#|#| Команда для предоставления всех привилегий пользователю "root"
для базы данных "observium"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Exit; |#|#| Команда для выхода из системы по управлению базами данных
--------------------------------------------------------------------------------------------------------------------------------------------------------------
7) Настройка и запуск ПО Observium с дальнейшей настройкой зависимостей.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
cd observium |#|#| Команда для перехода в каталог "observium"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
cp config.php.default config.php |#|#| Копирование файла "config.php.default" с новым названием "config.php"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
nano config.php |#|#| Команда для редактирования файла "config.php"
------------
В данный файл нужно внести следующие изменения:
// Database config
$config['db_host'] = 'localhost';
$config['db_user'] = 'root';
$config['db_pass'] = 'LogoP@ssYour';
$config['db_name'] = 'observium';
------------
В конец файла добавить строку: "/usr/sbin/fping";
--------------------------------------------------------------------------------------------------------------------------------------------------------------
./discovery.php -u |#|#| Команда для запуска сценария discovery.php с ключом обновления -u, чтобы вставить исходную схему MySQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------
mkdir rrd |#|#| Команда для создания папки "rrd"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
chown apache:apache rrd |#|#| Команда для присвоения каталогу "rrd" пользователя "apache" и группы "apache"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
nano /etc/httpd/conf.d/observium.conf |#|#| Команда для редактирования файла "observium.conf"
------------
Если на сервере будет работать только ПО Observium, то внесите в файл "observium.conf" следующее содержимое:
<VirtualHost *>
DocumentRoot /opt/observium/html/
ServerName observium.domain.com
CustomLog /opt/observium/logs/access_log combined
ErrorLog /opt/observium/logs/error_log
<Directory "/opt/observium/html/">
AllowOverride All
Options FollowSymLinks MultiViews
Require all granted
</Directory>
</VirtualHost>
--------------------------------------------------------------------------------------------------------------------------------------------------------------
mkdir /opt/observium/logs |#|#| Команда для создания папки "logs"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
chown apache:apache /opt/observium/logs |#|#| Команда для присвоения каталогу "logs" пользователя "apache" и группы "apache"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
cd /opt/observium |#|#| Команда для перехода в каталог "/opt/observium/"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
./adduser.php admin Logo_P@ss_Your 10 |#|#| Команда для создания пользователя "admin" с паролем "Logo_P@ss_Your" и полными привилегиями для работы в ПО Observium
--------------------------------------------------------------------------------------------------------------------------------------------------------------
touch /etc/cron.d/observium |#|#| Команда для создания файла "observium" в каталоге "/etc/cron.d/"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
nano /etc/cron.d/observium |#|#| Команда для редактирования файла "observium"
------------
В данный файл нужно вставить следующие строки:
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py 2 >> /dev/null 2>&1
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl restart crond |#|#| Команда для перезапуска службы "crond"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl status crond |#|#| Команда для просмотра статуса службы "crond"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl enable crond |#|#| Команда для добавления в автозапуск службы "crond"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
8) Настройка Firewall.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl status httpd |#|#| Команда для просмотра статуса службы "httpd"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl start httpd |#|#| Команда для запуска службы "httpd"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
systemctl enable httpd |#|#| Команда для добавления в автозапуск службы "httpd"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
firewall-cmd --permanent --zone=public --add-service=http |#|#| Команда для открытия публичного доступа к сайту с ПО Observium
--------------------------------------------------------------------------------------------------------------------------------------------------------------
firewall-cmd --reload |#|#| Команда для перезагрузки службы "firewalld"
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Чтобы удостовериться в том, что у поднятое ПО Observium корректно работает, рекомендую выполнить перезагрузку сервера:
------------
reboot |#|#| Команда для перезагрузки сервера
--------------------------------------------------------------------------------------------------------------------------------------------------------------
9) Горячие комбинации.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Все описанные ниже команды выполняются в каталоге "/opt/observium"
------------
cd /opt/observium/ |#|#| Команда для перехода в каталог Observium
------------
./discovery.php -h all |#|#| \
|#|#| --- Команды для опроса добавленного сервера/сетевого устройства в ПО Observium(на тот случай, чтобы не жадть пока отработает
./poller.php -h all |#|#| / служба "crond").
--------------------------------------------------------------------------------------------------------------------------------------------------------------
На этом инструкция закончена! Спасибо за внимание!