最新版は こちら です。
概要
IDCFクラウドさんの仮想環境に、オープンソース版も存在する監視サーバ PandoraFMS (http://pandorafms.org/) をインストールします。
- OSは、構築の簡易さを考慮し、IDCF提供のUbuntu最新版を利用する
- PandoraFMSも、構築の簡易さを考慮し、Articaリポジトリを利用する
- PnadoraFMSを利用する仮想マシンは、IDCFが推している「Mackerel」に対抗する為、低コストプラン(=500円サーバプラン)を利用する
- オンプレミスの監視サーバの方が、カスタマイズによる発展性は高い。
- それを体感してもらうため、なるべく敷居が低くPandoraFMSを使える環境を作れる、を目標としている。
何が出来るようになるのか
以下の環境がそろいます
- PandoraFMSの最新のサーバ使えるようになります
- 以下の通信を許可します。
- SSH
- HTTP
利用を続ける場合は、セキュリティ対策を別途実施してください。
- OSを最新の状態に保つ
- ログインできるアカウントの管理をする
- デフォルトパスワードの変更
- SSHで鍵認証の強制
- JVN等を定期的に参照し、脆弱性情報に気を配り、必要に応じて対応する
状況開始
OSの準備
IDCFクラウドが用意している「お勧めのテンプレート」の Ubuntu Server 14.04 TLS 64-bit を利用します。
項目 | 選択値 |
---|---|
マシンタイプ | light.S1(1CPU, 1GB RAM) |
イメージ | UBUNTU: Ubuntu Server 14.04 LTS 64-bit(構築時点で最新) |
ボリューム | ルートディスク:15GB, データディスク:なし |
SSH Key | 任意で利用 |
仮想マシン台数 | 1 |
ネットワークインターフェース | デフォルト |
マシン名 | 任意 |
グループ名 | 任意 |
これで 500円のUbuntuサーバ が用意できます。
- コンソールアクセスをすると、rootでログインできます。
- rootパスワードは、メールにて配布されます。必要に応じて変更してください。
外部からのSSH接続設定
ローカルコンソールは使い勝手が悪いので、インターネット向けにSSH接続を許可します。
- この際、rootログインはホスト作成時に指定した鍵が必須になります。
- 必要に応じてsshd_configの調整をしてください。
まずは、仮想ルータの設定をします。
ファイアウォール
用途 | ソースCIDR | タイプ | ポートレンジ |
---|---|---|---|
SSHアクセス | ANY | SSH | 22 |
HTTPアクセス | ANY | HTTP | 80 |
ポートフォワード
用途 | パブリックポート | プライベートポート | 仮想マシン |
---|---|---|---|
SSH転送 | SSH | 22 | 今回作成した仮想マシン名 |
HTTP転送 | HTTP | 80 | 今回作成した仮想マシン名 |
インターネット経由で接続しましょう
- 鍵が必須なので、ホスト作成時に選択した鍵を利用して接続しましょう。
- これでコンソールにコピーや貼り付けができます。
- HTTPは今の時点では接続できません。PandoraFMSと一緒にapache2が入るまで待ちましょう。
Articaのプライベート リポジトリを使い、PandoraFMSを入れる
Ubuntu 14でArticaリポジトリを使う場合は、debian squeezeの物を使えばよいようだ。
PandoraFMSを入れた後、MySQLも入れておきます。
# vi /etc/apt/sources.list
deb http://firefly.artica.es/debian/squeeze /
(上記を追加)
# apt-get update
# apt-get install pandorafms-console pandorafms-server pandorafms-agent-unix
...大量のパッケージがインストールされる
# apt-get install mysql-server
...MySQL "root" userのパスワードを入れる
これで使えるようになっているようだ。
PandoraFMSの初期設定
初期設定画面が使えるように、公開ディレクトリにリンクをする
- DocumentRoot的には /var/www/html となっているが、apt-getで入れたPandoraFMSのデータは /var/www/pandora_console に配置される。
[root@:~]# cd /var/www/
[root@:/var/www]# ls
html pandora_console
[root@:/var/www]# cd html/
[root@:/var/www/html]# ln -s ../pandora_console .
[root@:/var/www/html]# ls -lh
total 12K
-rw-r--r-- 1 root root 12K Jul 14 15:50 index.html
lrwxrwxrwx 1 root root 18 Jul 14 16:12 pandora_console -> ../pandora_console
[root@:/var/www/html]#
上記が出来たら、WEBアクセスを行う
- http://YOUR_SERVER_ADDRESS/pandora_console/install.php
以下の点の修正以外は、デフォルトで大丈夫
- "ENVIRONMENT AND DATABASE SETUP"
- "DB Password for this user"
- 先程MySQLを入れたときに入力した、MySQL "root" Userのパスワードを入れる
- "Full path to HTTP publication directory"
- これは /var/www/html/pandora_console 辺りにするのが良い
- "DB Password for this user"
- "CREATING DATABASE AND DEFAULT CONFIGURATION FILE"
- "Established...generated:"
- PandoraのDBパスワードになるので、記録を残しておく (後で、/etc/pandora/pandora_server.configに書く)
- "Established...generated:"
インストール完了後、install.php 若しくは リネームされたinstall_old.php を削除して、PandoraServereを起動する。自動起動の設定はされている。
[root@:]# rm /var/www/pandora_console/install_old.php
[root@:]# vi /etc/pandora/pandora_server.config
dbpass <<インストール時に表示されていたパスワードを記載>>
[root@:]# /etc/init.d/pandora_server start
Pandora FMS Server 6.0SP3 Build 160627 Copyright (c) 2004-2015 ArticaST
This program is OpenSource, licensed under the terms of GPL License version 2.
You can download latest versions and documentation at http://www.pandorafms.org
[*] Backgrounding Pandora FMS Server process.
Pandora Server is now running with PID 12831
[root@:]# /etc/init.d/tentacle_serverd start
Tentacle Server is now running with PID 12887
[root@:]# /etc/init.d/pandora_agent_daemon start
Pandora FMS Agent is now running with PID 12907
[root@:]#
PandoraFMSへWEBアクセス
設定が終わったので、PandoraFMSのコンソールへアクセスする
-
http://SERVER-ADDRESS/pandora_console/index.php
- デフォルトは、ユーザ:admin, パスワード:pandora です。
- ログイン後、パスワードは変更することが推奨されています。
最初に"Pandora FMS instance identification wizard"が起動します。
- "Language code for Pandora"で"日本語"を選択する
- 日本語になった"タイムゾーン設定"で、アジア/Tokyo を選択
これで利用できるようになりました。
- 自分自身のdefault設定の監視が入っています。
- ディスクが、使用率監視ではなくて "% of free space in this volume"(空き容量率)なので、普通は微妙かも。
- ここら辺の調整は、どのように監視したいか、次第なので好きにいじろう。もう監視サーバは稼働したのだから自由にやろう。
警告の調整
PandoraFMSコンソールを見ると、何個かの警告が出ていると思います。
これらの修正を行います。
-
php.ini
に対して、以下の警告が出ている-
MAX_INPUT_TIME
の推奨値は-1
である -
MAX_EXECUTION_TIME
の推奨値は0
(無制限)である -
UPLOAD_MAX_FILESIZE
の推奨値は800M 又はそれ以上
である -
MEMORY_LIMIT
の推奨値は500M又はそれ以上
である - disable_function変数に
system()
又はexec()
関数が含まれている- 尚、php.iniは二か所に存在している
- /etc/php5/apache2/php.ini
- /etc/php5/cli/php.ini
- 尚、php.iniは二か所に存在している
-
- 両方のファイルを設定変更したら
apacheプロセス
を再起動せよ
これの対応をする
# vi /etc/php5/cli/php.ini
# vi /etc/php5/apache2/php.ini
# /etc/init.d/apache2 restart
* Restarting web server apache2 [ OK ]
#
上記でおおよそ使える状況になる。
以上。
トラブルシュート
ssh/httpアクセスが出来ない
- 仮想ルータの設定が出来ているかを再確認する
- ファイアウォールの設定はしたが、ポートフォワードを忘れた、等
- 対象サービスは起動しているかを確認する
- /etc/init.d/ssh status などで稼働状況を確認
- HTTPであれば、/var/log/apache2/*.log を確認する
- アクセスはできているが、コンテンツやApache側の問題である場合は、access.logやerror.logに何らかの記録が残ることが多い
- アクセス元から順を追って、確認していこう
初回のinstall.phpを進めていくと、エラーになる
大半がDBの設定に起因するものです
- DBパスワード、入れていますか
- そもそも、MySQL入れていますよね?
go-cve-dictionary のfetch中に、vulsをインストールできない
light.S1ではメモリが足りない、ようです。
go-cve-dictionaryのfetchが終わるのを待ってみましょう。
以上です。