Cactiは、無料のオープンソースネットワークグラフソリューションです。データ収集とグラフ化にRRDToolを使用します。リモートおよびローカルのデータコレクター、ネットワーク検出、デバイス管理の自動化、グラフテンプレートなどの多くの機能を提供します。
このチュートリアルでは、CactiをCentOS7サーバーにインストールします。
前提条件
- 最小限のCentOS7サーバー
- root権限
パッケージをインストールする前にサーバーを更新して、既存のパッケージとリポジトリを更新することをお勧めします。
yum -y update
システムを更新したら、ApacheWebサーバーのインストールに進むことができます。
yum -y install httpd
次に、Apache Webサーバーを起動し、次のコマンドを使用して起動時に起動できるようにします。
systemctl start httpd
systemctl enable httpd
Cactiは、5.3以降のすべてのバージョンのPHPをサポートしています。ただし、このチュートリアルでは、PHP v5.3のサポートが終了したため、PHP7.1をインストールします。最新バージョンのPHPをインストールすると、アプリケーションのセキュリティとパフォーマンスを最大限に高めることができます。
CentOSのデフォルトのYUMリポジトリにはPHP7.1が含まれていないため、システムにWebtaticリポジトリを追加する必要があります。 Webtaticリポジトリが機能するには、EPELリポジトリが必要です。次のコマンドを実行して、EPELリポジトリをインストールします。
yum -y install epel-release
yum -y update
コマンドを入力してWebtaticリポジトリをインストールします。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
次のコマンドを入力して、必要なすべての依存関係とともにPHP7.1をインストールします。
yum -y install php71w php71w-snmp php71w-mysqli php71w-cli php71w-ldap php71w-xml php71w-session php71w-sockets php71w-pcre php71w-gd php71w-dom php71w-posix php71w-mbstring
PHPが正常にインストールされているかどうかを確認するには、次のコマンドを実行します。
php -v
これと同様の出力が得られるはずです。
[[email protected] ~]# php -v PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
次に、PHPでいくつかの構成を構成する必要があります。お気に入りのテキストエディタを使用して、PHP構成ファイルphp.iniを開きます。このチュートリアルでは、nanoエディターを使用します。 nanoがインストールされていない場合は、yum -yinstallnanoを実行できます。
nano /etc/php.ini
次の行を見つけてコメントを外し、地域に応じてタイムゾーンを設定します。例:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
MariaDBはMySQLデータベースのフォークです。サーバーにMariaDBをインストールするには、次のコマンドを実行します。
yum -y install mariadb mariadb-server
次のコマンドを実行してMariaDBを起動し、起動時に起動できるようにします。
systemctl start mariadb
systemctl enable mariadb
次に、次のコマンドを実行して、MariaDBのインストールを保護します。
mysql_secure_installation
上記のコマンドは、MariaDBの新規インストールを保護するためのスクリプトを実行します。スクリプトは既存のrootユーザーパスワードを要求します。MariaDBをインストールしたばかりです。rootパスワードは設定されていません。Enterキーを押すだけで続行できます。
スクリプトは、MariaDBインストールのルートパスワードを設定するかどうかを尋ねてきます。yを選択して、インストールに強力なパスワードを設定します。ほとんどの質問は自明であり、すべての質問に「はい」または「はい」と答える必要があります。出力は次のようになります。
データベースを作成するには、最初にMySQLコマンドラインにログインする必要があります。同じように次のコマンドを実行します。
mysql -u root -p
上記のコマンドは、rootユーザーのMySQLシェルにログインし、rootユーザーのパスワードの入力を求めます。ログインするためのパスワードを入力してください。次に、次のクエリを実行して、Cactiインストール用の新しいデータベースを作成します。
CREATE DATABASE cacti_data;
上記のクエリは、cacti_dataという名前の新しいデータベースを作成します。必要に応じて、データベースに他の名前を使用できます。クエリは常にセミコロンで終わるため、各クエリの最後には必ずセミコロンを使用してください。
データベースが作成されたら、新しいユーザーを作成して、データベースのすべての権限をユーザーに付与できます。新しいデータベースユーザーを作成するには、次のクエリを実行します。
CREATE USER 'cacti_user'@'localhost' IDENTIFIED BY 'StrongPassword';
上記のクエリは、ユーザー名cacti_userのユーザーを作成します。 cacti_userの代わりに、任意のユーザー名を使用できます。 StrongPasswordを非常に強力なパスワードに置き換えます。次に、作成したデータベースに対するすべての特権をデータベースユーザーに提供します。次のコマンドを実行します。
GRANT ALL PRIVILEGES ON cacti_data.* TO 'cacti_user'@'localhost';
次に、次のコマンドを実行して、データベース権限に変更をすぐに適用します。
FLUSH PRIVILEGES;
次のコマンドを使用してMySQLプロンプトを終了します。
EXIT;
また、タイムゾーンテーブルにデータを入力する必要があります。次のコマンドを実行して、タイムゾーンテーブルにデータを入力します。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
続行するには、MySQLルートパスワードを入力してください。テーブルにデータが入力されたら、テーブルを介してCactiユーザーアカウントへの選択アクセスを提供する必要があります。次を使用してMySQLプロンプトに再度ログインします:
mysql -u root -p
次に、次のクエリを実行します。
GRANT SELECT ON mysql.time_zone_name TO 'cacti_user'@'localhost';
FLUSH PRIVILEGES;
上記のクエリはSELECTでcacti_userへのアクセスを許可します
Cactiにはさらにいくつかの依存関係が必要です。それらをインストールするには、次のコマンドを実行してください。
yum -y install net-snmp rrdtool net-snmp-utils
すべての依存関係の準備ができたので、CactiWebサイトからインストールパッケージをダウンロードできます。
cd /var/www/html
wget http://www.cacti.net/downloads/cacti-1.1.10.tar.gz
アプリケーションの最新バージョンへのリンクは、Cactiのダウンロードページでいつでも見つけることができます。次のコマンドを使用してアーカイブを抽出します。
tar xzvf cacti*.tar.gz
次のコマンドを使用して、Cactiフォルダの名前を変更します。
mv cacti-1*/ cacti/
次のコマンドを実行して、Cactiデータベースをインポートします。
cd /var/www/html/cacti
mysql cacti_data < cacti.sql -u root -p
上記のコマンドは、ユーザーrootを使用してcacti.sqlデータベースをcacti_dataにインポートします。また、データベースをインポートする前に、rootユーザーのパスワードを尋ねられます。
次のコマンドを実行して、Cacti構成を編集します。
nano /var/www/html/cacti/include/config.php
次に、次の行を見つけて、MySQLデータベースのクレデンシャルに従って編集します。
/* make sure these values reflect your actual database/host/user/password */ $database_type = 'mysql'; $database_default = 'cacti_data'; $database_hostname = 'localhost'; $database_username = 'cacti_user'; $database_password = 'StrongPassword'; $database_port = '3306'; $database_ssl = false;
次に、次のコマンドを使用して、アプリケーションの所有権をWebサーバーユーザーに提供する必要があります。
chown -R apache:apache /var/www/html/cacti
ファイアウォールを実行している場合は、ファイアウォールを通過するポート80でHTTPトラフィックを許可する必要がある場合もあります。同じように次のコマンドを実行します。
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
プロキシ設定はSELinuxポリシーでは機能しないため、SELinuxを無効にする必要があります。サーバーを再起動せずにSELinuxを一時的に無効にするには、次のコマンドを実行します。
setenforce 0
SELinuxを完全に無効にするには、/ etc / selinux/configファイルを編集する必要があります。
nano /etc/selinux/config
次の行を見つけます:
SELINUX=enforcing
次のように変更します:
SELINUX=disabled
次に、Webブラウザーを使用してインストールを完了し、お気に入りのWebブラウザーを使用して次のリンクに移動します。
http://Your_Server_IP/cacti
次のページが表示されます。
使用許諾契約に同意して、先に進みます。
次のインターフェースでは、プレインストールが表示され、必要なすべての依存関係が満たされています。
次のインターフェースに進みます。
インストールタイプで、新しいプライマリサーバーを選択します 次に進みます。
次のインターフェースでは、バイナリに場所を指定する必要があります。 RRDToolおよびPHPバイナリへのパスは正しいです。他のすべてのバイナリについては、パス/ usr / bin/binary_nameを指定します。たとえば、snapwalkバイナリの場合、パスは/ usr / bin/snmpwalkです。
次のインターフェースでは、サーバーが必要なすべてのフォルダーへの書き込みアクセス権を持っていることがわかります。
テンプレートのセットアップで、[ローカルLinuxマシン]を選択し、[完了]をクリックします。
ログインページに移動します。ユーザー名adminとパスワードadminを使用してログインすると、ダッシュボードが表示されます。
これでCactiのインストールが完了しました。このアプリケーションを使用して、インタラクティブなグラフを使用してサーバーを監視できます。