RHELシステムにCacti(ネットワークモニタリング)ツールをインストールする方法

Cactiツールは、ITビジネスにおけるネットワーク監視とシステムグラフ作成のためのオープンソースのウェブベースのソリューションです。Cactiを使用すると、定期的にサービスをポーリングして、RRDtoolを使用してグラフを作成できます。

通常、ネットワーク帯域利用率CPU負荷実行中のプロセスディスク容量などのメトリクスのための時系列データをグラフ化するために使用されます。

この操作手順では、Cactiという包括的なネットワーク監視アプリケーションを、RHELベースのディストリビューションCentOS StreamFedoraRockyAlma Linux)にNet-SNMPツールを使用してインストールおよび設定する方法を示します。

Cacti 必要なパッケージ

Cactiには、Linuxオペレーティングシステムに以下のパッケージをインストールする必要があります。

  • ApachePHPRRDToolによって作成されたネットワークグラフを表示するためのWebサーバー。
  • MySQL: Cacti情報を格納するためのデータベースサーバー。
  • PHPRRDToolを使用してグラフを作成するためのスクリプトモジュール。
  • PHP-SNMP: データにアクセスするためのSNMP用のPHP拡張機能。
  • NET-SNMP: ネットワークを管理するためにSNMP(Simple Network Management Protocol)を使用します。
  • RRDTool:CPU負荷、CPU loadネットワーク帯域幅などの時系列データを管理および取得するためのデータベースツールです。

デモンストレーションのために、Rocky Linux 9を使用してCactiツールをインストールしましたが、同じ手順はすべてのRHELベースのディストリビューションで機能します。

ステップ1:Linuxで必要なパッケージをインストール

まず、システムのパッケージリポジトリを更新して、利用可能なソフトウェアパッケージの最新バージョンを確認します。

sudo dnf update

次に、次のコマンドを使用して、Cactiとその依存関係に必要なパッケージをインストールします。

sudo dnf install net-snmp-utils net-snmp-libs rrdtool php-mysqlnd php-snmp php-xml php-gd mariadb-server httpd
Install Cacti Required Packages

ステップ2:LinuxでCactiツールをインストール

Cactiをインストールするには、システムでEPELリポジトリが有効になっていることを確認してください。

sudo yum install epel-release

EPELリポジトリが有効になっている場合は、次のコマンドを実行してCactiをインストールできます。

sudo yum install cacti
Install Cacti in Linux

ステップ3:MariaDBデータベースをセキュアにする

MySQLCactiに構成するには、まず新しくインストールしたMySQLサーバーをセキュアにし、次にユーザー「Cacti」でCactiデータベースを作成する必要があります。MySQLがすでにインストールされ、セキュアになっている場合は、これを再度行う必要はありません。

sudo mysql_secure_installation

プロンプトに従って、ルートパスワードを設定し、匿名ユーザーを削除し、リモートルートログインを許可せず、テストデータベースを削除します。

Secure MySQL Installation

ステップ4:Cactiデータベースを作成

MySQLサーバーに新しく作成したパスワードを使用してログインし、ユーザー「Cacti」でCactiデータベースを作成し、そのためにパスワードを設定します。

sudo mysql -u root -p
CREATE DATABASE cacti;
CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Create Cacti Database

次に、新しく作成したデータベースにデフォルトのCactiデータベーススキーマをインポートする必要がありますが、その前にrpmコマンドを使用してデータベースファイルのパスを見つけ、それを以下に示す方法でインポートする必要があります。

sudo rpm -ql cacti | grep cacti.sql
sudo mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql
Import Cacti Database

ステップ5:Cactiデータベース接続の構成

Cactiデータベース接続を構成するには、以下に示すように設定ファイルを開く必要があります。

sudo vi /etc/cacti/db.php

次の行をデータベース情報で更新します。

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'your_password';
Configure Cacti Database Settings

ステップ6:CactiのためのApacheの構成

選択したエディタを使用して、/etc/httpd/conf.d/cacti.confという名前のファイルを開きます。

sudo vi /etc/httpd/conf.d/cacti.conf

次の行をファイルに追加します。

Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
    Options +FollowSymLinks
    AllowOverride None
    <IfModule mod_authz_core.c>
        # Apache 2.4
        Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order Deny,Allow
        Deny from all
        Allow from all
    </IfModule>
</Directory>

ファイルを保存して閉じます。

最後に、変更を適用するためにApacheMariaDBサービスを再起動します。

sudo systemctl restart httpd
sudo systemctl restart mariadb

ステップ7:Cacti Cronジョブの構成

今、Cactiのポーリング間隔をスケジュールするためにcrontabファイルを開きます。

sudo vi /etc/cron.d/cacti

次の行からコメントを削除します。 poller.phpスクリプトは、既知のホストからデータを収集するために5分ごとに実行され、それをCactiはグラフを作成するために使用します。

*/5 * * * *    cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

ステップ8:Cacti Webインターフェースにアクセス

Cactiのウェブインターフェイスにアクセスするには、ファイアウォールでポート80を開く必要があります。そのポートへのインバウンドトラフィックを許可します。

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

これで、サーバーのIPアドレスまたはドメイン名を使用して、Cactiにウェブブラウザからアクセスできます。

http://your_server_ip/cacti
OR
http://domain.com/cacti

次に、画面の指示に従ってインストールプロセスを完了してください。

User: admin
Password: admin
Cacti User Login

次に、デフォルトのCactiパスワードを変更します。

Change Cacti Admin Password

Cactiライセンス契約を承諾してください。

Accept Cacti License Agreement

次に、CactiインストールのためのPre-installation Checksが表示されます。推奨される設定を/etc/php.iniファイルで修正し、変更を加えた後はApacheを再起動してください。

memory_limit = 800M
max_execution_time = 60
date.timezone = Asia/Kolkata
Cacti Pre-installation Checks

同様に、ユーザーCactiにMySQL TimeZoneデータベースへのアクセス許可を付与する必要があります。これにより、データベースにグローバルなTimeZone情報が入力されます。

mysql> use mysql;
mysql> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
mysql> flush privileges;
Cacti MySQL Pre-Installation Checks

インストールタイプを「New Install」として選択してください。

Select Cacti Installation Type

続行する前に、次のディレクトリのアクセス許可が正しいことを確認してください。

Cacti Directory Permission Checks

次のCritical Binary Locations and Versionsの値がすべて正しいことを確認してください。

Critical Binary Locations and Versions

ポーリングソースに使用されるデフォルトのData Source Profileを選択してください。

Select Data Source Profile

Cactiインストール後に使用するDevice Templatesを選択してください。

Select Cacti Device Templates

MySQL構成ファイル/etc/my.cnf[mysqld]セクションにServer Collationを設定してください。

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
Set Server Collation

Cactiサーバーはほぼ準備完了です。続行してもよろしいか確認してください。

Cacti Installation Process
Installing Cacti Server
Cacti Dashboard

おめでとうございます!RHELベースのシステムにCactiを正常にインストールしました。これで、Cactiウェブインターフェイス内でデバイスを追加し、グラフを作成し、アラートを設定してネットワークインフラストラクチャを監視できます。

Source:
https://www.tecmint.com/install-cacti-network-monitoring-on-rhel-centos-fedora/