Observiumは、すべてのネットワークデバイスを監視するために使用できる無料のオープンソースのネットワーク管理および監視ツールです。これはPHPで記述されており、SNMPを使用して接続されたデバイスからデータを収集し、Webインターフェイスを使用してそれらを監視します。 Observiumは、Linux、Windows、FreeBSD、Cisco、Dell、NetAppなど、多くのネットワークハードウェアとオペレーティングシステムをサポートしています。 Observiumは、ネットワークの状態とステータスを監視するための強力でシンプルで使いやすいインターフェースを提供します。
このチュートリアルでは、Debian9サーバーにObserviumをインストールして設定する方法を説明します。
要件
- システムにインストールされた新しいDebian9サーバー。
- ルートパスワードがサーバーに設定されています。
次のコマンドを実行して、システムを最新の安定バージョンに更新することから始めましょう。
apt-get update -y
apt-get upgrade -y
システムが更新されたら、システムを再起動してすべての更新を適用します。
reboot
再起動後、rootユーザーでログインし、次のコマンドを実行して、必要なパッケージをシステムにインストールします。
apt-get install snmp fping python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick -y
必要なパッケージがすべてインストールされたら、次のステップに進むことができます。
LAMPサーバーをインストールする
ObserviumはApacheで実行され、PHP言語で記述され、MySQLをデータベースとして使用します。そのため、システムにLAMPサーバーをインストールする必要があります。
まず、次のコマンドを実行してApacheWebサーバーをインストールします。
apt-get install apache2 libapache2-mod-php7.0 -y
Apacheをインストールした後、次のコマンドを使用してApacheサービスを開始し、起動時に開始できるようにします。
systemctl start apache2
systemctl enable apache2
次に、次のコマンドを実行して、PHP7およびその他の必要なライブラリをインストールします。
apt-get install php7.0 php7.0-cli php7.0-mysql php7.0-mysqli php7.0-gd php7.0-mcrypt php7.0-json php-pear -y
PHP7と必要なすべてのライブラリがインストールされたら、次のコマンドを実行してMariaDBサーバーをインストールします。
apt-get install mariadb-server -y
次に、MariaDBサービスを開始し、次のコマンドを使用して起動時に開始できるようにします。
systemctl start mysql
systemctl enable mysql
デフォルトでは、MariaDBは保護されていません。次のコマンドで保護できます:
mysql_secure_installation
次のようにすべての質問に答えてください:
set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
MariaDBが保護されたら、Observiumのデータベースとユーザーを作成する必要があります。
まず、次のコマンドを使用してMySQLシェルにログインします。
mysql -u root -p
ルートパスワードを入力し、次のコマンドを使用してObserviumのデータベースを作成します。
MariaDB [(none)]>CREATE DATABASE observiumdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
次に、次のコマンドを使用して、Observiumのユーザーを作成し、Observiumデータベースにすべての権限を付与します。
MariaDB [(none)]>GRANT ALL PRIVILEGES ON observiumdb.* TO 'observium'@'localhost' IDENTIFIED BY 'password';
次に、次のコマンドを使用して特権をフラッシュします。
MariaDB [(none)]>FLUSH PRIVILEGES;
最後に、次のコマンドを使用してMySQLシェルを終了します。
MariaDB [(none)]>\q
Observiumをダウンロードしてインストールする
Observiumには、Open SourceEditionとSubscriptionEditionの2つのエディションがあり、Open Source Editionは、機能が少なく、セキュリティ修正がほとんどない状態で無料でダウンロードできます。SubscriptionEditionには、追加機能とハードウェアサポートが付属しています。 Observiumのオープンソースバージョンは、次のコマンドを使用して公式Webサイトからダウンロードできます。
wget http://www.observium.org/observium-community-latest.tar.gz
ダウンロード後、次のコマンドを使用して、ダウンロードしたアーカイブを抽出します。
tar -xvzf observium-community-latest.tar.gz
次に、抽出したディレクトリをApacheWebルートディレクトリにコピーします。
cp -ar observium /var/www/html/
次に、サンプル構成ファイルの名前を変更し、いくつかの変更を加えます。
cd /var/www/html/observium
cp config.php.default config.php
nano config.php
以下に示すようにファイルを変更します:
// Database config --- This MUST be configured
$config['db_extension'] = 'mysqli';
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'password';
$config['db_name'] = 'observiumdb';
ファイルを保存し、次のコマンドを使用してMySQLデータベースのデフォルトスキーマを設定します。
./discovery.php -u
すべてが正常であれば、次の出力が表示されます。
___ _ _
/ _ \ | |__ ___ ___ _ __ __ __(_) _ _ _ __ ___
| | | || '_ \ / __| / _ \| '__|\ \ / /| || | | || '_ ` _ \
| |_| || |_) |\__ \| __/| | \ V / | || |_| || | | | | |
\___/ |_.__/ |___/ \___||_| \_/ |_| \__,_||_| |_| |_|
Observium Community Edition 17.9.0
http://www.observium.org
Install initial database schema ... done.
-- Updating database/file schema
310 -> 311 # (db) . Done (0s).
311 -> 312 # (db) .... Done (0s).
312 -> 313 # (db) Done (0s).
313 -> 314 # (db) Done (0s).
314 -> 315 # (php) . Done (0s).
315 -> 316 # (db) . Done (0s).
316 -> 317 # (db) .. Done (0s).
317 -> 318 # (db) . Done (0s).
318 -> 319 # (db) ....... Done (2s).
319 -> 320 # (db) . Done (0s).
320 -> 321 # (db) . Done (0s).
321 -> 322 # (db) . Done (0s).
322 -> 323 # (db) ... Done (1s).
323 -> 324 # (db) ... Done (0s).
324 -> 325 # (db) .... Done (1s).
325 -> 326 # (db) . Done (0s).
326 -> 327 # (db) . Done (0s).
327 -> 328 # (db) . Done (0s).
328 -> 329 # (db) . Done (0s).
329 -> 330 # (db) . Done (0s).
330 -> 331 # (db) . Done (0s).
331 -> 332 # (db) ... Done (1s).
332 -> 333 # (php) Done (0s).
333 -> 334 # (db) . Done (0s).
334 -> 335 # (php) Done (0s).
335 -> 336 # (db) . Done (0s).
336 -> 337 # (db) . Done (1s).
337 -> 338 # (db) . Done (0s).
338 -> 339 # (db) ... Done (0s).
339 -> 340 # (db) ... Done (0s).
340 -> 341 # (db) ........ Done (1s).
341 -> 342 # (db) ............... Done (0s).
342 -> 343 # (db) ... Done (0s).
343 -> 344 # (db) .... Done (1s).
344 -> 345 # (db) .. Done (0s).
345 -> 346 # (db) . Done (0s).
346 -> 347 # (db) . Done (0s).
347 -> 348 # (db) F Done (0s, 1 errors).
348 -> 349 # (db) .. Done (0s).
349 -> 350 # (php) Done (0s).
350 -> 351 # (db) ..... Done (1s).
351 -> 352 # (db) .. Done (0s).
-- Done.
次に、RRDとログを保存するディレクトリを作成する必要があります:
mkdir rrd logs
次のコマンドを使用して、observiumディレクトリの所有権を変更します。
chown -R www-data:www-data /var/www/html/observium
次に、Observium用のApache仮想ホストファイルを作成する必要があります。これを行うには、新しい構成ファイルobservium.confを作成します。
nano /etc/apache2/sites-available/observium.conf
次の行を追加します:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
DocumentRoot /var/www/html/observium/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/observium/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>
ファイルを保存してから、次のコマンドでobservium仮想ホストファイルを有効にし、デフォルトの仮想ホストファイルを無効にします。
a2ensite observium
a2dissite 000-default
次に、ApacheリライトモジュールとPHPmcryptモジュールも有効にする必要があります。これを行うには、次のコマンドを実行します。
a2enmod rewrite
phpenmod mcrypt
最後に、次のコマンドを使用してApacheWebサーバーを再起動します。
systemctl restart apache2
次に、次のコマンドを使用して最初の管理者ユーザーを作成します。
/var/www/html/observium/adduser.php admin yourpassword 10
すべてがうまくいけば、次の出力が表示されます。
Observium CE 0.17.7.8697
Add User
User admin added successfully.
AccessObserviumWebインターフェイス
Observiumにアクセスする前に、ポート80がUFWファイアウォールを通過できるようにする必要があります。デフォルトでは、UFWはDebian 9にインストールされていないため、最初にインストールする必要があります。
apt-get install ufw -y
UFWをインストールしたら、次のコマンドでUFWを有効にします。
ufw enable
次に、次のコマンドを使用して、ポート80がUFWファイアウォールを通過できるようにします。
ufw allow 80
ファイアウォールが構成されたら、Webブラウザーを開き、URL http://example.comを入力すると、次のページが表示されます。
ここで、管理者のユーザー名とパスワードを入力し、[ログイン]ボタンをクリックすると、以下のようなObserviumのデフォルトのダッシュボードが表示されます。
次に、ネットワークからデバイスをポーリングおよび検出するためのcronジョブを作成する必要があります。これを行うには、/ etc/cron.dディレクトリ内にcronファイルを作成します。
nano /etc/cron.d/observium
次の行を追加します:
# Run a complete discovery of all devices once every 2 hours 25 */2 * * * root /var/www/html/observium/discovery.php -h all >> /dev/null 2>&1 # Run automated discovery of newly added devices every 10 minutes */10 * * * * root /var/www/html/observium/discovery.php -h new >> /dev/null 2>&1 # Run multithreaded poller wrapper every 10 minutes */10 * * * * root /var/www/html/observium/poller-wrapper.py 4 >> /dev/null 2>&1 # Run housekeeping script daily for syslog, eventlog and alert log 10 2 * * * root /var/www/html/observium/housekeeping.php -ysel >> /dev/null 2>&1 # Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data 10 1 * * * root /var/www/html/observium/housekeeping.php -yrptb >> /dev/null 2>&1
終了したらファイルを保存して閉じ、cronサービスを再起動してこの変更を適用します。
systemctl restart cron
おめでとう!これで、Debian9サーバーにObserviumが正常にインストールされました。これで、ネットワークのステータスと状態を簡単に取得できます。デバイス、アラート、認証モジュールの構成の詳細については、Observiumの公式ドキュメントページを確認してください。