Cactiは、オープンソースのWebベースのネットワーク監視およびシステム監視グラフ作成ツールです。これは、RRDTool(時系列データベース(TSDB))のフロントエンドです。
Cactiを使用すると、サーバーや、サーバー、ルーター、スイッチなどのネットワークデバイスを監視できます。 SNMPプロトコルを使用してネットワークトラフィックを収集および監視します。 CPU、メモリディスク容量、帯域幅使用率など、さまざまなシステムメトリックを監視できます。また、システムが停止した場合に電子メール通知を受信するようにアラートを設定することもできます。さらに、問題が発生した場合の応答時間を短縮できます。
LAMPスタックを使用して、LinuxディストリビューションにCactiをインストールできます。また、NginxおよびIISWebサーバーもサポートしています。収集されたデータは、MySQLまたはMariaDBデータベースに保存されます。データ収集フレームワークは完全に分散されており、フォールトトレラントでスケーラブルです。
このガイドでは、Cactiをインストールして構成する方法について説明します。 Ubuntu 20.04 。
ステップ1:ApacheWebサーバーをインストールする
次のコマンドを使用してシステムパッケージを更新することから始めます。
$ 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
保存して終了。次に、変更を適用するために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/
次に、デフォルトのデータベースをサボテンデータベースにインポートします。
$ 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:CactiApache構成を作成する
このステップでは、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>
保存して終了。変更を適用するには、Apacheを再起動します
$ sudo systemctl restart apache2
素晴らしい。現在残っているのは、ブラウザにCactiを設定することだけです。
ステップ9:ブラウザでCactiを設定する
この時点で、すべてのCacti構成が完了しました。次に、WebブラウザでCactiのインストールを完了する必要があります。 Cactiセットアップウィザードは、プロセスを段階的にガイドします。
次のアドレスを使用してサボテンにアクセスします:
http://server-ip-address/cacti
以下のようなログインページが表示されます。デフォルトの資格情報でログインします:
ユーザー名:admin
パスワード:admin
次に、パスワードをリセットするように求められます。セキュリティ上の理由から、必ず強力なパスワードを設定し、[保存]をクリックしてください。 ボタン。
次に、チェックボックスのGPLライセンスに同意します。 [開始]をクリックします ’を使用してインストールを続行します。
次に、Cactiはインストール前のチェックを実行して、cactiが正しく機能するために必要なPHPモジュールとデータベース設定がシステムにあることを確認します。すべての構成が整っている場合は、[次へ]をクリックします 。'
次に、「新しいプライマリサーバー」を選択します 'インストールオプションを選択し、続行する前にローカルデータベース接続パラメータが正しいことを再確認してください。 [次へ]をクリックします。
ディレクトリのアクセス許可のチェックが正しいことを確認してから、[次へ]をクリックしてください 。」そうでない場合は、手順6に戻り、指示に従って権限を設定します。
次に、表示される重要なバイナリパスとバージョンの詳細が正しいことを確認し、[次へ]をクリックします。 。
次のステップでは、入力検証ホワイトリスト保護の概要が表示されます。データ入力メソッドをホワイトリストに登録するために実行するいくつかの手順を示しています。 [このステートメントを読みました]チェックボックスをオンにして、インストールを続行します。
次の手順では、ポーリングソースのデータソースプロファイルを選択できます。サブネットに対応するようにネットワーク範囲を変更することもできます。
Cactiは、ルーター、Linux、Windowsサーバーなどのさまざまなデバイスを監視およびグラフ化するためのテンプレートを提供します。デフォルトでは、必要なすべてのテンプレートを確実に取得するために、すべての設定がチェックされています。 [次へ]をクリックします ' 続行します。
次に、インストーラーはサーバーとデータベースの照合がUTF8に準拠しているかどうかを確認します。 「次へ」をクリックします ’。
次に、「インストールの確認」を確認します 」ボックスをクリックし、[インストール]ボタンをクリックして、インストールプロセスを開始します。
インストールが開始され、完了するまでに約1分かかります。
インストールが正常に完了すると、次の画面が表示されます。
[はじめに]をクリックします ' ボタン。サボテンが稼働しています。 Cactiダッシュボードは次のように表示されます:
結論
これで、Ubuntu20.04にCactiが正常にインストールおよび構成されました。これで、デバイスの追加と監視を開始できます。