Raspberry Pi 2 Model B で Observium
Raspberry Pi 2 Model B に Observiumを入れたお話
以下を参考にしました。偉大なる先人に感謝
Observium on a Raspberry Pi | Linuxpinguin.de
- rootでbash操作
sudo bash
- パッケージをインストール
apt-get install libapache2-mod-php5 \
php5-cli php5-mysql php5-gd \
php5-mcrypt php5-json \
php-pear snmp fping \
mysql-server mysql-client python-mysqldb \
rrdtool subversion whois \
mtr-tiny ipmitool \
graphviz imagemagick
なんかパッケージが取得出来なかった物があってエラーでとまった(´・ω・`)
気休めでupdateしてみる
apt-get update
再度パッケージインストール
apt-get install libapache2-mod-php5 \
php5-cli php5-mysql php5-gd \
php5-mcrypt php5-json \
php-pear snmp fping \
mysql-server mysql-client python-mysqldb \
rrdtool subversion whois \
mtr-tiny ipmitool \
graphviz imagemagick
ちゃんと進んだのでインストール終わるまで暫く放置
インストールが終わるとMySQLのroot passwordを作れ!って言われるので作る。
- observium用のディレクトリを作成&移動
mkdir -p /opt/observium && cd /opt
- observiumのパッケージを取得してtar解凍
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz
- ディレクトリ移動とテンプレからコピーしてconfigを作る
- mysqlにrootとして入る。
- パスワード聞かれるのでインストール時に設定した物を入力
mysql -u root -p
- observiumというデータベースを作成
mysql> CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- GRANT構文の実行権限を持つユーザを作成
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY '<observium db password>';
一度エラーになったので備忘録的メモ
IDENTIFIED BY の後でパスワードを入れる時にシングルクォーテーションで囲むの忘れたらエラーした。
- 権限反映だけど、GRANT構文で付与する場合は不要っぽいのでおまじない的?
mysql> flush privileges;
- 終わったので抜ける
mysql> \q
- データベースのデフォル設定スクリプト実行
実行すると怒られる(´・ω・`)
WARNING. Direct call to this script is no longer supported, please use './discovery.php -u' from main observium directory.
本家のDocumentationにも'./discovery.php -u'でやれって書いてるのでそれで行けそう。
Ubuntu/Debian Installation - Observium Documentation
今度はどうだ!
./discovery.php -u
また怒られた(´・ω・`)
MySQL Error 1045: Access denied for user 'USERNAME'@'localhost' (using password: YES)
ちょっと調べると「config.php」の冒頭にMySQLで設定したユーザー名/パスワードを
記入する場所があるのでそこを編集する。言われなきゃわかんないよ!!
// Database config --- This MUST be configured
$config['db_extension'] = 'mysqli';
$config['db_host'] = 'localhost';
$config['db_user'] = 'USERNAME';
$config['db_pass'] = 'PASSWORD';
$config['db_name'] = 'observium';
リベンジ!
./discovery.php -u
キタ━━━━(゚∀゚)━━━━!!
___ _ _
/ _ \ | |__ ___ ___ _ __ __ __(_) _ _ _ __ ___
| | | || '_ \ / __| / _ \| '__|\ \ / /| || | | || '_ ` _ \
| |_| || |_) |\__ \| __/| | \ V / | || |_| || | | | | |
\___/ |_.__/ |___/ \___||_| \_/ |_| \__,_||_| |_| |_|
Observium Community Edition 0.16.1.7533
http://www.observium.orgInstall initial database schema ...
- log用とRRD用のディレクトリを作成してオーナー変更
mkdir logs
mkdir rrd
chown www-data:www-data rrd
- apacheの設定変更
apache2.4になってて書式が変更されてるので
公式のサンプルの方から持ってくる。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /opt/observium/html
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /opt/observium/html/>
DirectoryIndex index.php
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerSignature On
</VirtualHost>
/etc/apache2/sites-available/default って書いてあるけど自分の環境は
/etc/apache2/sites-available/000-default.conf でした。
- apacheのモジュール追加&有効化してリスタート
php5enmod mcrypt
a2enmod rewrite
apache2ctl restart
- ユーザ追加
cd /opt/observium
./adduser.php <username> <password> <level>
- CRONに追加 & リスタート
vi /etc/cron.d/observium
Add these lines:
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py 2 >> /dev/null 2>&1
And now restart cron:
service cron restart
以上で終了。お疲れ様でした(´・ω・`)