Raspberry Pi 2でCactiを導入する

Mon Jan 9, 2017 in server using tags raspberrypi , home-network , homemon1 , homemon2

FortiGate 60DとRaspberry Piを使用して家庭内インターネット接続環境を構築します。 最終的には以下のような構成を想定しています。

今回はhomemon1homemon2にCactiを導入します。

Cactiのインストール

Cactiをインストールします。 途中でApache2の設定やMySQLのパスワードについて聞かれるので適宜回答します。

$ sudo -E apt-get install cacti cacti-spine
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  dbconfig-common fontconfig javascript-common libcairo2 libdatrie1 libdbi1
  libgraphite2-3 libharfbuzz0b libjs-jquery libjs-jquery-cookie libpango-1.0-0
  libpangocairo-1.0-0 libpangoft2-1.0-0 libphp-adodb libpixman-1-0 librrd4
  libthai-data libthai0 libxcb-render0 libxcb-shm0 libxrender1 php5-snmp
  rrdtool snmp
提案パッケージ:
  moreutils snmp-mibs-downloader php5-adodb librrds-perl
以下のパッケージが新たにインストールされます:
  cacti cacti-spine dbconfig-common fontconfig javascript-common libcairo2
  libdatrie1 libdbi1 libgraphite2-3 libharfbuzz0b libjs-jquery
  libjs-jquery-cookie libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libphp-adodb libpixman-1-0 librrd4 libthai-data libthai0 libxcb-render0
  libxcb-shm0 libxrender1 php5-snmp rrdtool snmp
アップグレード: 0 個、新規インストール: 26 個、削除: 0 個、保留: 1 個。
6,777 kB のアーカイブを取得する必要があります。
この操作後に追加で 16.6 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main fontconfig armhf 2.11.0-6.3+deb8u1 [402 kB]
取得:2 http://archive.raspberrypi.org/debian/ jessie/main libpixman-1-0 armhf 0.33.3+git20151011-7de61d8-rpi1 [156 kB]
取得:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxcb-render0 armhf 1.10-3 [16.0 kB]
取得:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxcb-shm0 armhf 1.10-3 [11.0 kB]
取得:5 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxrender1 armhf 1:0.9.8-1 [30.4 kB]
取得:6 http://mirrordirector.raspbian.org/raspbian/ jessie/main libdatrie1 armhf 0.2.8-1 [29.1 kB]
取得:7 http://mirrordirector.raspbian.org/raspbian/ jessie/main libgraphite2-3 armhf 1.3.6-1~deb8u1 [62.5 kB]
取得:8 http://archive.raspberrypi.org/debian/ jessie/main libcairo2 armhf 1.14.0-2.1+deb8u1+rpi1 [662 kB]
取得:9 http://mirrordirector.raspbian.org/raspbian/ jessie/main libharfbuzz0b armhf 0.9.35-2 [464 kB]
取得:10 http://mirrordirector.raspbian.org/raspbian/ jessie/main libthai-data all 0.1.21-1 [159 kB]
取得:11 http://mirrordirector.raspbian.org/raspbian/ jessie/main libthai0 armhf 0.1.21-1 [43.4 kB]
取得:12 http://mirrordirector.raspbian.org/raspbian/ jessie/main dbconfig-common all 1.8.47+nmu3+deb8u1 [628 kB]
取得:13 http://mirrordirector.raspbian.org/raspbian/ jessie/main javascript-common all 11 [6,120 B]
取得:14 http://mirrordirector.raspbian.org/raspbian/ jessie/main libdbi1 armhf 0.9.0-4 [27.4 kB]
取得:15 http://mirrordirector.raspbian.org/raspbian/ jessie/main libjs-jquery all 1.7.2+dfsg-3.2 [97.5 kB]
取得:16 http://mirrordirector.raspbian.org/raspbian/ jessie/main libjs-jquery-cookie all 10-1 [7,978 B]
取得:17 http://mirrordirector.raspbian.org/raspbian/ jessie/main libphp-adodb all 5.15-1 [567 kB]
取得:18 http://mirrordirector.raspbian.org/raspbian/ jessie/main librrd4 armhf 1.4.8-1.2 [195 kB]
取得:19 http://mirrordirector.raspbian.org/raspbian/ jessie/main php5-snmp armhf 5.6.29+dfsg-0+deb8u1 [16.1 kB]
取得:20 http://mirrordirector.raspbian.org/raspbian/ jessie/main rrdtool armhf 1.4.8-1.2 [424 kB]
取得:21 http://archive.raspberrypi.org/debian/ jessie/ui libpango-1.0-0 armhf 1.36.8-3+rpi1 [274 kB]
取得:22 http://mirrordirector.raspbian.org/raspbian/ jessie/main snmp armhf 5.7.2.1+dfsg-1 [145 kB]
取得:23 http://mirrordirector.raspbian.org/raspbian/ jessie/main cacti all 0.8.8b+dfsg-8+deb8u6 [1,895 kB]
取得:24 http://archive.raspberrypi.org/debian/ jessie/ui libpangoft2-1.0-0 armhf 1.36.8-3+rpi1 [208 kB]
取得:25 http://mirrordirector.raspbian.org/raspbian/ jessie/main cacti-spine armhf 0.8.8b-1+b3 [53.9 kB]
取得:26 http://archive.raspberrypi.org/debian/ jessie/ui libpangocairo-1.0-0 armhf 1.36.8-3+rpi1 [197 kB]
6,777 kB を 21秒 で取得しました (311 kB/s)                                     
パッケージを事前設定しています ...

↓<了解>を選択してEnter
 ┌─────────────────────┤ libphp-adodb を設定しています ├─────────────────────┐
 │                                                                           │ 
 │ 警告: php に対するインクルードパスが変更されています!                     │ 
 │                                                                           │ 
 │ libphp-adobd は /usr/share/adodb にインストールされなくなっています。新   │ 
 │ しいインストールのパスは /usr/share/php/adodb です。                      │ 
 │                                                                           │ 
 │ php.ini ファイルを更新してください。web サーバの設定も変更する必要がある  │ 
 │ かもしれません。                                                          │ 
 │                                                                           │ 
 │                                  <了解>                                   │ 
 │                                                                           │ 
 └───────────────────────────────────────────────────────────────────────────┘ 

↓apache2を選択してEnter
 ┌────────────────────────┤ cacti を設定しています ├─────────────────────────┐
 │ Cacti が自動的に設定するウェブサーバを選んでください。                    │ 
 │                                                                           │ 
 │ ウェブサーバを手作業で設定したい場合は「どれでもない」を選んでください。  │ 
 │                                                                           │ 
 │ ウェブサーバ:                                                             │ 
 │                                                                           │ 
 │                               apache2                                     │ 
 │                               lighttpd                                    │ 
 │                               どれでもない                                │ 
 │                                                                           │ 
 │                                                                           │ 
 │                                  <了解>                                   │ 
 │                                                                           │ 
 └───────────────────────────────────────────────────────────────────────────┘ 

以前に未選択のパッケージ fontconfig を選択しています。
(データベースを読み込んでいます ... 現在 37219 個のファイルとディレクトリがインストールされています。)
.../fontconfig_2.11.0-6.3+deb8u1_armhf.deb を展開する準備をしています ...
fontconfig (2.11.0-6.3+deb8u1) を展開しています...
以前に未選択のパッケージ libpixman-1-0:armhf を選択しています。
.../libpixman-1-0_0.33.3+git20151011-7de61d8-rpi1_armhf.deb を展開する準備をしています ...
libpixman-1-0:armhf (0.33.3+git20151011-7de61d8-rpi1) を展開しています...
以前に未選択のパッケージ libxcb-render0:armhf を選択しています。
.../libxcb-render0_1.10-3_armhf.deb を展開する準備をしています ...
libxcb-render0:armhf (1.10-3) を展開しています...
以前に未選択のパッケージ libxcb-shm0:armhf を選択しています。
.../libxcb-shm0_1.10-3_armhf.deb を展開する準備をしています ...
libxcb-shm0:armhf (1.10-3) を展開しています...
以前に未選択のパッケージ libxrender1:armhf を選択しています。
.../libxrender1_1%3a0.9.8-1_armhf.deb を展開する準備をしています ...
libxrender1:armhf (1:0.9.8-1) を展開しています...
以前に未選択のパッケージ libcairo2:armhf を選択しています。
.../libcairo2_1.14.0-2.1+deb8u1+rpi1_armhf.deb を展開する準備をしています ...
libcairo2:armhf (1.14.0-2.1+deb8u1+rpi1) を展開しています...
以前に未選択のパッケージ libdatrie1:armhf を選択しています。
.../libdatrie1_0.2.8-1_armhf.deb を展開する準備をしています ...
libdatrie1:armhf (0.2.8-1) を展開しています...
以前に未選択のパッケージ libgraphite2-3:armhf を選択しています。
.../libgraphite2-3_1.3.6-1~deb8u1_armhf.deb を展開する準備をしています ...
libgraphite2-3:armhf (1.3.6-1~deb8u1) を展開しています...
以前に未選択のパッケージ libharfbuzz0b:armhf を選択しています。
.../libharfbuzz0b_0.9.35-2_armhf.deb を展開する準備をしています ...
libharfbuzz0b:armhf (0.9.35-2) を展開しています...
以前に未選択のパッケージ libthai-data を選択しています。
.../libthai-data_0.1.21-1_all.deb を展開する準備をしています ...
libthai-data (0.1.21-1) を展開しています...
以前に未選択のパッケージ libthai0:armhf を選択しています。
.../libthai0_0.1.21-1_armhf.deb を展開する準備をしています ...
libthai0:armhf (0.1.21-1) を展開しています...
以前に未選択のパッケージ libpango-1.0-0:armhf を選択しています。
.../libpango-1.0-0_1.36.8-3+rpi1_armhf.deb を展開する準備をしています ...
libpango-1.0-0:armhf (1.36.8-3+rpi1) を展開しています...
以前に未選択のパッケージ libpangoft2-1.0-0:armhf を選択しています。
.../libpangoft2-1.0-0_1.36.8-3+rpi1_armhf.deb を展開する準備をしています ...
libpangoft2-1.0-0:armhf (1.36.8-3+rpi1) を展開しています...
以前に未選択のパッケージ libpangocairo-1.0-0:armhf を選択しています。
.../libpangocairo-1.0-0_1.36.8-3+rpi1_armhf.deb を展開する準備をしています ...
libpangocairo-1.0-0:armhf (1.36.8-3+rpi1) を展開しています...
以前に未選択のパッケージ dbconfig-common を選択しています。
.../dbconfig-common_1.8.47+nmu3+deb8u1_all.deb を展開する準備をしています ...
dbconfig-common (1.8.47+nmu3+deb8u1) を展開しています...
以前に未選択のパッケージ javascript-common を選択しています。
.../javascript-common_11_all.deb を展開する準備をしています ...
javascript-common (11) を展開しています...
以前に未選択のパッケージ libdbi1:armhf を選択しています。
.../libdbi1_0.9.0-4_armhf.deb を展開する準備をしています ...
libdbi1:armhf (0.9.0-4) を展開しています...
以前に未選択のパッケージ libjs-jquery を選択しています。
.../libjs-jquery_1.7.2+dfsg-3.2_all.deb を展開する準備をしています ...
libjs-jquery (1.7.2+dfsg-3.2) を展開しています...
以前に未選択のパッケージ libjs-jquery-cookie を選択しています。
.../libjs-jquery-cookie_10-1_all.deb を展開する準備をしています ...
libjs-jquery-cookie (10-1) を展開しています...
以前に未選択のパッケージ libphp-adodb を選択しています。
.../libphp-adodb_5.15-1_all.deb を展開する準備をしています ...
libphp-adodb (5.15-1) を展開しています...
以前に未選択のパッケージ librrd4 を選択しています。
.../librrd4_1.4.8-1.2_armhf.deb を展開する準備をしています ...
librrd4 (1.4.8-1.2) を展開しています...
以前に未選択のパッケージ php5-snmp を選択しています。
.../php5-snmp_5.6.29+dfsg-0+deb8u1_armhf.deb を展開する準備をしています ...
php5-snmp (5.6.29+dfsg-0+deb8u1) を展開しています...
以前に未選択のパッケージ rrdtool を選択しています。
.../rrdtool_1.4.8-1.2_armhf.deb を展開する準備をしています ...
rrdtool (1.4.8-1.2) を展開しています...
以前に未選択のパッケージ snmp を選択しています。
.../snmp_5.7.2.1+dfsg-1_armhf.deb を展開する準備をしています ...
snmp (5.7.2.1+dfsg-1) を展開しています...
以前に未選択のパッケージ cacti を選択しています。
.../cacti_0.8.8b+dfsg-8+deb8u6_all.deb を展開する準備をしています ...
cacti (0.8.8b+dfsg-8+deb8u6) を展開しています...
以前に未選択のパッケージ cacti-spine を選択しています。
.../cacti-spine_0.8.8b-1+b3_armhf.deb を展開する準備をしています ...
cacti-spine (0.8.8b-1+b3) を展開しています...
man-db (2.7.0.2-5) のトリガを処理しています ...
libapache2-mod-php5 (5.6.29+dfsg-0+deb8u1) のトリガを処理しています ...
fontconfig (2.11.0-6.3+deb8u1) を設定しています ...
Regenerating fonts cache... done.
libpixman-1-0:armhf (0.33.3+git20151011-7de61d8-rpi1) を設定しています ...
libxcb-render0:armhf (1.10-3) を設定しています ...
libxcb-shm0:armhf (1.10-3) を設定しています ...
libxrender1:armhf (1:0.9.8-1) を設定しています ...
libcairo2:armhf (1.14.0-2.1+deb8u1+rpi1) を設定しています ...
libdatrie1:armhf (0.2.8-1) を設定しています ...
libgraphite2-3:armhf (1.3.6-1~deb8u1) を設定しています ...
libharfbuzz0b:armhf (0.9.35-2) を設定しています ...
libthai-data (0.1.21-1) を設定しています ...
libthai0:armhf (0.1.21-1) を設定しています ...
libpango-1.0-0:armhf (1.36.8-3+rpi1) を設定しています ...
libpangoft2-1.0-0:armhf (1.36.8-3+rpi1) を設定しています ...
libpangocairo-1.0-0:armhf (1.36.8-3+rpi1) を設定しています ...
dbconfig-common (1.8.47+nmu3+deb8u1) を設定しています ...

Creating config file /etc/dbconfig-common/config with new version
javascript-common (11) を設定しています ...
apache2_invoke: Enable configuration javascript-common
libdbi1:armhf (0.9.0-4) を設定しています ...
libjs-jquery (1.7.2+dfsg-3.2) を設定しています ...
libjs-jquery-cookie (10-1) を設定しています ...
libphp-adodb (5.15-1) を設定しています ...
librrd4 (1.4.8-1.2) を設定しています ...
php5-snmp (5.6.29+dfsg-0+deb8u1) を設定しています ...

Creating config file /etc/php5/mods-available/snmp.ini with new version
php5_invoke: Enable module snmp for cli SAPI
php5_invoke: Enable module snmp for apache2 SAPI
rrdtool (1.4.8-1.2) を設定しています ...
snmp (5.7.2.1+dfsg-1) を設定しています ...
cacti (0.8.8b+dfsg-8+deb8u6) を設定しています ...

↓<はい>を選択してEnter
 ┌────────────────────────┤ cacti を設定しています ├─────────────────────────┐
 │                                                                           │ 
 │ cacti は利用できるようになる前にはデータベースをインストールして設定する  │ 
 │ 必要があります。この設定を dbconfig-common で管理するようにもできます。   │ 
 │                                                                           │ 
 │ あなたが熟練したデータベース管理者でこの設定について手動で何をするのかを  │ 
 │ 知っている場合、あるいはデータベースが既にインストール及び設定されている  │ 
 │ 場合は、この選択を選ばない方が良いでしょう。何をすればいいのかについての  │ 
 │ 詳細については、大抵 /usr/share/doc/cacti に置かれています。              │ 
 │                                                                           │ 
 │ そうでない場合は、恐らくこの設定を選ぶのが良いでしょう。                  │ 
 │                                                                           │ 
 │ cacti のデータベースを dbconfig-common で設定しますか?                    │ 
 │                                                                           │ 
 │                    <はい>                      <いいえ>                   │ 
 │                                                                           │ 
 └───────────────────────────────────────────────────────────────────────────┘ 

↓MySQLのrootユーザのパスワードを入力し、<了解>を選択してEnter
  ┌────────────────────────┤ cacti を設定しています ├────────────────────────┐
  │ このパッケージが MySQL データベースとユーザを作る際に使う管理者権限アカ  │ 
  │ ウントのパスワードを入力してください。                                   │ 
  │                                                                          │ 
  │ データベースの管理権限を持つユーザのパスワード:                          │ 
  │                                                                          │ 
  │ ________________________________________________________________________ │ 
  │                                                                          │ 
  │                   <了解>                     <取消>                      │ 
  │                                                                          │ 
  └──────────────────────────────────────────────────────────────────────────┘ 

↓MySQLのcactiユーザのパスワードを入力し、<了解>を選択してEnter
  ┌────────────────────────┤ cacti を設定しています ├────────────────────────┐
  │ データベースサーバに cacti が登録するパスワードを入力してください。空の  │ 
  │ ままにしておくと、ランダムパスワードが生成されます。                     │ 
  │                                                                          │ 
  │ cacti 用の MySQL アプリケーションパスワード:                             │ 
  │                                                                          │ 
  │ ________________________________________________________________________ │ 
  │                                                                          │ 
  │                   <了解>                     <取消>                      │ 
  │                                                                          │ 
  └──────────────────────────────────────────────────────────────────────────┘ 

↓再度MySQLのcactiユーザのパスワード入力し、<了解>を選択してEnter
  ┌────┤ cacti を設定しています ├─────┐
  │                                   │ 
  │                                   │ 
  │ パスワードの確認:                 │ 
  │                                   │ 
  │ _________________________________ │ 
  │                                   │ 
  │      <了解>        <取消>         │ 
  │                                   │ 
  └───────────────────────────────────┘ 

dbconfig-common: writing config to /etc/dbconfig-common/cacti.conf

Creating config file /etc/dbconfig-common/cacti.conf with new version

Creating config file /etc/cacti/debian.php with new version
granting access to database cacti for cacti@localhost: success.
verifying access for cacti@localhost: success.
creating database cacti: success.
verifying database cacti exists: success.
populating database via sql...  done.
dbconfig-common: flushing administrative password

Creating config file /etc/apache2/conf-available/cacti.conf with new version

Creating config file /etc/lighttpd/conf-available/20-cacti.conf with new version
apache2_invoke: Enable configuration cacti
cacti-spine (0.8.8b-1+b3) を設定しています ...

Creating config file /etc/cacti/spine.conf with new version
libc-bin (2.19-18+deb8u6) のトリガを処理しています ...
libapache2-mod-php5 (5.6.29+dfsg-0+deb8u1) のトリガを処理しています ...
$

データベースをMyISAMからInnoDBに変更します。

$ cd /usr/share/cacti/cli
$ sudo php convert_innodb.php
Converting All Non-Memory Cacti Database Tables to Innodb with Less than '300000' Records
Converting Table -> 'cdef' Successful
Converting Table -> 'cdef_items' Successful
Converting Table -> 'colors' Successful
Converting Table -> 'data_input' Successful
Converting Table -> 'data_input_data' Successful
Converting Table -> 'data_input_fields' Successful
Converting Table -> 'data_local' Successful
Converting Table -> 'data_template' Successful
Converting Table -> 'data_template_data' Successful
Converting Table -> 'data_template_data_rra' Successful
Converting Table -> 'data_template_rrd' Successful
Converting Table -> 'graph_local' Successful
Converting Table -> 'graph_template_input' Successful
Converting Table -> 'graph_template_input_defs' Successful
Converting Table -> 'graph_templates' Successful
Converting Table -> 'graph_templates_gprint' Successful
Converting Table -> 'graph_templates_graph' Successful
Converting Table -> 'graph_templates_item' Successful
Converting Table -> 'graph_tree' Successful
Converting Table -> 'graph_tree_items' Successful
Converting Table -> 'host' Successful
Converting Table -> 'host_graph' Successful
Converting Table -> 'host_snmp_cache' Successful
Converting Table -> 'host_snmp_query' Successful
Converting Table -> 'host_template' Successful
Converting Table -> 'host_template_graph' Successful
Converting Table -> 'host_template_snmp_query' Successful
Converting Table -> 'plugin_config' Successful
Converting Table -> 'plugin_db_changes' Successful
Converting Table -> 'plugin_hooks' Successful
Converting Table -> 'plugin_realms' Successful
Converting Table -> 'poller' Successful
Converting Table -> 'poller_command' Successful
Converting Table -> 'poller_item' Successful
Converting Table -> 'poller_output' Successful
Converting Table -> 'poller_reindex' Successful
Converting Table -> 'poller_time' Successful
Converting Table -> 'rra' Successful
Converting Table -> 'rra_cf' Successful
Converting Table -> 'settings' Successful
Converting Table -> 'settings_graphs' Successful
Converting Table -> 'settings_tree' Successful
Converting Table -> 'snmp_query' Successful
Converting Table -> 'snmp_query_graph' Successful
Converting Table -> 'snmp_query_graph_rrd' Successful
Converting Table -> 'snmp_query_graph_rrd_sv' Successful
Converting Table -> 'snmp_query_graph_sv' Successful
Converting Table -> 'user_auth' Successful
Converting Table -> 'user_auth_perms' Successful
Converting Table -> 'user_auth_realm' Successful
Converting Table -> 'user_log' Successful
Converting Table -> 'version' Successful
$

Cactiへのアクセス

ブラウザからCactiのURL(http://IPアドレス/cacti)にアクセスします。

Cactiの初期設定画面が表示されるので、画面の指示に従いながら設定を行う。

↓Nextをクリック

↓Nextをクリック

↓Errorがないことを確認してFinishをクリック

↓admin/adminでログイン

↓adminの新しいパスワードを入力してSaveをクリック

↓ログイン後の初期画面

以上