Приведу пример установки системы мониторинга Observium в Ubuntu Server 20.04.
Сразу переключимся на root пользователя:
sudo -i
Установим необходимые компоненты для работы Observium:
apt-get update
apt-get install libapache2-mod-php php-cli php-mysql php-mysqli php-gd php-json php-pear snmp fping mysql-server mysql-client python3-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick apache2 python3-pymysql python-is-python3
Создадим директорию и скачаем Observium:
mkdir -p /opt/observium && cd /opt
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz
Подключимся к MySQL, создадим базу данных и пользователя:
mysql -u root -p
CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'observium'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost';
FLUSH PRIVILEGES;
exit
Создадим файл конфигурации из примера и укажем в нем имя созданного MySQL пользователя и пароль:
cd /opt/observium
cp config.php.default config.php
nano /opt/observium/config.php
Импортируем данные в созданную базу данных:
./discovery.php -u
Создадим недостающие директории:
mkdir logs
mkdir rrd
chown www-data:www-data rrd
Создадим файл конфигурации для apache2:
nano /etc/apache2/sites-available/observium.conf
Добавим в него:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /opt/observium/html
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /opt/observium/html/>
DirectoryIndex index.php
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/observium_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/observium_access.log combined
ServerSignature On
</VirtualHost>
Отключим стандартный файл конфигурации apache2 и активируем новый, а также активируем необходимые модули и перезапустим apache2 чтобы применить изменения:
a2dissite 000-default
a2ensite observium
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod rewrite
systemctl restart apache2
Добавим администратора с максимальным уровнем прав 10:
./adduser.php USERNAME PASSWORD 10
Можно добавить устройство:
./add_device.php HOST COMMUNITY v2c
./discovery.php -h all
./poller.php -h all
Создадим файл для периодических заданий:
nano /etc/cron.d/observium
Добавим в него:
# Run a complete discovery of all devices once every 6 hours
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
# Run automated discovery of newly added devices every 5 minutes
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
# Run multithreaded poller wrapper every 5 minutes
*/5 * * * * root /opt/observium/poller-wrapper.py >> /dev/null 2>&1
# Run housekeeping script daily for syslog, eventlog and alert log
13 5 * * * root /opt/observium/housekeeping.php -ysel >> /dev/null 2>&1
# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data
47 4 * * * root /opt/observium/housekeeping.php -yrptb >> /dev/null 2>&1
Смотрите также мои статьи:
Установка и настройка Apache2 в Linux
Установка Zabbix в Ubuntu из пакетов дистрибутивов
Установка и настройка Cacti