ウェブサイト検索

Rocky Linux および AlmaLinux に Cacti をインストールする方法


Cacti は、PHP で書かれたオープンソースの Web ベースのネットワーク監視およびグラフ作成ツールです。これは、RRDtool を使用したデータ ログのフロントエンド アプリケーションとして設計されました。 Cacti は、SNMP プロトコルを使用してルーター、サーバー、スイッチなどのデバイスを監視します。

ネットワーク帯域幅の使用率やCPU負荷などの情報をグラフ形式で表示します。これは、IT インフラストラクチャが期待どおりに機能していることを監視し、確認するために不可欠です。

このガイドでは、Rocky LinuxAlmaLinuxCacti 監視ツールをインストールする方法を学習します。

ステップ 1: Apache Web サーバーをインストールする

Cacti は Web ベースのツールであるため、Cacti が実行される Web サーバーをセットアップする必要があります。次のコマンドを実行してApache Webサーバーをインストールします。

sudo dnf install httpd -y

次に、次のコマンドを使用して Web サーバーを起動して有効にします。

sudo systemctl start httpd
sudo systemctl enable --now httpd

ステップ 2: MariaDB データベース サーバーをインストールする

Cacti には、収集したデータを保存するための独自のデータベースが必要です。 Mariadb をデータベース サーバーとしてインストールして使用します。

sudo dnf install -y mariadb-server mariadb

次に、次のように mariadb を起動し、起動時に起動できるようにします。

sudo systemctl start mariadb
sudo systemctl enable mariadb

ステップ 3: PHP および PHP 拡張機能をインストールする

CactiPHP で書かれているため、PHP と必要な PHP 依存関係をインストールする必要があります。まず、Remi リポジトリを追加します。

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpmmi 

次に、PHP インストール用の DNF モジュールを有効にします。

sudo dnf module reset php
sudo dnf module enable php:remi-7.4

その後、以下のコマンドを使用してPHP と必要な拡張機能をインストールします。

sudo dnf install @php
sudo dnf install -y php php-{mysqlnd,curl,gd,intl,pear,recode,ldap,xmlrpc,snmp,mbstring,gettext,gmp,json,xml,common}

次のコマンドを実行して、php-fpm サービスを有効にします。

sudo systemctl enable --now php-fpm

ステップ 4: SNMP と RRD ツールをインストールする

次に、 システム メトリクスの収集と分析に必要なSNMPRRDtoolをインストールします。

sudo dnf install -y net-snmp net-snmp-utils net-snmp-libs rrdtool

次のコマンドを使用して snmpd を起動し、有効にします。

sudo systemctl start snmpd
sudo systemctl enable snmpd

ステップ 5: Cacti データベースを作成する

次に、cacti のデータベースとユーザーを作成し、必要なすべての権限を cacti ユーザーに付与する必要があります。

mysql -u root -p

MariaDB [(none)]> CREATE DATABASE cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO cacti_user@localhost IDENTIFIED  BY 'passwd123';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

次に、mysql テスト データの timezone.sql ファイルを mysql データベースにインポートします。

mysql -u root -p mysql < /usr/share/mariadb/mysql_test_data_timezone.sql

次に、mysql データベースに接続し、cacti ユーザーにmysql.time ゾーン名テーブルへのアクセスを提供します。

MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cacti_user@localhost;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

最適なパフォーマンスを得るには、図に示すように、mariadb-server.cnf ファイルの [ mysqld ] セクションに次の設定を追加する必要があります。

sudo vi /etc/my.cnf.d/mariadb-server.cnf

次の設定を貼り付けます。

collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
max_heap_table_size=32M
tmp_table_size=32M
join_buffer_size=64M
25% Of Total System Memory
innodb_buffer_pool_size=1GB
pool_size/128 for less than 1GB of memory
innodb_buffer_pool_instances=10
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_io_capacity_max=10000

変更を保存して終了します。

ステップ 6: Cacti 監視ツールのインストールと構成

Cacti パッケージは、EPEL (Enterprise Linux 用の追加パッケージ) リポジトリで入手できます。

sudo dnf install epel-release -y

次に、次のようにCacti監視ツールをインストールします。

sudo dnf install cacti -y

次に、次のようにcacti のインストールを確認します。

rpm -qi cacti

次に、デフォルトの cacti データベース テーブルを、上で作成した mariadb cacti データベースにインポートします。ただし、その前に、次のコマンドを実行して、デフォルトの cacti データベースのパスを確認します。

rpm -ql cacti | grep cacti.sql

次に、次のコマンドを使用してデフォルトのデータベース テーブルをインポートします。

mysql -u root -p cactidb < /usr/share/doc/cacti/cacti.sql

次に、cacti 構成ファイルを変更して、次のデータベースの詳細を含めます。

sudo vim /usr/share/cacti/include/config.php

データベース名、ユーザー名、パスワードを変更して、前に作成したものを反映します。

次に、php.ini ファイルでタイムゾーンを設定します。さらに、次のように反映するように以下のパラメータを変更します。

date.timezone = Africa/Nairobi
memory_limit = 512M
max_execution_style = 60

次に、次のように /etc/cron.d/cacti ファイルを編集して、Cacti の cron をセットアップします。

sudo vim /etc/cron.d/cacti

Cacti が 5 分ごとにデータをポーリングするようにするには、次の行のコメントを解除します。

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

設定ファイルを保存して終了します。

次に、Apache の構成ファイルを変更して、Cacti へのリモート アクセスを有効にします。

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

ファイル内の次の行を変更します。

  • ホストの localhost が必要すべての許可が必要に変更します。
  • [ローカルホストからの許可] を [[ネットワーク サブネット] からの許可] に変更します。
  • 独自のネットワーク サブネットを指定します。この例の場合、サブネットは192.168.122.1/24です。

変更を有効にするには、Apache サービスと php-fpm サービスを再起動します。

sudo systemctl restart httpd
sudo systemctl restart php-fpm

最後にCactiを設定する前に、次のようにファイアウォールでHTTPサービスを許可します。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

ステップ 8: ブラウザ経由で Cacti インストーラーを実行する

Cacti のセットアップを完了するには、次のようにサーバーの IP にアクセスします。

http://server-ip/cacti

以下のログインページが表示されます。表示されているデフォルトの認証情報を使用してログインします。

Username: admin
Password: admin

[ログイン] をクリックして続行します。

デフォルトの cacti 管理者ログイン パスワードを設定するように求められます。

次に、GPL ライセンス契約に同意し、[開始] をクリックします。

Cacti はインストール前テストを実行して、必要なPHP モジュールがインストールされ、関連するデータベース設定がセットアップされていることを確認します。すべてが正しく構成されていれば、インストールを続行できます。 [次へ] をクリックして続行します。

その後、インストールのタイプとして「新しいプライマリ サーバー」を選択し、データベース接続パラメータが正しいことを確認します。

次の手順では、ディレクトリの問題をチェックし、適切な権限が設定されていることを確認します。すべてが正しい場合は、[次へ] をクリックします。それ以外の場合は、[前へ] をクリックして問題を修正してください。

次に、インストーラーは、必要なパッケージのバイナリ パスがすべてインストールされているかどうかを確認します。

次に、データ入力方法を検証します。これにより、Cacti のインストール後にデータ入力方法をホワイトリストに登録するために実行する必要のあるアクションがいくつか提供されます。説明を読んだ後、[この声明を読みました] ボックスにチェックを入れます。

その後、cron 間隔を選択し、図のようにネットワーク サブネットを入力します。次に、[次へ] をクリックします。

Cacti には、Linux や Windows コンピュータなどのさまざまなネットワーク デバイスを監視してグラフ化できるテンプレートが付属しています。必要なテンプレートがすべて確実に入手できるように、すべてのオプションがチェックされています。問題がなければ、[次へ] をクリックします。

その後、インストーラはデータベース/サーバーの照合順序が UTF8 に準拠しているかどうかを確認します。 [次へ] ボタンをクリックします。

インストール プロセスを開始するには、[インストールの確認] チェックボックスをクリックし、[インストール] ボタンをクリックします。

必要なパッケージがインストールされたら、[開始] ボタンをクリックします。

これで、次のようにCacti ダッシュボードが表示されます。

デフォルトでは、cacti は、Cacti がインストールされているローカル マシンのリソース使用率グラフを作成します。グラフを表示するには、[グラフ] -> [デフォルト ツリー] -> [ローカル] -> [デバイスの選択] に移動します。

これが、Rocky LinuxAlmaLinuxCacti をインストールする方法です。