Cactiは、オープンソースのWebベースのネットワーク監視およびシステム監視グラフ作成ツールです。 これは、RRDTool(時系列データベース(TSDB))のフロントエンドです。
Cactiを使用すると、サーバーや、サーバー、ルーター、スイッチなどのネットワークデバイスを監視できます。 SNMPプロトコルを使用してネットワークトラフィックを収集および監視します。 CPU、メモリディスク容量、帯域幅使用率など、さまざまなシステムメトリックを監視できます。 また、システムが停止した場合に電子メール通知を受信するようにアラートを設定することもできます。 さらに、問題が発生した場合の応答時間を短縮できます。
LAMPスタックを使用して、LinuxディストリビューションにCactiをインストールできます。 また、NginxおよびIISWebサーバーもサポートしています。 収集されたデータは、MySQLまたはMariaDBデータベースに保存されます。 データ収集フレームワークは完全に分散されており、フォールトトレラントでスケーラブルです。
このガイドでは、次の方法について説明します。 Cactiをインストールして構成します オン Ubuntu 20.04。
ステップ1:インストール Apache Webサーバー
次のコマンドを使用してシステムパッケージを更新することから始めます。
$ sudo apt update -y
Cacti MonitoringツールにはWebブラウザーを介してアクセスし、Webサーバーをセットアップする必要があります。 Apache2Webサーバーをインストールします。
$ sudo apt install apache2 -y
開始して有効にする Apache コマンドで:
$ sudo systemctl start apache2
$ sudo systemctl enable apache2
ステップ2:MariaDBデータベースサーバーをインストールする
Cactiは、ネットワークデバイスから収集されたすべてのデータをデータベースに保存します。 このガイドでは、MySQLからフォークされた堅牢なオープンソースのリレーショナルデータベースであるMariaDBをインストールします。
MariaDBはUbuntu20.04リポジトリで利用できます。 次のコマンドを使用してMariaDBをインストールするだけです。
$ sudo apt install mariadb-server mariadb-client
Cactiを最適に実行するには、MariaDBデータベースサーバーを調整する必要があります。 アクセスする 50-server.cnf
構成ファイル。
$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
下 [ mysqld ] セクションに、次の行を追加します。
collation-server = utf8mb4_unicode_ci
character-set-server=utf8mb4
max_heap_table_size = 128M
tmp_table_size = 64M
innodb_buffer_pool_instances=9
join_buffer_size = 64M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 1G
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000
Save 終了します。 次に、変更を適用するためにMariaDBをリロードします。
$ sudo systemctl restart mariadb
ステップ3:PHPと必要なPHP拡張機能をインストールする
Cactiモニタリングツールのフロントエンドは完全にPHP駆動型です。 したがって、次のようにPHPと関連するPHPモジュールをインストールする必要があります。
$ sudo apt install libapache2-mod-php php-mysql php-xml php-gd php-snmp php-json php-intl php-mbstring php-ldap php-gmp -y
次に、max_execution時間とメモリ制限を調整し、希望するタイムゾーンをオンに設定します /etc/php/7.4/apache2/php.ini
と /etc/php/7.4/cli/php.ini
ファイル。
$ sudo vim /etc/php/7.4/apache2/php.ini
date.timezone = Africa/Nairobi
memory_limit = 512M
max_execution_time = 60
同様に、変更を複製します /etc/php/7.4/cli/php.ini
ファイル。
ステップ4:SNMPとRRDToolをインストールする
このステップでは、システムパフォーマンスメトリックの収集とグラフ化に使用されるRRDtoolとSNMPをインストールします。 次のコマンドを実行します。
$ sudo apt install rrdtool snmp snmpd snmp-mibs-downloader libsnmp-dev
ステップ5:Cactiデータベースを作成する
Cactiは、収集したすべてのデータを保存するためのデータベースを必要とします。 まず、MariaDBにログインします
$ sudo mysql -u root -p
次に、cactiのデータベースとデータベースユーザーを作成し、次のようにユーザーにすべての権限を付与します。
CREATE DATABASE cactidb;
GRANT ALL ON cacti.* TO ‘cacti_user’@’localhost’ IDENTIFIED BY ‘cactipassword’;
FLUSH PRIVILEGES;
EXIT;
ステップ6:Cactiをダウンロードして構成する
次に、図のように公式サイトからCactiアーカイブファイルをダウンロードします。
$ wget https://www.cacti.net/downloads/cacti-latest.tar.gz
この記事を書いている時点で、最新のCactiバージョンはバージョン1.2.18です。
次に、CactiのWebルートディレクトリとして/ var / www / html /にCactiディレクトリを作成します。
$ sudo mkdir /var/www/html/cacti
図のように、tarファイルを上記のディレクトリに解凍します。
$ sudo tar xzf cacti-latest.tar.gz -C /var/www/html/cacti
次に、cactiディレクトリの所有者をに設定します www-data 示されているようにwebrootディレクトリ:
$ sudo chown -R www-data: /var/www/html/cacti/
次に、デフォルトのデータベースをcactiデータベースにインポートします。
$ sudo mysql -u root -p cacti < /var/www/html/cacti/cacti.sql
次に、図のようにMySQLタイムゾーンデータをMariaDBにインポートします
$ sudo mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
ここで、MariaDBデータベースに戻ります
$ sudo mysql -u root -p
mysqlタイムゾーンにアクセスするためのselect権限をcactiデータベースユーザーに付与します。 走る:
GRANT SELECT on mysql.time_zone_name to cacti_user@localhost;
FLUSH PRIVILEGES;
EXIT;
ステップ7:Cactiデータベース接続の詳細を構成する
次に、Cacti構成ファイルを編集します。 config.phpファイルを開きます。
$ sudo vim /var/www/html/cacti/include/config.php
次に、構成ファイルのデータベースの詳細を更新します。 上記の手順5でデータベースを作成するときに設定した値を反映するように、詳細を変更します。
$database_type = ‘mysql’;
$database_default = ‘cacti’;
$database_hostname = ‘localhost’;
$database_username = ‘cacti_user’;
$database_password = ‘cactipasswd’;
$database_port = ‘3306’;
ステップ8:サボテンを作成する Apache 構成
このステップでは、Cactiサイトの新しい仮想ホストファイルを作成します。
$ sudo vim /etc/apache2/sites-available/cacti.conf
次の行を追加します
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti/>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>
Save 終了します。 再起動 Apache 適用される変更について
$ sudo systemctl restart apache2
素晴らしい。 現在残っているのは、ブラウザにCactiを設定することだけです。
ステップ9:ブラウザでCactiを設定する
この時点で、すべてのCacti構成が完了しました。 次に、WebブラウザでCactiのインストールを完了する必要があります。 Cactiセットアップウィザードは、プロセスを段階的にガイドします。
次のアドレスを使用してサボテンにアクセスします。
https://server-ip-address/cacti
以下のようなログインページが表示されます。 デフォルトの資格情報でログインします。
ユーザー名: admin
パスワード: admin
次に、パスワードをリセットするように求められます。 セキュリティ上の理由から、必ず強力なパスワードを設定し、「」をクリックしてください。Save’ ボタン。

次に、チェックボックスのGPLライセンスに同意します。 クリック ‘始める‘インストールを続行します。

次に、Cactiはインストール前のチェックを実行して、cactiが正しく機能するために必要なPHPモジュールとデータベース設定がシステムにあることを確認します。 すべての構成が整っている場合は、[‘]をクリックします次。」

次に、 ‘を選択します新しいプライマリサーバー‘インストールオプションを選択し、続行する前にローカルデータベース接続パラメータが正しいことを再確認してください。[次へ]をクリックします。

ディレクトリのアクセス許可のチェックが正しいことを確認してから、[‘]をクリックしてください。次。」 そうでない場合は、手順6に戻り、指示に従ってアクセス許可を設定します。

次に、表示される重要なバイナリパスとバージョンの詳細が正しいことを確認し、をクリックします ‘次’。

次のステップでは、入力検証ホワイトリスト保護の概要が表示されます。 データ入力メソッドをホワイトリストに登録するために実行するいくつかの手順を示しています。[このステートメントを読みました]チェックボックスをオンにして、インストールを続行します。

次の手順では、ポーリングソースのデータソースプロファイルを選択できます。 サブネットに対応するようにネットワーク範囲を変更することもできます。

Cactiは、ルーター、Linux、Windowsサーバーなどのさまざまなデバイスを監視およびグラフ化するためのテンプレートを提供します。 デフォルトでは、必要なすべてのテンプレートを確実に取得するために、すべての設定がチェックされています。 クリック ‘次‘ 続行します。

次に、インストーラーはサーバーとデータベースの照合がUTF8に準拠しているかどうかを確認します。 クリック ‘次‘。

次に、 ‘を確認しますインストールを確認する‘ボックスをクリックし、’インストール ‘ボタンをクリックして、インストールプロセスを開始します。

インストールが開始され、完了するまでに約1分かかります。

インストールが正常に完了すると、次の画面が表示されます。

クリックしてください ‘始めましょう‘ ボタン。 サボテンが稼働しています。 Cactiダッシュボードは次のように表示されます。

結論
これで、Ubuntu20.04にCactiが正常にインストールおよび構成されました。 これで、デバイスの追加と監視を開始できます。