LibreNMSは、PHP / MYSQL/SNMPに基づくオープンソースの監視ツールです。これは、FreeBSD、Cisco、Linux、HPなどの幅広いネットワークハードウェアおよびオペレーティングシステムをサポートする、機能を備えたネットワーク監視システムです。
このチュートリアルでは、Nginxをウェブサーバー、MariaDBをデータベース、Ubuntu 16.04サーバーをメインサーバーとして使用して、オープンソースの監視ツール「LibreNMS」をインストールして構成する方法を説明します。 Ubuntu 16.04XenialXerusサーバーに「LibreNMS」をインストールして構成する方法を段階的に説明します。
私たちが行うこと
- パッケージのインストール
- NginxWebサーバーをインストールする
- PHP-FPMのインストールと構成
- MariaDBのインストールと構成
- LibreNMSをダウンロードして構成する
- LibreNMSWebインストーラー
- 最終構成
前提条件
- Ubuntu16.04サーバー
- ルート権限
LibreNMSモニタリングツールをインストールするために必要な最初のステップは、サーバーに必要ないくつかのパッケージをインストールすることです。サーバーに接続してリポジトリを更新します。
ssh [email protected]
sudo apt update
次のコマンドを使用して、UbuntuリポジトリからLibreNMSに必要なすべてのパッケージをインストールします。
apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git snmp graphviz
インストールが完了したら、次の手順に進みます。
このチュートリアルでは、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のインストールが完了しました。
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
このステップでは、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データベースの構成が完了しました。
このステップでは、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
ファイアウォールのステータス(アクティブまたは非アクティブ)と、ファイアウォールに追加されたポートとサービスのリストが表示されます。
上記のすべての手順が完了したら、ウェブブラウザから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インストーラーから最後のページに移動します。以下を参照してください。
ウェブブラウザからのインストールが完了したら、他の手順を実行する必要があります。
-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のインストールが完了しました。