ウェブサイト検索

Debian および Ubuntu で Cacti-Spine を使用して Cacti をインストールする方法


このチュートリアルでは、DebianUbuntu 16.04 LTS の最新バージョンに Cacti ネットワーク監視ツールをインストールして設定する方法を学びます。このガイドでは、Cacti がソース ファイルからビルドおよびインストールされます。

Cacti は、ネットワーク、特に SNMP プロトコルを介してスイッチ、ルーター、サーバーなどのネットワーク デバイスを監視するために作成されたオープン ソース監視ツールです。 Cacti はエンドユーザーと対話し、Web ツール インターフェイスを介して管理できます。

要件

  1. Debian 9 にインストールされた LAMP スタック
  2. Ubuntu 16.04 LTS にインストールされた LAMP スタック

ステップ 1: Cacti の前提条件をインストールして構成する

1. Debian 9 で、ソース リスト ファイルを開いて編集し、contrib および 非フリー リポジトリを追加します。次の行を変更してファイルを編集します。

nano /etc/apt/sources.list

次の行をsources.list ファイルに追加します。

deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ro.debian.org/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main

2. その後、以下のコマンドを発行してシステムを更新してください。

apt update
apt upgrade

3. LAMP スタックで、次の PHP 拡張機能がシステムに存在することを確認します。

apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt

4. 次に、以下のコマンドを実行して、PHP 構成ファイルを編集し、サーバーの物理的な場所に一致するようにタイム ゾーン設定を変更します。

echo "date.timezone = Europe/Bucharest" >> /etc/php/7.0/apache2/php.ini 

5. 次に、LAMP スタック インストールから MariaDB または MySQL データベースにログインし、Cacti をインストールするためのデータベースを作成します。 > 次のコマンドを発行します。

cacti データベース名、ユーザー、パスワードを独自の構成に一致するように置き換え、cacti データベース用の強力なパスワードを選択します。

mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by 'password1';
mysql> flush privileges;
mysql> exit

6. また、以下のコマンドを発行して、cacti ユーザーに MySQLdata.timezone 設定へのアクセス許可を選択できるようにします。

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql 
mysql -u root -p -e 'grant select on mysql.time_zone_name to cactiuser@localhost'

7. 次に、MySQL サーバー構成ファイルを開き、ファイルの最後に次の行を追加します。

nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
nano /etc/mysql/mysql.conf.d/mysqld.cnf      [For MySQL] 

次の行を 50-server.cnf または mysqld.cnf ファイルの末尾に追加します。

max_heap_table_size		= 98M
tmp_table_size			= 64M
join_buffer_size		= 64M
innodb_buffer_pool_size	= 485M
innodb_doublewrite		= off
innodb_flush_log_at_timeout	= 3
innodb_read_io_threads	= 32
innodb_write_io_threads	= 16

MariaDB データベースの場合は、50-server.cnf ファイルの末尾に次の行も追加します。

innodb_additional_mem_pool_size	= 80M

8. 最後に、MySQL サービスと Apache サービスを再起動してすべての設定を適用し、次のコマンドを発行して両方のサービスのステータスを確認します。

systemctl restart mysql apache2
systemctl status mysql apache2

ステップ 2: Cacti インストールをダウンロードして準備する

9. 次のコマンドを実行して、最新バージョンの Cacti アーカイブをダウンロードして解凍し、すべての抽出ファイルを Apache Web ドキュメント ルートにコピーして、ソースから Cacti のインストールを開始します。

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar xfz cacti-latest.tar.gz 
cp -rf cacti-1.1.27/* /var/www/html/

10. /var/www/html ディレクトリから index.html ファイルを削除し、Cacti ログ ファイルを作成し、Web への書き込み権限を Apache に付与します。ルートパス。

rm /var/www/html/index.html
touch /var/www/html/log/cacti.log
chown -R www-data:www-data /var/www/html/

11. 次に、cacti 構成ファイルを編集し、以下の例に示すように次の行を変更します。

nano /var/www/html/include/config.php

Cacti のconfig.php ファイルのサンプル。 cacti データベース名、ユーザー、パスワードを適宜置き換えてください。

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password1;
$database_port     = '3306';
$database_ssl      = false;
$url_path = '/';

12. 次に、以下のコマンドを実行して、/var/www/html/ ディレクトリの cacti.sql スクリプトを cacti データベースに追加します。

mysql -u cactiuser cacti -p < /var/www/html/cacti.sql 

13. 次に、Cacti エンジンが SNMP プロトコル経由でデバイス データを収集し、RRDtool を使用してグラフィックを表示するため、いくつかの追加リソースをインストールします。次のコマンドを発行して、それらをすべてインストールします。

apt install snmp snmpd snmp-mibs-downloader rrdtool

14. 以下のコマンドを発行して snmpd デーモンを再起動し、SNMP サービスが稼働しているかどうかを確認します。 snmpd デーモンのステータスと開いているポートも確認してください。

systemctl restart snmpd.service 
systemctl status snmpd.service
ss -tulpn| grep snmp

ステップ 3: Cacti-Spine をダウンロードしてインストールする

15. Cacti-Spine は、デフォルトの cmd.php ポーラーを C で書かれた代替品です。 Cacti-Spine は実行時間を短縮します。ソースから Cacti-Spine プーラーをコンパイルするには、以下の必要な依存関係をシステムにインストールします。

---------------- On Debian 9 ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev libmariadbclient-dev

---------------- On Ubuntu ---------------- 
apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev  

16. 上記の依存関係をインストールした後、Cacti-Spine アーカイブの最新バージョンをダウンロードし、tarball を抽出して、次の一連のコマンドを実行して cacti-spine をコンパイルします。 。

wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
tar xfz cacti-spine-latest.tar.gz 
cd cacti-spine-1.1.27/

17. 次のコマンドを発行して、ソースから Cacti-Spine をコンパイルしてインストールします。

./bootstrap 
./configure 
make
make install

18. 次に、スパイン バイナリが root アカウントによって所有されていることを確認し、次のコマンドを実行してスパイン ユーティリティの suid ビットを設定します。

chown root:root /usr/local/spine/bin/spine 
chmod +s /usr/local/spine/bin/spine

19. 次に、Cacti Spine 構成ファイルを編集し、以下の例に示すように、Cacti データベース名、ユーザー、およびパスワードを Spine 構成ファイルに追加します。

nano /usr/local/spine/etc/spine.conf

次の設定をspine.confファイルに追加します。

DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass password1
DB_Port 3306
DB_PreG 0

ステップ 4: Cacti インストール ウィザードのセットアップ

20. Cacti をインストールするには、ブラウザを開いて、次の URL でシステムの IP アドレスまたはドメイン名に移動します。

http://your_IP/install

まず、使用許諾契約に同意するにチェックを入れ、次へボタンをクリックして続行します。

21. 次に、システム要件を確認し、次へ ボタンをクリックして続行します。

22. 次のウィンドウで [新しいプライマリ サーバー] を選択し、[次へ] ボタンをクリックして続行します。

23. 次に、重要なバイナリの場所とバージョンを確認し、Spine バイナリ パスを /usr/local/spine/bin/spine に変更します。終了したら、[次へ] ボタンを押して続行します。

24. 次に、すべての Web サーバー ディレクトリのアクセス許可が設定されているか (書き込みアクセス許可が設定されているか) を確認し、次へ ボタンをクリックして続行します。

25. 次のステップでは、すべてのテンプレートを確認し、完了 ボタンをクリックしてインストール プロセスを終了します。

26. 以下のスクリーンショットに示すように、以下に示すデフォルトの資格情報を使用して Cacti Web インターフェイスにログインし、管理者パスワードを変更します。

Username: admin
Password: admin

27. 次に、[コンソール] -> [構成] -> [設定] -> ポーラーに移動し、ポーラーの種類cmd.php<から変更します。Spine バイナリに移動し、保存 ボタンまで下にスクロールして構成を保存します。

28. 次に、[コンソール] -> [構成] -> [設定] -> [パス] に移動し、次のパスをCacti-Spine 構成ファイルに追加します。

/usr/local/spine/etc/spine.conf 

[保存] ボタンを押して設定を適用します。

29. Cacti ポーラーが監視対象デバイスからデータの収集を開始できるようにする最後のセットアップは、5 分ごとに SNMP 経由で各デバイスにクエリを実行するための新しい crontab タスクを追加することです。

crontab ジョブはwww-data アカウントによって所有されている必要があります。

crontab -u www-data -e

Cron ファイルエントリを追加します。

*/5 * * * * /usr/bin/php /var/www/html/poller.php

30. Cacti がデータを収集するまで数分間待ち、[グラフ] -> [デフォルト ツリー] に移動すると、監視対象デバイスについて収集されたグラフが表示されます。

それだけです! Debian 9Ubuntu 16.04 の最新リリースで、ソースから Cacti-Spine プーラーを使用して Cacti をインストールし、構成しました。 LTSサーバー。