LibreNMSは、PHP / MYSQL/SNMPに基づくオープンソースの監視ツールです。これは、FreeBSD、Cisco、Linux、HPなどの幅広いネットワークハードウェアとオペレーティングシステムをサポートする、フル機能のネットワーク監視システムです。
このチュートリアルでは、WebサーバーとしてNginxを使用し、データベースとしてMariaDBを使用してLibreNMSをインストールおよび構成する方法を示します。メインサーバーとしてCentOS7サーバーを使用します。
- 必要なパッケージをインストールする
- NginxWebサーバーをインストールする
- PHP-FPMのインストールと構成
- MariaDBをインストールして構成する
- LibreNMSをダウンロードして構成します
- LibreNMSWebベースのインストール
- 最終構成
- CentOS7サーバー
- root権限
サーバーにLibreNMSをインストールする前に、 ImageMagickを含むいくつかのパッケージをインストールする必要があります。 、 rrdtool 、 SNMP 、 git 、 もっと。次のコマンドは必要なことを実行する必要があります:
yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git
すべてがうまくいったら、次のステップに進みます。
このステップでは、 epel-repositoryをインストールします nginxWebサーバーのインストール用。 EPEL(Enterprise Linux用の追加パッケージ)リポジトリは、CentOS7を含むrpmベースのOS用の追加リポジトリです。
yumを使用してEPELリポジトリをインストールします 以下のコマンド。
yum -y install epel-release
次にnginxをインストールします。
yum -y install nginx
nginxのインストール後、サービスを開始し、次の systemctl を使用して、起動時にサービスが自動的に実行されるようにします。 コマンド。
systemctl start nginx
systemctl enable nginx
そのため、NginxWebサーバーはEPELリポジトリからシステムにインストールされています。
先に進む前に、共有する価値のある情報をいくつか示します。
LibreNMSのインストールにはPHP-FPMバージョン7を使用します。 CentOS7のすべてのPHP7パッケージは、サードパーティのリポジトリで入手できます。「webtatic」リポジトリのPHP7バージョンを使用します。
それでは始めましょう。
次のrpmコマンドを使用して、PHP7webtaticリポジトリをシステムに追加します。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yumを使用してwetaticリポジトリからPHP7と必要なすべての拡張機能をインストールします。
yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt
次に、PEARリポジトリを更新し、 pear を使用していくつかのPEAR(PHP拡張機能とアプリケーションリポジトリ)拡張機能をインストールします。 コマンド。
pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2
したがって、この方法で、必要なすべてのPHPパッケージをインストールできます。
次に、LibreNMSインストール用にPHP-FPMを構成します。 php.iniファイルでデフォルトのタイムゾーンを定義し、そのタイムゾーンがシステムで使用されている現在のタイムゾーンと一致していることを確認する必要があります。次のコマンドを使用して、システムで使用されている現在のタイムゾーンを確認できます。
timedatectl
次のスクリーンショットは、上記のコマンドの動作を示しています。
そのため、「ヨーロッパ/パリ」を使用しています。 'タイムゾーン。
次に、vimを使用して「/etc/php.ini」ファイルを編集します。
vim /etc/php.ini
次に、「date.timezone」行のコメントを解除し、サーバーのタイムゾーン「Europe/Paris」で値を指定します。
data.timezone = Europe/Paris
同様に、cgi行のコメントを解除し、値を' 0に変更します。 '。
cgi.fix_pathinfo=0
それでおしまい。変更を保存して、エディターを終了します。
次に、PHP-FPMがシステムでどのように実行されているかを定義する必要があります。この場合、PHP-FPMはサーバーポートではなく「sock」ファイルで実行されます。
'www.conf'ファイルをvimで編集して、PHP-FPMを構成します。
vim /etc/php-fpm.d/www.conf
'listen'ポートラインを以下のようにsockファイルに変更します。
listen = /var/run/php-fpm/php7.0-fpm.sock
以下の構成として、所有者、グループ、およびsockファイルの権限の「listen」行のコメントを解除します。
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
それでおしまい。変更を保存して、エディターを終了します。
これで、PHP-FPMの構成が完了しました。次のコマンドを使用して、サービスを開始し、起動時にサービスが自動的に実行されるようにします。
systemctl start php-fpm
systemctl enable php-fpm
これで、PHP-FPMがsockファイルで実行されます。 netstatコマンドで確認できます。
netstat -pl | grep php
'/var/run/php-fpm/php7.0-fpm.sock'ファイルの結果があることを確認してください。
LibreNMSは、MySQLデータベースを使用してすべてのデータを保存しています。このガイドでは、MariaDBデータベースバージョンを使用します。リポジトリで利用可能であり、LibreNMSのデータベースとユーザーの追加など、LibreNMSインストールの構成をインストールして追加する必要があります。
以下のyumコマンドを使用してMariaDBをインストールします。
yum -y install mariadb mariadb-server
MariaDBサービスを開始し、起動時に自動的に開始できるようにします。
systemctl start mariadb
systemctl enable mariadb
次に、以下の「mysql_secure_installation」コマンドを使用してMariaDBルートパスワードを構成します。
mysql_secure_installation
他のいくつかの質問とともに、MariaDBデータベースの新しいルートパスワードについて尋ねられます。
「Y」と入力し、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がインストールされました。次に、LibreNMSの新しいデータベースと新しいユーザーを作成する必要があります。 mysqlクライアントと新しいパスワードを使用してmysqlシェルコマンドラインにログインします。
mysql -u root -p
' librenmsという名前の新しいデータベースを作成します '、新しいユーザー' librenms 'パスワード付き'hakase-labs123 '。
以下のMySQLクエリを使用してすべてを作成します。
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インストール用の新しいユーザーとデータベースが作成されました。
次に、my.cnfファイルを編集して新しいmysql構成を追加する必要があります。 vimを使用して「/etc/my.cnf」ファイルを編集します。
vim /etc/my.cnf
' [mysqld]の下に次の追加構成を貼り付けます 'セクション。
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
vimを保存して終了し、mariadbサーバーを再起動します。
systemctl restart mariadb
このステップでは、LibreNMSをインストールするためにシステムを構成します。
-ユーザーを追加し、LibreNMSソースコードをダウンロードします
「librenms」という名前の新しいシステムユーザーを作成し、「/ opt / librenms」ディレクトリでユーザーのホームディレクトリを定義し、最後に「librenms」ユーザーを「nginx」グループに追加します。
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginx
'/ opt /'ディレクトリに移動し、 git cloneを使用してLibreNMSソースコードをダウンロードします。 以下のコマンド。
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
LibreNMSログとrrdファイル用の新しいディレクトリを作成します。
mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/
次に、「/ opt/librenms」ディレクトリの下にあるすべてのファイルとディレクトリの所有権を「librenms」ユーザーとグループに変更します。
chown -R librenms:librenms /opt/librenms/
-LibreNMS仮想ホストを構成します
LibreNMSはWebベースのアプリケーションであり、NginxWebサーバーを使用してホストしています。
nginx'conf.d'ディレクトリの下に新しい仮想ホストファイル'librenms.conf'を作成します。
vim /etc/nginx/conf.d/librenms.conf
以下に構成を貼り付けます。
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:/var/run/php-fpm/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
それでおしまい。 Vimを保存して終了します。
nginx構成をテストし、エラーがないことを確認します。次に、Webサーバーを再起動します。
nginx -t
systemctl restart nginx
-ファイアウォールで保護された構成
firewalldを確認してください パッケージがシステムにインストールされます。そうでない場合は、次のyumコマンドを使用してfirewalldをインストールできます。
yum -y install firewalld
firewalldを開始します 次のsystemctlコマンドを使用して、起動時に実行できるようにします。
systemctl start firewalld
systemctl enable firewalld
以下に示すように、firewall-cmdコマンドを使用して、新しいHTTP、HTTPS、およびSNMPポート161/udpを開きます。
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp --permanent
Firewalldをリロードして設定を適用し、すべてのサービスを確認してください。
firewall-cmd --reload
firewall-cmd --list-all
HTTPおよびHTTPSサービスがリストに含まれていることを確認してください。
Webブラウザーを開き、アドレスバーにLibreNMSURLを入力します。
http://librenms.hakase-labs.me/
インストールページ「install.php」にリダイレクトされます。
-PHPモジュールのサポートを確認してください
必要なすべてのphpモジュールと拡張機能がシステムにインストールされていることを確認してください。
次に、[次のステージ]をクリックして続行します。
-データベース構成
以下にデータベースの詳細を入力します:
- DBユーザー:' librenms '
- DB名:' librenms '
- DBパス:' hakase-labs123 '
次に、[次のステージ]をクリックして続行します。
-MySQLデータベースをインポートする
データベースのインポートが表示されるため、インストールページを閉じないでください。エラーがないことを確認してください。
プロセスが完了したら、[ユーザーの追加に移動]をクリックして新しい管理者ユーザーを追加します。
-管理者ユーザーの追加
管理者ユーザー、メールアドレス、パスワードを入力してください。
[ユーザーの追加]をクリックして、インストールを続行します。
-構成ファイルを生成します
[構成の生成]ボタンをクリックすると、次のようなページが表示されます。
ボックスにあるphpコードをコピーし、「/ opt /librenms/」ディレクトリに新しい「config.php」ファイルを作成します。
cd /opt/librenms/
vim config.php
コピーしたコードを新しいファイルに貼り付けてから、保存してエディターを終了します。次に、config.phpファイルの所有権を「librenms」ユーザーとグループに変更します。
chown librenms:librenms config.php
ブラウザに戻り、ページの下部にある[インストールの完了]ボタンをクリックします。次のようなウェルカムメッセージが表示されます。
この段階で、Webベースのインストールは完了です。ターミナル/シェルに戻り、構成を追加します。
このステップでは、LibreNMSインストールの構成を追加します。
-fpingコマンドを定義する
LibreNMS構成ファイルを編集して、「fping」コマンドを定義します。 '/ opt / librenms /'ディレクトリに移動し、vimエディターを使用してconfig.phpファイルを編集します。
cd /opt/librenms/
vim config.php
ファイルの最後に次の行を追加します。
$config['fping'] = "/usr/sbin/fping";
保存してエディタを終了します。
-SNMP構成
'/ etc / snmp /'ディレクトリにデフォルトのsnmp.confファイルをバックアップし、librenmsディレクトリから新しいファイルをコピーします。
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
新しい構成を編集します。
vim /etc/snmp/snmpd.conf
テキスト「RANDOMSTRINGGOESHERE」を以下のように独自のコミュニティ名に変更します。
com2sec readonly default hakaselabs
それでおしまい。 Vimを保存して終了します。
次に、 librenms-agentをダウンロードします 追加したオペレーティングシステムを検出するためのスクリプト。 Linux OSを追加すると、スクリプトは特定のLinuxディストリビューションも検出します。
curlを使用してスクリプトをダウンロードし、実行可能にします。
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
次に、次のsystemctlコマンドを使用してSNMPサービスを再起動します。
systemctl restart snmpd
-LibreNMSのLogrotateを構成する
LibreNMSは、logrotate構成の構成を提供し、「/ opt / librenms/misc」ディレクトリにあります。
構成のサンプルを「/etc/logrotate.d」ディレクトリにコピーします。
cp misc/librenms.logrotate /etc/logrotate.d/librenms
-LibreNMScronジョブ構成
'opt / librenms'ディレクトリに移動し、crontabスクリプト'librenms.nonroot.cron'ファイルを'cron.d'ディレクトリにコピーします。
cd /opt/librenms/
cp librenms.nonroot.cron /etc/cron.d/librenms
スクリプトが自動的に実行されるまで数分待ちます。
-LibreNMS構成を検証する
インストールを確認するには、 validate.phpを使用します 脚本。 '/ opt / librenms /'ディレクトリに移動し、スクリプトを実行します。
cd /opt/librenms/
./validate.php
エラーが発生しなかったとすると、次のような出力が表示されます。
これで、CentOS7上のNginxWebサーバーでのLibreNMSのインストールが完了しました。