GNU/Linux >> Linux の 問題 >  >> Cent OS

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

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

このチュートリアルでは、WebサーバーとしてNginxを使用し、データベースとしてMariaDBを使用してLibreNMSをインストールおよび構成する方法を示します。メインサーバーとしてCentOS7サーバーを使用します。

何をするか
  1. 必要なパッケージをインストールする
  2. NginxWebサーバーをインストールする
  3. PHP-FPMのインストールと構成
  4. MariaDBをインストールして構成する
  5. LibreNMSをダウンロードして構成します
  6. LibreNMSWebベースのインストール
  7. 最終構成
前提条件
  • CentOS7サーバー
  • root権限
ステップ1-必要なパッケージをインストールする

サーバーにLibreNMSをインストールする前に、 ImageMagickを含むいくつかのパッケージをインストールする必要があります。 、 rrdtool SNMP git 、 もっと。次のコマンドは必要なことを実行する必要があります:

yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

すべてがうまくいったら、次のステップに進みます。

ステップ2-NginxWebサーバーをインストールします

このステップでは、 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リポジトリからシステムにインストールされています。

ステップ3-PHP-FPMをインストールして構成します

先に進む前に、共有する価値のある情報をいくつか示します。

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'ファイルの結果があることを確認してください。

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

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

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

このステップでは、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サービスがリストに含まれていることを確認してください。

ステップ6-LibreNMSWebベースのインストール

Webブラウザーを開き、アドレスバーにLibreNMSURLを入力します。

http://librenms.hakase-labs.me/

インストールページ「install.php」にリダイレクトされます。

-PHPモジュールのサポートを確認してください

必要なすべてのphpモジュールと拡張機能がシステムにインストールされていることを確認してください。

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

-データベース構成

以下にデータベースの詳細を入力します:

  1. DBユーザー:' librenms '
  2. DB名:' librenms '
  3. DBパス:' hakase-labs123 '

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

-MySQLデータベースをインポートする

データベースのインポートが表示されるため、インストールページを閉じないでください。エラーがないことを確認してください。

プロセスが完了したら、[ユーザーの追加に移動]をクリックして新しい管理者ユーザーを追加します。

-管理者ユーザーの追加

管理者ユーザー、メールアドレス、パスワードを入力してください。

[ユーザーの追加]をクリックして、インストールを続行します。

-構成ファイルを生成します

[構成の生成]ボタンをクリックすると、次のようなページが表示されます。

ボックスにあるphpコードをコピーし、「/ opt /librenms/」ディレクトリに新しい「config.php」ファイルを作成します。

cd /opt/librenms/
vim config.php

コピーしたコードを新しいファイルに貼り付けてから、保存してエディターを終了します。次に、config.phpファイルの所有権を「librenms」ユーザーとグループに変更します。

chown librenms:librenms config.php

ブラウザに戻り、ページの下部にある[インストールの完了]ボタンをクリックします。次のようなウェルカムメッセージが表示されます。

この段階で、Webベースのインストールは完了です。ターミナル/シェルに戻り、構成を追加します。

ステップ7-最終構成

このステップでは、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のインストールが完了しました。


Cent OS
  1. CentOS7にNginxを使用してWordPressをインストールする方法

  2. CentOS 7 /RHEL7にNginxを使用してphpMyAdminをインストールする方法

  3. CentOS7にSitemagicCMSをインストールする方法–Nginxを使用

  1. CentOS7にNginxを使用してphpMyAdminをインストールする方法

  2. CentOS 8 /RHEL8にCacti監視ツールをインストールする方法

  3. CentOS8にZabbixモニタリングツールをインストールする方法

  1. CentOS7にNginxを使用してSuiteCRMをインストールする方法

  2. CentOS7にNginxでMediaWikiをインストールする方法

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