読者です 読者をやめる 読者になる 読者になる

@0tofuの備忘録...

プログラミングとか仕事の話とかFIT3 RS(GK5)のメンテナンス記録等の雑記

無線LANルータ(ASUS RT-AC68U)をmackerel-agentで監視

この記事はMackerel Advent Calendar 2016 14日目の記事です。

qiita.com

 

今回は、私が自宅で使用している無線LANルータ(ASUS RT-AC68U)をmackerel-agentを利用しMackerelに監視させてみます。

Asuswrt-Merlinにファームウェアを書き換え

標準のファームウェアではmackerel-agentを導入できない為、Asuswrt-Merinファームウェアを書き換えます。

通常のファームウェアと同様に対象機器のファームウェアをダウンロードして更新するだけなので簡単です。

JFFSを有効化

この状態でmackerel-agentが使用可能になるのですが、再起動の度にmackerel-agentごと消えてしまうので、ユーザが書き換え可能なJFFS領域を確保します。

github.com

・ルータの設定画面 -> 管理よりJFFS partitionを有効化

f:id:move0tofu:20161209204553p:plain

また、以降の作業はルータへsshでログインし作業を行うのでsshを有効化しておきましょう。

f:id:move0tofu:20161212230541p:plain

mackerel-agentの導入

RT-AC68Uはarmなので、arm用のmackere-agentをダウンロードします。

また、mackerel-agentを動かすためにAPI keyが必要になりますので、事前に作成しておきます。

 

github.com

mackerel-agent install

mackerel-agentを起動

ルータ再起動時に自動起動すること及び実行時にx509のルート証明書エラーが出ないよう以下のシェルスクリプトを作成し、mackerel-agentが正常に動くようにします。

※証明書「ca-certificates.crt」はルータ内に見つけられなかった為、ubuntuサーバ等よりコピーしています。

/jffs/scripts/ 以下に作成し、再起動時に自動でスクリプトが動くようにします。

 

mackerel-agent start 

# 以下コマンドでバックグラウンドでmackerel-agentを起動
/jffs/scripts/mackerel-agent.sh &
mackereでグラフ確認

正しく動いていると、mackerelにグラフが作成され監視されていることが確認できます!

f:id:move0tofu:20161212233321p:plain

また、confファイルに以下を設定するとCPU、2.4GHz、5GHzWLANの温度も取得できるようになります。

RT-AC68U temp

Mackerelで見ると↓のような感じで出力されます。

f:id:move0tofu:20161214004305p:plain

ASUSのAsuswrt-merlinが導入可能なルーターであれば監視できると思いますので、気になる方は是非導入してみてください!

NVR510のポート開放(GUI)

3年ほど使っていたBuffaloのルーターが不調で新しいルーターに変えようと色々調べていると、過去に使用していたYAMAHAの新しいルーターが出たとのことなのでNVR510に買い替えました。

NVR510 - ルーター - ヤマハ株式会社

簡単な設定であればGUIからサクサクできるので、使い勝手は非常に良いです。

ただ、ポート開放の設定が少々分かりづらいので簡単な解説を…

 まずはルーターにログイン

「詳細設定」→「NAT」を選択

インターフェースの一覧の適用されているNATディスクプター番号と紐づくものがNATディスクリプタの一覧にいると思うので、それの「設定」をクリック

f:id:move0tofu:20161129091848p:plain

静的IPマスカレードの設定

すると下の画面が開くので「静的IPマスカレードの設定」をクリック

f:id:move0tofu:20161129092332p:plain

ポート開放している一覧が出るので、必要に応じて左下の「+」ボタンをクリックしポート開放を行うIPアドレスやポートを設定。

f:id:move0tofu:20161129092458p:plain

 確認ボタンを押すと以下のメッセージが表示される(ファイアーウォールの通過設定)ので、必要に応じて「はい・いいえ」を選択して保存します。

f:id:move0tofu:20161129092645p:plain

これでめでたくポート開放ができました!

Raspberry Pi 3 Model B環境構築 その3(WiFi設定)

前回の記事はこちら…
move0tofu.hatenablog.jp

今回はWiFiの設定を行います。
参考にするURLはここ(ただし、これをそのまま利用するとアクセスポイントのパスワードが丸見えなので暗号化します。)
www.raspberrypi.org

WiFiをスキャンして無線LANが正しく機能しているか確認
# 以下コマンドを打って、自分が接続したいアクセスポイントが表示されることを確認します。
$ sudo iwlist wlan0 scan
wlan0     Scan completed :
          Cell 01 - Address: 00:24:A5:29:xx:xx
                    Channel:2
                    Frequency:2.417 GHz (Channel 2)
                    Quality=46/70  Signal level=-64 dBm
                    Encryption key:on
                    ESSID:"xxxxxxxxxx-2"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
                              18 Mb/s; 36 Mb/s; 54 Mb/s
                    Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s
                    Mode:Master
                    Extra:tsf=0000000000000000
                    Extra: Last beacon: 40ms ago
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : TKIP CCMP
                        Authentication Suites (1) : PSK
          Cell 02 - Address: 80:EA:96:EE:xx:xx
アクセスポイントを設定
# zsh等を使用していると[wpa_supplicant.conf]へ書き込みできない為、bashを利用します。
$ sudo bash
# [wpa_supplicant.conf]の権限を変更
$ sudo chmod 660 /etc/wpa_supplicant/wpa_supplicant.conf
# 以下コマンドで[wpa_supplicant.conf]へアクセスポイントの情報を書き込む(この時、パスワードが暗号化される)
$ sudo wpa_passphrase "アクセスポイント名" "アクセスポイントのパスワード" >> /etc/wpa_supplicant/wpa_supplicant.conf
# [wpa_supplicant.conf]にアクセスポイントの情報が書き込まれたことを確認
$ cat /etc/wpa_supplicant/wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
	ssid="0tofu_WiFi"
	#psk="先ほどのコマンドで入力したパスワード(不要であれば削除する)"
	psk=暗号化されたパスワード
}
無線LANアダプタを再起動し、アクセスポイントに接続可能なことを確認します。
# 無線LAN down
$ sudo ifdown wlan0
# 無線LAN up
$ sudo ifup wlan0
# 接続確認 (inet / inet6アドレスが表示されていることを確認)
$ sudo ifconfig wlan0
wlan0     Link encap:イーサネット  ハードウェアアドレス b8:27:eb:9a:f2:bf
          inetアドレス:192.168.0.99 ブロードキャスト:192.168.0.255  マスク:255.255.255.0
          inet6アドレス: fee0::dd01:512b:f241:fa2c/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:316 エラー:0 損失:259 オーバラン:0 フレーム:0
          TXパケット:30 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000
          RXバイト:95681 (93.4 KiB)  TXバイト:5600 (5.4 KiB)

今日はここまで

Raspberry Pi 3 Model B (Element14)

Raspberry Pi 3 Model B (Element14)

Raspberry Pi 3 Model B環境構築(マウス、キーボード不要) その2(初期設定)

前回の記事でmicroSDへraspbianを導入し、raspberrypiへセットしraspbianが起動するまで確認しましたのでいよいよ本格的なセットアップです。
move0tofu.hatenablog.jp

raspbianの各種パッケージを最新にUPDATE

以下のコマンドでパッケージを最新化します。

# パッケージリストの更新
$ sudo apt-get update
# カーネル・パッケージの更新
$ sudo apt-get upgrade
raspbianのディスク容量アップ

素の状態だとこのような感じでmicroSDカードの全容量がマウントされていないので…全容量を使用可能に設定します。

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.2G  888M  218M  81% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M   12M  451M   3% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1   60M   20M   41M  34% /boot
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo raspi-config

f:id:move0tofu:20160429232844p:plain
1. Expand Filesystemを選択します。

f:id:move0tofu:20160429233017p:plain
パーティション拡張したよ!次回起動時から有効だよ!と言われるので再起動
f:id:move0tofu:20160429233356p:plain

めでたくディスク容量が拡張されました。

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  884M   27G   4% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M  6.2M  457M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1   60M   20M   41M  34% /boot
pi@raspberrypi:~ $
raspbianの言語設定

ディスク容量の時と同じく[sudo raspi-config]で設定します。
f:id:move0tofu:20160429233812p:plain
5. Internationalisation を選択します。

f:id:move0tofu:20160429233928p:plain
I1 Change Locale を選択します。

選択した中からデフォルトの言語を選択します。(ja_JP.UTF-8を選択しました。)
f:id:move0tofu:20160429234307p:plain

タイムゾーンの設定

先ほどと同じくraspi-configの5. Internationalisationを選択します。

f:id:move0tofu:20160429234415p:plain
I2 Change Timezone を選択します。

Asia -> Tokyoの順にタイムゾーンを選択します。

vimエディタの導入

デフォルトでnanoエディタになっているので、vimを使います。

# vimをインストール
$ sudo apt-get install vim
# nanoとedを削除
$ sudo apt-get autoremove nano ed
raspberrypiのファームウェア更新

rpi-updateを使用してファームウェアを更新します。
github.com

# rpi-updateの導入
$ sudo apt-get install rpi-update
# ファームウェア更新
$ sudo rpi-update
# 更新前
$ uname -a
Linux raspberrypi 4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 GMT 2016 armv7l GNU/Linux
# 更新後
$uname -a
Linux raspberrypi 4.4.8-v7+ #880 SMP Fri Apr 22 21:55:04 BST 2016 armv7l GNU/Linux
リポジトリの変更

RaspbianMirrors - Raspbianを参考に日本のサーバへ変更

$ sudo vim /etc/apt/sources.list
deb http://ftp.jaist.ac.jp/raspbian jessie main contrib non-free rpi
#deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

とりあえずここまで

Raspberry Pi 3 Model B (Element14)

Raspberry Pi 3 Model B (Element14)

Raspberry Pi 3 Model B環境構築(マウス、キーボード不要) その1(microSDカード作成まで)

先日発表されたRaspberry Pi 3 Model Bが日本国内でも販売開始され、早速届いたので環境構築を行います。

akiba-pc.watch.impress.co.jp

用意するもの

  • Raspberry Pi 3 Model B
  • microSD card (今回は32GBのものを用意)
  • LANケーブル (ssh経由で設定する為、初期設定に必要。Wi-Fi設定後は不要)
  • microSDにraspbianを書き込む為のPC (私はmacで行っています)

microSDにRaspbianのイメージ書き込み

Raspbianの入手

下記リンクよりRASPBIAN JESSIE LITEを入手
www.raspberrypi.org

ddrescueのインストール

>||dd||<コマンドだとmicroSDへの書き込みが遅いので、代わりにddrescueコマンドで書き込む為homebrewよりddrescueをインストール

[~]$ brew install ddrescue
microSDをFAT32でフォーマット
[~]# 下記コマンドでmicroSDのマウントを確認
[~]$ diskutil list
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.3 GB    disk2
   1:             Windows_FAT_32 boot                    62.9 MB    disk2s1
   2:                      Linux                         31.3 GB    disk2s2
[~]# 今回であれば/dev/disk2にmicroSDがマウントされているので、マウントポイントを指定してFAT32にフォーマット
[~]$ sudo diskutil eraseDisk FAT32 RASPBIAN MBRFormat /dev/disk2
Password:
Started erase on disk2
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk2s1 as MS-DOS (FAT32) with name RASPBIAN
512 bytes per physical sector
/dev/rdisk2s1: 61145888 sectors in 1910809 FAT32 clusters (16384 bytes/cluster)
bps=512 spc=32 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=2 drv=0x80 bsec=61175806 bspf=14929 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk2
RaspianをmicroSDに書き込む
[~]# 先ほどのdiskutil listで確認したマウントされているmicroSDをアンマウント
[~]$ sudo diskutil umountDisk /dev/disk2
Password:
Unmount of all volumes on disk2 was successful

[~]# ddrescueコマンドでraspianをmicroSDに流し込む (microSDの速度にもよりますが、10分程度かかります)
[~]$ sudo ddrescue 2016-03-18-raspbian-jessie-lite.img /dev/disk2 --force
GNU ddrescue 1.20
Press Ctrl-C to interrupt
rescued:     1361 MB,   errsize:         0 B,    current rate:    589 kB/s
   ipos:     1360 MB,    errors:         0,      average rate:   1872 kB/s
   opos:     1360 MB,  run time:      12m 7s,  remaining time:         n/a
time since last successful read:          0s
Finished
Raspberry Piにセットして起動確認

作成したmicroSDカードをRaspberry Piにセットし、microUSBで電源を挿せば起動します。
起動した後、以下コマンドで問題なくRaspberry Piにssh接続できることを確認します。

[~]$ ssh pi@raspberrypi.local
Password:(初期パスワードはraspberry)

Raspberry Pi3 Model B (Element14)

Raspberry Pi3 Model B (Element14)


とりあえず今回はここまで・・・続きは別の記事に書きます。