サーバー監視 · 2 min read · Nov 01, 2025

Cactiを使用してCentOS 7サーバーを監視する方法

Cactiは無料でオープンソースのネットワークグラフ作成ソリューションです。データ収集とグラフ作成にはRRDToolを使用します。リモートおよびローカルデータコレクター、ネットワーク発見、デバイス管理の自動化、グラフテンプレートなど、多くの機能を提供します。

このチュートリアルでは、CentOS 7サーバーにCactiをインストールします。

前提条件

  • 最小限のCentOS 7サーバー
  • ルート権限

ステップ1 - Apacheのインストール

パッケージをインストールする前にサーバーを更新することをお勧めします。これにより、既存のパッケージとリポジトリが更新されます。

yum -y update

システムが更新されたら、Apacheウェブサーバーのインストールに進むことができます。

yum -y install httpd

次に、以下のコマンドを使用してApacheウェブサーバーを起動し、ブート時に自動的に起動するように設定します。

systemctl start httpd
systemctl enable httpd

ステップ2 - PHPのインストール

CactiはPHP 5.3より大きいすべてのバージョンをサポートしています。しかし、このチュートリアルでは、PHP v5.3がサポート終了となったため、PHP 7.1をインストールします。最新のPHPバージョンをインストールすることで、アプリケーションの最大のセキュリティとパフォーマンスが確保されます。

CentOSのデフォルトYUMリポジトリにはPHP 7.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

必要な依存関係とともにPHP 7.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

次のような出力が得られるはずです。

[root@liptan-pc ~]# 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 -y install nanoを実行できます。

nano /etc/php.ini

次の行を見つけて、コメントを解除し、地域に応じてタイムゾーンを設定します。例えば:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Kolkata

ステップ3 - MariaDBのインストール

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インストールのためのrootパスワードを設定するかどうかを尋ねます。yを選択し、インストールのために強力なパスワードを設定します。ほとんどの質問は自己説明的であり、すべての質問に対してはいまたは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のrootパスワードを提供します。テーブルがポピュレートされたら、Cactiユーザーアカウントに対してテーブルへの選択アクセスを提供する必要があります。再度MySQLプロンプトにログインします。

mysql -u root -p

次に、次のクエリを実行します。

GRANT SELECT ON mysql.time_zone_name TO 'cacti_user'@'localhost';
FLUSH PRIVILEGES;

上記のクエリは、cacti_userに対してSELECTアクセスを付与します。

ステップ4 - Cactiのインストールと構成

Cactiはさらにいくつかの依存関係を必要とします。次のコマンドを実行してインストールします。

yum -y install net-snmp rrdtool net-snmp-utils

すべての依存関係が準備できたので、Cactiウェブサイトからインストールパッケージをダウンロードできます。

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_dataにcacti.sqlデータベースをインポートします。データベースをインポートする前に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;

ステップ5 - 権限とファイアウォールの設定

次に、次のコマンドを使用してアプリケーションの所有権をウェブサーバーユーザーに提供する必要があります。

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

次に、ウェブブラウザを使用してインストールを完了します。お好みのウェブブラウザを使用して次のリンクに移動します。

http://Your_Server_IP/cacti

次のページが表示されます。

Cactiライセンス

ライセンス契約に同意して次に進みます。

次のインターフェースでは、事前インストールが表示され、すべての必要な依存関係が満たされています。

Cacti事前インストールチェック

次のインターフェースに進みます。

インストールタイプで、新しいプライマリサーバーを選択し、次に進みます。

Cactiプライマリサーバー

次のインターフェースでは、バイナリの場所を提供する必要があります。RRDToolとPHPバイナリへのパスは正しいです。他のすべてのバイナリには、/usr/bin/binary_nameのパスを提供します。例えば、snapwalkバイナリの場合、パスは/usr/bin/snmpwalkです。

Cacti設定ページ

次のインターフェースでは、サーバーがすべての必要なフォルダーへの書き込みアクセス権を持っていることが表示されます。

ディレクトリ権限チェック

テンプレート設定で、ローカルLinuxマシンを選択し、完了をクリックします。

テンプレート設定

ログインページに移動します。ユーザー名adminとパスワードadminを使用してログインすると、ダッシュボードに移動します。

Cactiダッシュボード

Cactiのインストールは完了しました。インタラクティブなグラフを使用してサーバーを監視するためにアプリケーションを使用できます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。