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
以上で終了。お疲れ様でした(´・ω・`)
ルータだって嘘をつく
全てのVersionで該当するかは判らないがハマったお話(´・ω・`)
IOS-XRにてBGP Peer の IN/OUT route-policy更新後に
即反映して欲しくないので運用上この設定を入れてました。
router bgp XXXXXX
bgp auto-policy-soft-reset disable
これを入れるとclear bgp ipv4 unicast X.X.X.X soft [in|out] をするまで
反映しなくなります。
ただし、BGP Peerのout policyを変更して新たに経路を広報しようとした場合
clear直前のステータス確認として
show bgp ipv4 unicast neighbors X.X.X.X advertised-routes を打つと
clear後の状態を表示してしまいます。
あれ?もうadvertiseしてるならclear不要なのかな?って思うかもしれませんが
実際には反映されてません。
これ、対向が自社内ならreceived routeとかで確認して気がつけるかもしれないが
うっかり更新を忘れる可能性があるのでご注意を。
因みに、4.3系で引っかかりました(´・ω・`)
Raspberry Pi 2 で 802.1Q
やっと、Raspberry Pi を買いました(`・ω・´)
利用先の環境はVlan必須なのでRaspberry Piでの設定を探すも出てこない・・・。
Ubuntuと同じ様な設定で行けたので一応メモ
Vlanパッケージをインストール
# sudo apt-get install vlan
Vlan追加 (eth0にvlan200とvlan400を追加)
# sudo vconfig add eth0 200
# sudo vconfig add eth0 400
/etc/network/interface配下にeth0.200 と eth0.400 の設定を記述
(auto eth0.X00を忘れるとリブート後にifが見えない)
auto eth0.200
iface eth0.200 inet static
address X.X.X.X
netmask X.X.X.Xauto eth0.400
iface eth0.400 inet static
address X.X.X.X
netmask X.X.X.X
The Netflix ISP Speed Index
ついに日本のISPに対しての結果が公表されたようです。
http://ispspeedindex.netflix.com/country/japan/
各社色々と思うところはあるんでしょうけど
晒しあげを食らった形になるFreebitさんはどうするんでしょうねw
AS714とのPeering
iOS祭りも落ち着いた感じですが、今回の騒ぎも偉い人からお金の話について
色々と文句を言われて萎えました。
CDNの某A社が使われなくなったのは、こちら側のコントロールの範疇を
越えてるのでどうしようにもできんがな・・・(´・ω・`)
Appleだけに影響があるなら良いんですが、今回は他の所にも
迷惑かけてしまったので何かしら対策は講じようとしてるんですけどね。
そこで、AS714のPeeringDB見てて気がついたのですが
国内のIXではIPを2つ持って所が多いんですね。
http://www.peeringdb.com/view.php?asn=714
BBIX Tokyo : 218.100.6.89
EQUINIX Tokyo :203.190.230.109
EQUINIX Tokyo :203.190.230.107
JPIX :210.171.224.164
JPIX :210.171.224.64
JPNAP Tokyo :210.173.176.131
JPNAP Tokyo :210.173.176.129
他所様から聞いたお話とかと合わせると、
どうやら配信元が違うらしいので2つともPeerしておいた良いらしいです。
本当は他所様に迷惑かけるからIXで繋ぐのは勘弁して欲しいんですけどね・・・。
また、面倒な仕事が増えて嫌になるわ(ヽ´ω`)
PSNowのTraffic
気になったきっかけはPeeringのRequestが来てたからから(´・ω・`)
ゲームがTrafficに与える影響って結構あったりするので色々調査。
まずは公式HPを見る。
http://www.jp.playstation.com/psnow/
「PlayStation™ Now」(PS Now)は、クラウド技術を活用したPlayStation®のストリーミングゲームサービスです。クラウドサーバーに格納された幅広いジャンルのPlayStation®3タイトルを、様々な対応デバイスからストリーミング経由で遊ぶことができます。
この中でストリーミング経由という文言が厄介。
図には更に映像をストリーミング配信と書いてあるΣ(・∀・;)
これ、ローカルにデータを一切置かない方式なんだろうね。
もう、サービス自体は始まってるみたいなのでPeering Requestが来た
AS番号を元にPeeringDBやFlowデータから色々と確認してみると。
- Facilityは海外(USとUK)にしか無いっぽい?
- 送信元Prefixは/24が1個のみ
映像のストリーミングなのに海外拠点のみで遅延が問題になりそう?
遅延でアクション系のゲームはまともに動かないんじゃないかと心配に・・・。
Prefixが/24 1個なのでRIPEstatからBGPlayで上位のTransitが何処か調べると
- KDDI (AS2516)
- NTT-Communications (AS2914)
の2つのみ。
この面子だと国内に鯖がありそうな匂いがしますね。
AS2914の方のNTT-Communicationsは各Prefixに対して
何処のRegionから受信したかBGP Communityを付けてくれるので
次はLooking Glass - NTT Americaで調べてみる。
Community: 2914:370 2914:1408 2914:2401 2914:3400
という結果が出たので次はPolicies & Procedures - Routing Policiesで
答え合わせ(`・ω・´)
- 2914:370 → よくわかんない(´・ω・`)
- 2914:1408 → Tokyo, Japan
- 2914:2401 → jp (Japan)
- 2914:3400 → Asia
という事でPSNowの鯖は都内にありそうですね〜。
今後、サービスが流行ると結構厄介なので注視しておきますか。
AppStoreからのダウンロードが遅い
という問い合わせを受けて調べることに・・・(´・ω・`)
Flowデータから調べるとTransit回線経由なので各事業者に問い合わせつつ
自分自身でも出来る限り調査をする。
該当PrefixはAppleからPCCW、Telstra、TATAへ広報されてる様で
そこからうちが契約してる事業者経由で落ちて来てるみたい。
うちが複数社Transit回線契約してても全部Telstra経由みたいなので
Apple〜Telstra間が輻輳してて全滅な可能性が高い/(^o^)\
Transit事業者にうちの経路をTelstraに広報しない様にするか
Prependつけて貰うしか無いかなぁ・・・。
まぁ、PCCW/Telstra/TATAって面子をみるとSingaporeや香港あたりに
サーバが置いてあったりするんですかね〜 ヽ(´ー`)ノ