GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04LTSでNginxを使用してLibreNMS監視ツールをセットアップする方法

LibreNMSは、PHP / MYSQL/SNMPに基づくオープンソースの監視ツールです。これは、FreeBSD、Cisco、Linux、HPなどの幅広いネットワークハードウェアおよびオペレーティングシステムをサポートする、機能を備えたネットワーク監視システムです。

このチュートリアルでは、Nginxをウェブサーバー、MariaDBをデータベース、Ubuntu 16.04サーバーをメインサーバーとして使用して、オープンソースの監視ツール「LibreNMS」をインストールして構成する方法を説明します。 Ubuntu 16.04XenialXerusサーバーに「LibreNMS」をインストールして構成する方法を段階的に説明します。

私たちが行うこと

  1. パッケージのインストール
  2. NginxWebサーバーをインストールする
  3. PHP-FPMのインストールと構成
  4. MariaDBのインストールと構成
  5. LibreNMSをダウンロードして構成する
  6. LibreNMSWebインストーラー
  7. 最終構成

前提条件

  • Ubuntu16.04サーバー
  • ルート権限
ステップ1-パッケージをインストールする

LibreNMSモニタリングツールをインストールするために必要な最初のステップは、サーバーに必要ないくつかのパッケージをインストールすることです。サーバーに接続してリポジトリを更新します。

ssh [email protected]
sudo apt update

次のコマンドを使用して、UbuntuリポジトリからLibreNMSに必要なすべてのパッケージをインストールします。

apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd  rrdtool git snmp graphviz

インストールが完了したら、次の手順に進みます。

ステップ2-Nginxウェブサーバーをインストールする

このチュートリアルでは、NginxWebサーバーでLibreNMSを実行します。 Nginxは、Ubuntuリポジトリで利用できる強力なウェブサーバーです。

次の方法で、リポジトリからaptコマンドを使用してnginxをインストールします。

apt install nginx

完了したら、サービスを開始し、システムの起動時に毎回自動的に実行できるようにします。

systemctl start nginx
systemctl enable nginx

Nginx Webサーバーはデフォルトのポート80で実行されています。以下に示すように、netstatコマンドを使用してポートを確認し、curlコマンドを使用してNginxを確認してHTTPステータスコードを取得できます。

netstat -plntu | grep 80
curl -I localhost

Nginxのインストールが完了しました。

ステップ3-PHP-FPMのインストールと構成

LibreNMSは、PHPベースのWebアプリケーション監視ツールです。新しいPHPバージョン7.0のサポートを提供しており、このガイドで使用します。

以下のaptコマンドを使用して、PHP、PHP-FPM、およびLibreNMSのインストールに必要なすべての拡張機能/モジュールをインストールします。

apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6

次に、php.iniファイルにいくつかの構成を追加する必要があります。 php.iniファイルでデフォルトのタイムゾーンを定義し、そのタイムゾーンがシステムで使用されている現在のタイムゾーンと一致していることを確認する必要があります。

次のコマンドを使用して、システムが現在使用しているタイムゾーンを確認します。

timedatectl

次のような結果が得られるはずです。

サーバーが「ヨーロッパ/パリ」を使用していることがわかります 'タイムゾーン。

次に、PHP構成ディレクトリに移動し、cliおよびfpm構成のphp.iniファイルを編集します。

cd /etc/php/7.0/
vim fpm/php.ini
vim cli/php.ini

' date.timeのコメントを解除します '行を入力し、システムのタイムゾーンで値を変更します'ヨーロッパ/パリ '。

date.time = Europe/Paris

以下のcgi構成のコメントを解除し、値を0に変更します。

cgi.fix_pathinfo = 0

保存して終了します。

すべての構成が完了しました。次に、サービスを開始し、次のsystemctlコマンドを使用して、システムの起動時に毎回起動できるようにします。

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPMはubuntuサーバーで実行されています-sockファイルで実行されています。 netstatコマンドで確認してください。

netstat -pl | grep php

ステップ4-MariaDBをインストールして構成する

このステップでは、LibreNMSデータベース用のmariadb-serverをインストールします。 LibreNMSインストール用の新しいデータベースと新しいユーザーをインストール、構成、作成します。

以下のaptコマンドを使用して、ubuntuリポジトリからmariadb-serverをインストールします。

apt install mariadb-server mariadb-client mariadb

完了したら、サービスを開始し、システムの起動時に自動的に実行できるようにします。これは、次のsystemctlコマンドを使用して実行できます。

systemctl start mysql
systemctl enable mysql

データベースサーバーmariadbが実行されています。次に、mariadbのrootパスワードを設定する必要があります。以下の「mysql_secure_installation」コマンドを使用して、rootパスワードを構成できます。

mysql_secure_installation

新しいルートパスワードについて尋ねられます。パスワードを入力し、「Enter」を押して続行します。

Set root password? [Y/n] Y
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のrootパスワードが設定されました。

次に、LibreNMSの新しいデータベースとユーザーを作成する必要があります。 'librenms'という名前の新しいデータベース、パスワード'hakase-labs123'を持つ'librenms'という名前の新しいユーザーを作成します。

次のコマンドを使用して、mariadbシェルにログインします。

mysql -u root -p
Type the ROOT Password:

以下のmariadbクエリを実行して、新しいデータベースとユーザーを作成し、データベースに対するすべての権限を新しいユーザーに付与します。

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;

LibreNMSの新しいデータベースとユーザーが作成されました。

LibreNMSをインストールするには、構成ファイルにいくつかの構成を追加する必要があります。 '/ etc / mysql /'ディレクトリに移動し、mariadb構成ファイルを編集します。

cd /etc/mysql/
vim mariadb.conf.d/50-server.cnf

以下の構成を「[mysqld]」の下に貼り付けます 'セクション。

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

保存して終了します。

次に、サービスを再起動して新しい構成を適用します。

systemctl restart mysql

mariadbデータベースの構成が完了しました。

ステップ5-LibreNMSをダウンロードして構成する

このステップでは、LibreNMSをインストールするためにシステムを構成します。

-新しいユーザーを追加してLibreNMSをダウンロード

'librenms'という名前の新しいシステムユーザーを作成し、'/ opt / librenms'をユーザーのデフォルトのホームディレクトリとして定義し、新しい'librenms'ユーザーをwww-dataグループに割り当てます。

次のコマンドを実行してすべてを実行します。

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data

次に、「/ opt /」ディレクトリに移動し、gitコマンドを使用してLibreNMSソースコードをダウンロードします。

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

次に、libreNMSログファイルとrrdファイル用の新しいディレクトリを作成します。

mkdir -p /opt/librenms/{logs,rrd}

'rrd'ディレクトリの所有権を'775'に変更し、'librenms'ディレクトリの所有者を'librenms'ユーザーとグループに変更します。

chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/

新しい「librenms」が作成され、LibreNMSソースコードがダウンロードされました。

-LibreNMS仮想ホストを構成する

「nginx」構成ディレクトリに移動し、vimを使用して新しい仮想ホストファイル「librenms」を作成します

cd /etc/nginx/
vim sites-available/librenms

次のLibreNMS仮想ホスト構成をそこに貼り付けます。

server {

    # Add your own domain name
    listen      80;
    server_name librenms.irsyadf.me;

    # LibreNMS Webroot directory
    root        /opt/librenms/html;
    index       index.php;

    # LibreNMS logs
    access_log  /opt/librenms/logs/access_log;
    error_log   /opt/librenms/logs/error_log;
   
    # Enabling Gzip compression on Nginx
    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;
    }

    # PHP-FPM handle all .php files requests
    location ~ \.php {
        include fastcgi.conf;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
 
    location ~ /\.ht {
        deny all;
    }
}

保存して終了。次に、仮想ホストをアクティブ化します。

ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/

nginx構成をテストし、エラーがないことを確認します。次に、サービスを再起動します。

nginx -t
systemctl restart nginx

-UFWファイアウォールを構成する

ファイアウォールに新しいポートを追加します。新しいssh、http、https、およびsnmpd161udpタイプで使用されるポートをufwファイアウォールに追加します。

次のufwコマンドを実行します。

ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp

以下に示すように、ufwenableコマンドを使用してufwファイアウォールを起動します。

ufw enable

「y」と入力し、「Enter」を押して確認します。起動して、システムの起動時に毎回起動できるようにします。

ファイアウォールのステータスを確認したい場合は、「ufwstatus」コマンドを実行してください。

ufw status

ファイアウォールのステータス(アクティブまたは非アクティブ)と、ファイアウォールに追加されたポートとサービスのリストが表示されます。

ステップ6-LibreNMSWebインストーラー

上記のすべての手順が完了したら、ウェブブラウザからLibreNMSをインストールする必要があります。ウェブブラウザを開き、アドレスバーにLibreNMSドメイン名「librenms.hakase-labs.co」を入力してEnterキーを押します。

-PHPモジュールのチェック

PHPモジュールのサポートチェックの結果を示すinstall.phpページにリダイレクトされます。以下に示すように、すべてのステータスが緑色であることを確認してください。

[次のステージ]をクリックします '続行します。

-データベース構成

すべてのデータベース情報を独自のデータベースに入力します。

  • DBユーザー:librenms
  • DBパス:hakase-labs123
  • DB名:librenms

そして、[次のステージ]をクリックします '。

-MySQLデータベースのインポート

インストーラスクリプトがデータベースのサンプルをデータベースにインポートするのを待ちます。このプロセス中はブラウザタブを閉じないでください。

すべてのデータベースがインポートされたら、[ユーザーの追加に移動]をクリックします '。

-管理者ユーザーを追加

ここに、管理者ユーザー、メールアドレス、パスワードを入力します。

[ユーザーの追加]をクリックします '。

-LibreNMS構成を生成します

'構成の生成をクリックします 'ボタン。

そして、以下に示すような構成ファイルを取得します。

php configスクリプトをコピーして、sshセッションに戻ります。 '/ opt / librenms'ディレクトリに移動し、vimを使用して'config.php'ファイルを手動で作成します。

cd /etc/librenms/
vim config.php

そこに構成を貼り付け、ファイルの所有権をlibrenmsユーザーとグループに変更します。

chown librenms:librenms config.php

Webブラウザーに戻り、「インストールの完了」をクリックします。 'ボタン。

これで、librenmsWebインストーラーから最後のページに移動します。以下を参照してください。

ステップ7-最終構成

ウェブブラウザからのインストールが完了したら、他の手順を実行する必要があります。

-SNMPを構成する

デフォルトの構成ファイルをバックアップし、サンプル構成を「/ etc /snmp/」ディレクトリにコピーします。

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

vimで新しい構成を編集します。

vim /etc/snmp/snmpd.conf

以下に示すように、「RANDOMSTRINGGOESHERE」行を独自のコミュニティ名「hakaselabs」に置き換えます。

com2sec readonly  default         hakaselabs

保存して終了します。

次に、distro検出スクリプトをダウンロードする必要があります。 curlを使用してダウンロードし、スクリプトを実行可能にして、最後にsnmpサービスを再起動します。

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

-CrontabとLogrotateの構成

librenmsディレクトリに移動し、CrontabとLogrotateのサンプル構成をコピーします。

cd /opt/librenms/

構成をコピーします。

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

次に、cronサービスを再起動し、logrotate構成をリロードします。

systemctl restart cron
logrotate -f /etc/logrotate.conf

-構成を検証する

cronスクリプトがシステムで実行されるまでしばらく待ちます。それが完了したら、「validate.php」スクリプトで検証します。

librenmsディレクトリに移動し、検証スクリプトを実行します。

cd /opt/librenms/
./validate.php

インストールが正しければ、次のような結果が得られます。

Ubuntu16.04でのNginxWebサーバーを使用したLibreNMSのインストールが完了しました。


Ubuntu
  1. Ubuntu18.04LTSにNginxを使用してNextcloudをインストールする方法

  2. Ubuntu18.04LTSにZabbixモニタリングツールをインストールする方法

  3. Ubuntu20.04LTSでNginxを使用してModsecurityをデプロイする方法

  1. Ubuntu20.04LTSにNginxを使用してSeafileをインストールする方法

  2. CentOS7にNginxを使用してLibreNMS監視ツールをインストールする方法

  3. Ubuntu18.04LTSにNginxを使用してSeafileをインストールする方法

  1. Ubuntu16.04LTSにLog.ioリアルタイムログ監視ツールをインストールする方法

  2. Ubuntu18.04LTSにGrafanaモニタリングツールをインストールする方法

  3. Ubuntu18.04LTSにNetdataMonitoringToolをインストールする方法