Linux での Collectd-web および Apache CGI を使用したサーバー リソースの監視
このチュートリアルでは、Collectd デーモンのフロントエンド Web 監視ツールである Collectd-web インターフェイスをApache CGI と組み合わせてインストールして実行する方法について説明します。 Linux ボックスを監視するためにグラフィカル HTML 出力を生成するインターフェイス。
この記事の最後では、.hpasswd Apache 認証メカニズムを使用して Collectd-web インターフェイスを保護する方法についても説明します。
要件
この記事の要件は、Linux システムにCollectd と Collectd-Web がインストールされている必要があることです。これらのパッケージをインストールするには、このシリーズの前の記事の手順 #1 と #2 に従う必要があります。
- Linux に Collectd と Collectd-Web をインストールする
上記のリンクから次の 2 つの手順に従ってください。
Step 1: Install Collectd Service
Step 2: Install Collectd-Web and Dependencies
これら 2 つの必要な作業が正常に完了したら、この記事の手順を続けて Apache CGI を使用してCollectd-web を構成できます。
ステップ 1: Apache Web サーバーのインストール
1. システムに Apache Web サーバーがすでにインストールされていると仮定します。インストールされていない場合は、Linux ディストリビューションに応じて次のコマンドを使用してインストールできます。
apt-get install apache2 [On Debian based Systems]
yum install httpd [On RedHat based Systems]
2. Apache をインストールした後、ディレクトリをデフォルトの Web サーバー ドキュメント ルート (/var/www/html/ または /var/www にあります) に変更します。システム パスを取得し、以下のコマンドを実行してCollectd-web Githubプロジェクトのクローンを作成します。
cd /var/www/html
git clone https://github.com/httpdss/collectd-web.git
また、次のコマンドを発行して、Collectd-web スクリプトを実行可能にします。
chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi
ステップ 2: デフォルト ホストの Apache CGI (.cgi スクリプト) を有効にする
3. デフォルトのホスト HTML Collectd-web cgi-bin ディレクトリにある CGI スクリプトを Apache で実行するには、Bash スクリプトの Apache CGI インターフェイスを明示的に有効にする必要があります (.cgi を使用) 拡張子) を変更するには、 サイト利用可能 のデフォルト ホストを変更し、以下のステートメント ブロックを追加します。
Debian システムの場合
まず、Apache のデフォルトのホスト構成ファイルを開いて、nano エディタで編集します。
nano /etc/apache2/sites-available/000-default.conf
ファイルを編集のために開いているときに、次の図に示すように、ドキュメント ルート ディレクティブの下に次のディレクティブ ブロックを追加します。
<Directory /var/www/html/collectd-web/cgi-bin>
Options Indexes ExecCGI
AllowOverride All
AddHandler cgi-script .cgi
Require all granted
</Directory>
ファイルの編集が完了したら、CTRL + o でファイルを閉じ、nano エディター(CTRL+x) を終了してから、Apache CGI モジュールを有効にしてサーバーを再起動します。以下のコマンドを発行して、これまでに加えたすべての変更を適用します。
a2enmod cgi cgid
service apache2 restart
OR
systemctl restart apache2.service [For systemd init scripts]
RedHat システムの場合
4. CentOS/RHEL の Apache CGI インターフェイスを有効にするには、httpd.conf Apache 構成ファイルを開き、ファイルの最後に次の行を追加します。
nano /etc/httpd/conf/httpd.conf
次の抜粋を httpd.conf ファイルに追加します。
ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin"
Options FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .pl
変更を適用するには、次のコマンドを発行して httpd デーモンを再起動します。
service httpd restart
OR
systemctl restart httpd [For systemd init scripts]
ステップ 3: Collectd-Web インターフェイスを参照する
5. Collectd-web インターフェイスにアクセスし、これまでに収集されたマシンに関する統計を視覚化するには、ブラウザを開いてマシンの IP アドレス/collectd- に移動します。 web/HTTP プロトコルを使用した URI の場所。
http://192.168.1.211/collect-web/
ステップ 4: Apache 認証を使用して Collectd-web URL をパスワード保護する
6. Apache 認証メカニズム (.htpasswd) を使用して保護することで、Collectd-web インターフェイスへのアクセスを制限したい場合。これには訪問者が必要です。 Web リソースにアクセスするためにユーザー名とパスワードを入力します。
これを行うには、apache2-utils パッケージをインストールし、ローカル認証用の資格情報のセットを作成する必要があります。この目標を達成するには、まず次のコマンドを発行してapache2-utils パッケージをインストールします。
apt-get install apache2-utils [On Debian based Systems]
yum install httpd-tools [On RedHat based Systems]
7. 次に、ユーザー名とパスワードを生成します。これらのファイルは、Apache のデフォルト ホストである Collectd-web の下にある非表示のローカル .htpass ファイルに保存されます。以下のコマンドを発行してパスを指定します。
htpasswd -c /var/www/html/collectd-web/.htpass your_username
次のアクセス許可を割り当てて、このファイルを保護してみます。
chmod 700 /var/www/html/collectd-web/.htpass
chown www-data /var/www/html/collectd-web/.htpass
8. 次のステップでは、.htpass ファイルを生成した後、Apache のデフォルト ホストを編集用に開き、基本的な htpasswd を使用するようにサーバーに指示します。以下のスクリーンショットに示すように、次のディレクティブ ブロックを追加してサーバー側認証を行います。
<Directory /var/www/html/collectd-web >
AuthType Basic
AuthName "Collectd Restricted Page"
AuthBasicProvider file
AuthUserFile /var/www/html/collectd-web/.htpass
Require valid-user
</Directory>
9. 変更を反映するための最後のステップは、以下のコマンドを発行して Apache サーバーを再起動し、Coolectd-web URL ページにアクセスします。上で説明した。
認証資格情報を要求するポップアップが Web ページに表示されます。前に作成したユーザー名とパスワードを使用して、Collectd Web インターフェイスにアクセスします。
service apache2 restart [On Debian based Systems]
service httpd restart [On RedHat based Systems]
OR
---------------- For systemd init scripts ----------------
systemctl restart apache2.service
systemctl restart http.service