このチュートリアルでは、Collectd-web インターフェースをインストールして実行する方法について説明します。これは、Collectd デーモンのフロントエンド Web モニタリングツールであり、Apache CGI インターフェースと組み合わせて、Linux ボックスを監視するためのグラフィカルな HTML 出力を生成します。

記事の最後では、.hpasswd Apache 認証メカニズムを使用して Collectd-web インターフェースを保護する方法も紹介します。
要件
この記事の要件は、お使いの Linux システムに Collectd と Collectd-Web がインストールされている必要があります。これらのパッケージをインストールするには、前回のこのシリーズの記事の手順 #1 と #2 を以下のリンクで参照してください:
上記リンクから以下の二つの手順に従ってください:
Step 1: Install Collectd Service Step 2: Install Collectd-Web and Dependencies
これらの二つの必須事項が正常に完了したら、この記事のさらなる手順に従って Collectd-web を Apache CGI と構成できます。
Step 1: Apache Web サーバーのインストール
1. システムに Apache web サーバーがすでにインストールされていると仮定します。そうでない場合は、次のコマンドを使用してお使いの Linux ディストリビューションに応じてインストールできます。
# apt-get install apache2 [On Debian based Systems] # yum install httpd [On RedHat based Systems]
2. Apacheをインストールした後、デフォルトのウェブサーバードキュメントルートにディレクトリを変更します(/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スクリプトを実行するために、Bashスクリプト(.cgi拡張子)のApache CGIインターフェイスを明示的に有効にするには、sites-availableデフォルトホストを変更し、以下のステートメントブロックを追加する必要があります。
Debianシステムでは
まず、nanoエディタでApacheデフォルトホスト設定ファイルを編集します:
# nano /etc/apache2/sites-available/000-default.conf
ファイルを編集すると、以下のディレクティブブロックをDocument Rootディレクティブの下に追加します。下の画像に示すように:
<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/ URI に HTTP プロトコルを使用して移動してください。
http://192.168.1.211/collect-web/

ステップ 4: Apache 認証を使用して Collectd-web URL をパスワードで保護する
6. Collectd-web インターフェイスへのアクセスを制限し、Apache 認証メカニズム (.htpasswd) を使用して保護する場合は、訪問者が 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サーバーを再起動し、上記のようにCoollectd-webURLページを訪問することです。
A pop-up should appear on the web page requesting for your authentication credentials. Use the username and password created earlier to access Collectd web interface.
# 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


Source:
https://www.tecmint.com/monitor-linux-server-resources-with-collectd-web-and-apache-cgi/