Ubuntu 20.04のNginxでLibreNMS監視ツールをセットアップする方法

LibreNMSは、Linuxオペレーティングシステム用の無料のオープンソースネットワーク監視ツールです。 Linux、Windows、FreeBSDなどのさまざまなオペレーティングシステムや、Cisco、Juniper、Foundry、FreeBSD、BrocadeなどのいくつかのネットワークデバイスをLibreNMSで監視できます。 SNMP、ARP、CDP、FDP、LLDP、OSPF、BGPプロトコルを使用して、ネットワーク全体を自動検出します。シンプルでユーザーフレンドリーなWebインターフェイスがあり、Webブラウザーからすべてのデバイスを監視できます。自動検出、カスタマイズ可能なアラート、APIアクセス、自動更新など、豊富な機能を備えています。

このチュートリアルでは、Ubuntu 20.04にLibreNMSをインストールする方法を段階的に説明します。

前提条件

  • Ubuntu 20.04を実行しているサーバー。
  • rootパスワードが設定されています。

入門

まず、システムパッケージを最新バージョンに更新することをお勧めします。次のコマンドで実行できます。

apt-get update -y

すべてのパッケージを更新した後、次のコマンドを使用して、LibreNMSに必要なすべての依存関係をインストールします。

apt-get install rrdtool whois fping imagemagick graphviz mtr-tiny nmap python3-mysqldb snmp snmpd python3-pip python3-memcache mtr-tiny acl unzip git curl wget -y

すべての依存関係がインストールされたら、次のステップに進むことができます。

LEMPサーバーのインストール

次に、サーバーにNginx Webサーバー、MariaDBサーバー、PHP、およびその他のPHP拡張機能をインストールする必要があります。次のコマンドを実行して、それらすべてをインストールできます。

apt-get install nginx mariadb-server php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-bcmath php-imap php-json php-xml php-snmp php-fpm php-zip -y

すべてのパッケージをインストールしたら、php.iniファイルでタイムゾーンを設定する必要があります。

まず、次のコマンドでシステムのタイムゾーンを見つけます。

cat /etc/timezone

次の出力が表示されます。

Etc/UTC

次に、両方のphp.iniファイルを次のコマンドで編集します。

nano /etc/php/7.4/fpm/php.ini
nano /etc/php/7.4/cli/php.ini

以下に示すように、システムのタイムゾーンを定義します。

date.timezone = Etc/UTC

終了したら、ファイルを保存して閉じます。次に、PHP-FPMサービスを再起動して変更を適用します。

systemctl restart php7.4-fpm

完了したら、次のステップに進むことができます。

MariaDBデータベースを構成する

次に、LibreNMSのデータベースとユーザーを作成する必要があります。

最初に、次のコマンドでMariaDBシェルにログインします。

mysql

ログインしたら、次のコマンドでデータベースとユーザーを作成します。

MariaDB [(none)]> create database librenmsdb CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> grant all privileges on librenmsdb.* to librenms@localhost IDENTIFIED by "password";

次に、特権をフラッシュし、次のコマンドでMariaDBシェルを終了します。

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

次に、MariaDB構成ファイルを編集して、必要な設定をいくつか追加します。

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

[mysqld]セクション内に次の行を追加します。

innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

ファイルを保存して閉じ、MariaDBサービスを再起動して変更を適用します。

systemctl restart mariadb

この時点で、MariaDBが構成されています。これで、次のステップに進むことができます。

LibreNMSのインストールと構成

まず、LibreNMSを実行するには、別のユーザーを作成する必要があります。次のコマンドで追加できます。

useradd -r -M -d /opt/librenms librenms

次に、次のコマンドを使用してlibrenmsユーザーをwww-dataグループに追加します。

usermod -a -G librenms www-data

次に、ディレクトリを/ optに変更し、次のコマンドを使用してLibreNMSの最新バージョンをダウンロードします。

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

次に、次のコマンドでLibreNMSのログファイルを作成します。 広告

touch /opt/librenms/logs/librenms.log

次に、次のコマンドでSNMPサンプル構成ファイルをコピーします。

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

次に、snmpd.confファイルを編集します。

nano /etc/snmp/snmpd.conf

次の行を見つけます。

com2sec readonly  default RANDOMSTRINGGOESHERE

そして、次の行に置き換えます。

com2sec readonly  default mysnmpserverkey

ファイルを保存して閉じ、SNMPディストリビューションバイナリをダウンロードして、目的の場所にコピーします。

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

次に、SNMPサービスを再起動して変更を適用します。

systemctl restart snmpd

次に、LibreNMS cronとlogrotateファイルを目的の場所にコピーする必要もあります。次のコマンドでそれらをコピーできます。

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

次に、ディレクトリをlibrenmsに変更し、次のコマンドを使用して必要な依存関係をインストールします。

cd /opt/librenms 
 ./scripts/composer_wrapper.php install --no-dev

すべての依存関係がインストールされたら、次のコマンドを使用してlibrenmsディレクトリの所有権を変更し、必要な権限を付与します。

chown -R www-data:librenms /opt/librenms 
 chmod -R 775 /opt/librenms 
 setfacl -d -mg::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/ 
 setfacl -R -mg::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

完了したら、次のステップに進むことができます。 広告

LibreNMS用にNginxを構成する

次に、LibreNMS用のNginx仮想ホスト構成ファイルを作成する必要があります。次のコマンドで作成できます。

nano /etc/nginx/conf.d/librenms.conf

次の行を追加します。

server {
 listen      80;
 server_name librenms.example.com;
 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 /api/v0 {
  try_files $uri $uri/ /api_v0.php?$query_string;
 }
 location ~ \.php {
  include fastcgi.conf;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
 }
 location ~ /\.ht {
  deny all;
 }
}

ファイルを保存して閉じ、次のコマンドでNginxに構文エラーがないか確認します。

nginx -t

次の出力が表示されます。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

次に、Nginxサービスを再起動して変更を適用します。

systemctl restart nginx

次のコマンドを使用して、Nginxサービスのステータスを確認することもできます。

systemctl status nginx

次の出力が表示されます。

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 06:15:20 UTC; 4min 5s ago
       Docs: man:nginx(8)
    Process: 28239 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 28250 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 28253 (nginx)
      Tasks: 3 (limit: 2353)
     Memory: 3.4M
     CGroup: /system.slice/nginx.service
             ??28253 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??28254 nginx: worker process
             ??28255 nginx: worker process

Sep 05 06:15:20 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Sep 05 06:15:20 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

完了したら、次のステップに進むことができます。

LibreNMS Webインターフェイスへのアクセス

次に、Webブラウザーを開き、URL http://librenms.example.comを使用してLibreNMSにアクセスします。プレインストールチェックページにリダイレクトされます。

必要な拡張機能がすべてインストールされていることを確認してから、 データベース設定をクリックします。次のページが表示されます。

データベースのユーザー名、データベース名、パスワードを入力し、[ 資格情報確認 ]ボタンをクリックします。成功すると、次のページが表示されます。

次に、[ データベース構築 ]ボタンをクリックします。次のページが表示されます。

次に、 管理者 ユーザー 作成ボタンをクリックします。次のページが表示されます。

管理者のユーザー名、電子メール、パスワードを入力し、[ ユーザー追加 ]ボタンをクリックします。次のページが表示されます。

次に、「 インストール完了」ボタンをクリックします。次のページが表示されます。

 

次に、「 インストールの検証 」をクリックします 。 LibreNMSログインページが表示されます。

LibreNMS管理者のユーザー名とパスワードを入力し、[ ログイン ]ボタンをクリックします。 LibreNMSダッシュボードが表示されます。

結論

おめでとう! Ubuntu 20.04サーバーにLibreNMSネットワーク監視ツールを正常にインストールして構成しました。これで、デバイスまたはホストを追加して、LibreNMSダッシュボードから監視を開始できます。ご不明な点がございましたら、お気軽にお問い合わせください。

Source