ウェブサイト検索

Ubuntu 22.04にLibreNMS監視ツールをインストールする方法


Ubuntu 22.04にLibreNMS監視ツールをインストールする方法

このページで

  1. 前提条件
  2. パッケージの依存関係をインストールする
  3. LibreNMSのダウンロードとインストール
  4. PHPのタイムゾーンを設定する
  5. MariaDBサーバーの設定
  6. LibreNMSのためのPHP-FPMプールの設定
  7. LibreNMSのためのNginxサーバーブロックの設定
  8. LibreNMSの追加設定
  9. LibreNMSのウェブインストーラーを開始
  10. 結論

LibreNMSは、PHP/MySQL/SNMPで書かれた無料かつオープンソースの監視ツールです。これはObserviumのコミュニティベースのフォークで、GPLライセンスのもとで提供されています。

LibreNMSは、Cisco、Linux、Juniperなど、幅広いハードウェアとオペレーティングシステムをサポートしています。CDP、OSPF、BGP、SNMP、ARPを使用した自動検出ネットワークサービスをサポートしています。必要に応じて構成できるカスタマイズ可能なユーザーダッシュボードを提供し、カスタマイズ可能な警告システムも付属しています。また、LibreNMSはNFSenやcollectdなどの統合サポートを持つ拡張可能な監視システムです。

LibreNMSは、ローカルMySQL、Radius、LDAP、およびActive Directoryを含む複数の認証方法をサポートしています。この機能は、中央集権的な認証があるインフラストラクチャを持っている場合に便利です。LibreNMSは、管理者が各ユーザーの帯域幅の使用状況や請求書を確認および生成しやすくする請求システムも提供しています。

このガイドでは、最新のUbuntu 22.04サーバーにLibreNMS監視ツールをインストールおよび設定する方法を教えます。このチュートリアルでは、LibreNMSインストールのためのLEMPスタックの追加設定についても説明します。

前提条件

  • Ubuntu 22.04サーバー
  • ルート権限を持つ非ルートユーザー

パッケージの依存関係をインストールする

まず、LibreNMSのパッケージ依存関係をインストールします。これにはLEMPスタック、一部のPythonツール、そしてSNMP、whois、rrdtoolなどのいくつかのネットワーキングツールが含まれます。

パッケージをインストールする前に、以下のaptコマンドを実行して、Ubuntuリポジトリを更新し、リフレッシュしてください。

sudo apt update

以下のaptコマンドを使用して、LibreNMSのパッケージ依存関係をインストールしてください。

sudo apt install acl curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysql php-snmp php-xml php-zip rrdtool snmp snmpd whois unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip

確認するにはYを入力し、続行するにはENTERを押してください。そして、依存関係のインストールが始まりますので、すべてのインストールが完了するまでお待ちください。

LibreNMSのダウンロードとインストール

パッケージの依存関係をインストールした後、ソースコードからLibreNMSをインストールします。

まず、新しいユーザー「librenms」を追加する必要があります。このユーザーはLibreNMS監視ツールアプリケーションを実行するために使用されます。以下のコマンドを使用して「librenms」ユーザーを追加できます。

useradd librenms -d /opt/librenms -M -r -s "$(which bash)"

このコマンドは、ホームディレクトリ/opt./librenmsとデフォルトシェルbashを持つ新しいユーザー「librenms」を作成します。

それでは、/optディレクトリに移動し、以下のgitコマンドを使用してLibreNMS監視ツールのソースコードをダウンロードしてください。

cd /opt/
git clone https://github.com/librenms/librenms.git

あなたは/opt内にlibrenmsという新しいディレクトリを取得します。

次に、/opt/librenmsディレクトリの所有権と権限を変更するために、次のコマンドを実行します。

所有者はユーザー「librenms」であり、権限「771」はlibrenmsユーザーがそのディレクトリ内で読み取り、書き込み、実行できることを許可します。 setfaclコマンドは、rrd(rrdグラフを保存するため)、logs(ログを保存するため)、キャッシュ(LibreNMSキャッシュを保存するため)、およびstorage(データディレクトリのため)のディレクトリ内にファイルアクセス制御リストを設定するために使用されます。

chown -R librenms:librenms /opt/librenms
chmod 771 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

以下のコマンドを使用して、ユーザー「librenms」にログインしてください。

su - librenms

最後に、PHPスクリプト「composer_wrapper.php」を使用して、LibreNMS監視のためのすべてのPHP依存関係をインストールします。

./scripts/composer_wrapper.php install --no-dev

以下は、LibreNMSのPHPパッケージ依存関係のインストール中のスクリーンショットです。

以下はLibreNMSのインストールが完了した時のスクリーンショットです。ご覧のように、インストーラーのスクリプトはPyPiリポジトリからいくつかの追加のPythonツールをインストールします。

PHPのタイムゾーンを設定する

このステップでは、php.ini 設定ファイルを編集して PHP のタイムゾーンを設定します。

nanoエディタを使用してphp.iniの設定を編集します。

sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.1/cli/php.ini

date.timezoneオプションのコメントを外し、以下のようにあなたのタイムゾーンを追加してください。この例では、タイムゾーンはEtc/UTCになります。

date.timezone = Etc/UTC

作業が完了したら、ファイルを保存して閉じてください。

次に、以下のtimedatectlコマンドを実行して、システムのタイムゾーンをEtc/UTCに設定します。

sudo timedatectl set-timezone Etc/UTC

最後に、php.ini 設定ファイルに新しい変更を適用するために、PHP-FPM サービスを再起動してください。

sudo systemctl restart php8.1-fpm

あなたは現在、PHPとUbuntuシステムのタイムゾーン設定を完了しました。

MariaDBサーバーの設定

LibreNMSモニタリングツールは、MariaDBサーバーに特定の設定を必要とします。このステップでは、MariaDBサーバーの設定を編集し、LibreNMS用の新しいデータベースとユーザーを作成します。

nanoエディタを使用してMariaDBサーバーの設定50-server.cnfを編集します。

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

"[mysqld]" セクションの下に、以下の設定を追加します。

[mysqld]
...
innodb_file_per_table=1
lower_case_table_names=0

作業が完了したら、ファイルを保存して閉じてください。

次に、以下のsystemctlコマンドを実行してMariaDBサービスを有効にし、再起動します。これにより、MariaDBサービスがシステム起動時に開始され、新しい変更がMariaDBサーバーの設定に適用されます。

sudo systemctl enable mariadb
sudo systemctl restart mariadb

MariaDBサーバーの設定が完了しました。

以下のmysqlコマンドを使用して、MariaDBシェルにログインしてください。

sudo mysql -u root -p

次のクエリを実行して、新しいデータベース librenms、ユーザー librenms を作成し、パスワードは「password」です。

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;

最後に、exit と入力してMariaDBシェルからログアウトします。次に、LibreNMSモニタリングツールのためにデータベースとユーザーを作成する必要があります。

LibreNMSのためのPHP-FPMプールの設定

MariaDBサーバーの設定が完了したら、LibreNMS用のPHP-FPMプールを設定します。PHP-FPMを使用すると、各アプリケーションに対して複数のプロセスプールを作成できます。これにより、特定のアプリケーション、ここではLibreNMS監視ツールのためのプールを指定できます。

PHP-FPMプールの設定は、デフォルトのプール設定www.confを含む/etc/php/8.1/fpm/pool.dディレクトリで利用可能です。

次に、以下のコマンドを実行して、デフォルトのプール設定を www.conf から librenms.conf にコピーしてください。

sudo cp /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/librenms.conf

nanoエディタを使用してプール構成librenms.confを編集します。

sudo nano /etc/php/8.1/fpm/pool.d/librenms.conf

デフォルトプール名を「[www]」から「[librenms]」に変更してください。

[librenms]

デフォルトのユーザーとグループを「librenms」に変更します。

user = librenms
group = librenms

今、PHP-FPMのリスンソケットを/run/php-fpm-librenms.sockに変更します。

listen = /run/php-fpm-librenms.sock

作業が完了したら、ファイルを保存して閉じてください。

次に、以下のコマンドを実行してPHP-FPMサービスを再起動し、プール設定の新しい変更を適用します。

sudo systemctl restart php8.1-fpm

最後に、システム上のすべての利用可能なソックファイルを確認すると、PHP-FPMプールlibrenmsに属するソックファイル/run/php-fpm-librenms.sockを見ることができます。

次のコマンドを使用してソケットファイルを確認できます。

ss -pln

LibreNMSのためのNginxサーバーブロックの設定

あなたは、LibreNMS用のMariaDBサーバーとPHP-FPMの設定を完了しました。これから、LibreNMS監視ツールのためにNginxサーバーブロックを設定します。

nanoエディタを使用して新しいNginxサーバーブロックlibrenms.confを作成します。

sudo nano /etc/nginx/sites-available/librenms.conf

以下の設定をコピーしてファイルに貼り付けてください。また、デフォルトのドメイン名 librenms.howtoforge.local をあなたのドメインに変更してください。

server {
 listen      80;
 server_name librenms.howtoforge.local;
 root        /opt/librenms/html;
 index       index.php;
 charset utf-8;
 gzip on;
 gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
 location / {
  try_files $uri $uri/ /index.php?$query_string;
 }
 location ~ [^/]\.php(/|$) {
  fastcgi_pass unix:/run/php-fpm-librenms.sock;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  include fastcgi.conf;
 }
 location ~ /\.(?!well-known).* {
  deny all;
 }
}

作業が完了したら、ファイルを保存して閉じてください。

次に、サーバーブロックの設定 librenms.confを有効にし、次のコマンドを使用してNginxの設定を確認します。

sudo ln -s /etc/nginx/sites-available/librenms.conf /etc/nginx/sites-enabled/
sudo nginx -t

もし出力が test-successful のようになれば、あなたの設定は正しいです。

最後に、新しいサーバーブロックの設定librenms.confを適用するために、nginxサービスを再起動することができます。

sudo systemctl restart nginx

この時点で、あなたのLibreNMSインストールはドメイン名librenms.howtoforge.localを通じてアクセス可能です。

LibreNMSの追加設定

LibreNMSのインストールを開始する前に、Ubuntuシステムの追加設定が必要です。この設定はすべてLibreNMSに必要です。

まず、LibreNMSのバイナリファイルのシンボリックリンク(シンリンク)を/usr/binディレクトリに作成する必要があります。これにより、ユーザーはシェルからlnmsコマンドを実行できるようになります。

sudo ln -s /opt/librenms/lnms /usr/bin/lnms

/etc/bash_completion.d/ ディレクトリにlnmsコマンドの補完をコピーします。

sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

次に、LibreNMS監視ツールのためにSNMPサービスを設定する必要があります。SNMPサービスは、サーバーやデバイスを追加して監視するために使用できます。

LibreNMSが提供するSNMPサービスのサンプル設定を/etc/snmp/snmp.confにコピーします。そして、nanoエディタを使用して設定を編集します。

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo nano /etc/snmp/snmpd.conf

SNMPサービスのデフォルトコミュニティパスワード「RANDOMSTRINGGOESHERE」をあなたの強力なパスワードに変更してください。

com2sec readonly default RANDOMSTRINGGOESHERE

作業が完了したら、ファイルを保存して閉じてください。

次に、以下のコマンドを実行して、Linuxディストリビューションを確認するためのLibreNMSエージェントのバイナリスクリプトを/usr/bin/ディレクトリにダウンロードし、実行可能にします。

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro

現在、snmpdサービスを有効にし、新しい設定を適用するためにサービスを再起動します。

systemctl enable snmpd
systemctl restart snmpd

LibreNMSのSNMP設定が完了しました。

最後に、LibreNMS用のcronスクリプトとlogrotate設定を実行するために、以下のコマンドを実行してください。

cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

これで、ウェブブラウザーからLibreNMSのインストールを開始できます。

LibreNMSのウェブインストーラーを開始

ウェブブラウザを開いて、LibreNMSのインストールドメイン名(例えばhttp://librenms.howtoforge.local)にアクセスしてください。そうすれば、以下のLibreNMSインストールページが表示されるはずです。

まず、プリインストールチェックページが表示されます。すべての要件が緑色のステータスでチェックされていることを確認してください。これは、LibreNMSのインストールに必要なすべての要件を満たしていることを意味します。

続けるには上のデータベースアイコンをクリックしてください。

LibreNMS インストール用の MariaDB データベースの詳細を入力し、資格情報を確認 ボタンをクリックしてください。

データベースを構築 ボタンをクリックして、データベースの設定を開始してください。これにより、LibreNMSに必要なすべてのテーブルがインポートされます。すべてのプロセスが完了すると、「データベースのシーディングが成功裡に完了しました」というメッセージが表示されます。

今、上部の鍵のアイコンをクリックして、LibreNMSユーザーの設定を開始します。

LibreNMSのインストールのために管理者ユーザーの詳細を入力し、ユーザーを追加をクリックします。

インストールが完了すると、次のページが表示されます。.env ファイルと config.php ファイルは、新しい設定で書き込まれました。

また、"インストールを検証する"というリンクをクリックしてLibreNMSのインストールを検証する必要があります。

今、LibreNMSのログインページにリダイレクトされます。管理者ユーザー名とパスワードを入力し、ログインをクリックしてください。

ログインすると、次のLibreNMS検証ページが表示されます。LibreNMSのすべてのステータスが緑色でOKであることを確認してください。これは、LibreNMSのすべての設定が正しいことを意味します。

さあ、LibreNMSモニタリングツールにホストマシンやハードウェアを追加する準備ができました。

結論

おめでとうございます!あなたは、最新のPHP 8、MariaDBサーバー、およびNginxウェブサーバーを使って、最新のUbuntu 22.04にLibreNMS監視ツールをインストールする方法を学びました。また、インストールを完了するためにLibreNMSを設定する方法も学びました。

関連記事: