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の公式ドキュメントページを確認してください。