Cactiツールは、ITビジネスにおけるネットワーク監視とシステムグラフ作成のためのオープンソースのウェブベースのソリューションです。Cactiを使用すると、定期的にサービスをポーリングして、RRDtoolを使用してグラフを作成できます。
通常、ネットワーク帯域利用率、CPU負荷、実行中のプロセス、ディスク容量などのメトリクスのための時系列データをグラフ化するために使用されます。
この操作手順では、Cactiという包括的なネットワーク監視アプリケーションを、RHELベースのディストリビューション(CentOS Stream、Fedora、Rocky、Alma Linux)にNet-SNMPツールを使用してインストールおよび設定する方法を示します。
Cacti 必要なパッケージ
Cactiには、Linuxオペレーティングシステムに以下のパッケージをインストールする必要があります。
- Apache: PHPとRRDToolによって作成されたネットワークグラフを表示するためのWebサーバー。
- MySQL: Cacti情報を格納するためのデータベースサーバー。
- PHP: RRDToolを使用してグラフを作成するためのスクリプトモジュール。
- 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

ステップ2:LinuxでCactiツールをインストール
Cactiをインストールするには、システムでEPELリポジトリが有効になっていることを確認してください。
sudo yum install epel-release
EPELリポジトリが有効になっている場合は、次のコマンドを実行してCactiをインストールできます。
sudo yum install cacti

ステップ3:MariaDBデータベースをセキュアにする
MySQLをCactiに構成するには、まず新しくインストールしたMySQLサーバーをセキュアにし、次にユーザー「Cacti」でCactiデータベースを作成する必要があります。MySQLがすでにインストールされ、セキュアになっている場合は、これを再度行う必要はありません。
sudo mysql_secure_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;

次に、新しく作成したデータベースにデフォルトのCactiデータベーススキーマをインポートする必要がありますが、その前にrpmコマンドを使用してデータベースファイルのパスを見つけ、それを以下に示す方法でインポートする必要があります。
sudo rpm -ql cacti | grep cacti.sql sudo mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql

ステップ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';

ステップ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>
ファイルを保存して閉じます。
最後に、変更を適用するためにApacheとMariaDBサービスを再起動します。
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パスワードを変更します。

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

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

同様に、ユーザーCactiにMySQL TimeZoneデータベースへのアクセス許可を付与する必要があります。これにより、データベースにグローバルなTimeZone情報が入力されます。
mysql> use mysql; mysql> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost; mysql> flush privileges;

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

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

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

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

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

MySQL構成ファイル/etc/my.cnfの[mysqld]セクションにServer Collationを設定してください。
[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci

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



おめでとうございます!RHELベースのシステムにCactiを正常にインストールしました。これで、Cactiウェブインターフェイス内でデバイスを追加し、グラフを作成し、アラートを設定してネットワークインフラストラクチャを監視できます。
Source:
https://www.tecmint.com/install-cacti-network-monitoring-on-rhel-centos-fedora/