2017/12/09

Virtual Hostのログをmackerel-plugin-accesslogで見える化する

アクセスログもMackerelで見える化

Mackerel(マカレル): 新世代のサーバ管理・監視ツールにWebのアクセスログを解析するmackerel-plugin-accesslogというプラグインがある。アクセス数をHttp Status Code別にグラフ化してくれる便利なプラグインだが、Virtual Host別にアクセスログを分けている場合も、使える。

オプションmetric-key-prefix

プラグインのReadMeには書いていないのだが、

-metric-key-prefix
というオプションがある。データを送信するときのキーのprefixを指定するオプションだ。アクセスログごとに異なるprefixを指定すれば、複数のアクセスログを扱うことができる。

mackerel-agent.confの書き方

confファイルの[]の部分をどう書けばよいか迷うが、この部分は重複しなければよい。2つのピリオドで区切られた文字列であるので、plugin.metric.ユニークな文字列 とする。


[plugin.metric.hostA]
command = "mackerel-plugin-accesslog -metric-key-prefix hostA /var/log/httpd/hostA.access_log"

[plugin.metric.hostB]
command = "mackerel-plugin-accesslog -metric-key-prefix hostB /var/log/httpd/hostB.access_log"
のように書けば、hostAのグラフとhostBのグラフがそれぞれ生成される。職場で7個Virtual Hostが動いているApache Httpd Serverがいるが、この設定でそれぞれのグラフが描かれている。

自作プラグインも簡単

便利なプラグインが増えてきているとはいえ、ニーズを満たすようなものがないこともある。プラグインは書きやすいので、自分で書いてみるのもあり。



2017/11/29

Infrastructure As Codeの道のりは長い

Mackerelを入れてカオスなサーバ管理から脱出する道を作る

転職して2月から働いている職場は、100台以上のサーバから構成されるシステムを構築、運用している。
処理しているデータ量からするとオーバースペックのように思えたので、台数を減らそうとした。が、サーバリソースの使用状況がわからない。Zabbixで監視しているサーバもあるようなのだが、Zabbixの画面がカオスなので、諦めた。

そうは言っても、リソース監視を行わないと削る余裕のあるサーバ群がわからない。というわけで、プライベートで使っているMackerel(マカレル)を導入した。

Mackerelは、AWSインテグレーションやAzureインテグレーションの機能を使って、対象のサーバにmackerel-agentをインストールせずにリソース監視を行うことができる。しかし、mackerel-agentを入れたほうが、より細かいメトリクスを収集できるし、ミドルウェアの状態も監視できる。

構成管理は?

mackerel-agentをインストールしようとして、サーバの構成管理を尋ねた。していなかった。サーバのディスクイメージを取っているとのことだったが、それは管理とは言わない。
構成管理ツールに関して質問しても、回答なし。結局、インフラを見ていた人が退職する時に作った資料に、Ansibleの文字があった。が、すでに構成管理ツールを調べて試用に入っていた段階。横展開する時に再度検討することにした。

これ、今の状況不明な設定状態をベースに構成管理を行っても不安なので、1からやり直す必要がある。先は長い。



2017/10/14

ReadyNASで外付けUSB HDDをフォーマットする

USBハードディスクをReadyNAS102に繋げる

Macのバックアップ先として使うため、ReadyNASに外付けHDDをつないだ。


前に買っておいたIO Dataのもつないで、増設2台。

ところが、ReadyNASを再起動させても、認識されない。ググってみたところ、 遙かデジタリアへ: ReadyNAS DUO v2に、LHR-2BNU3(USB3.0の2ベイHDDケース)で4TB HDDを接続 に、事前にフォーマットが必要という記述を見つける。が、今更ディスプレイの裏にあるReadyNASを引っ張り出すなんてことはしたくない。
というわけで、ReadyNASにsshで入り、dmesgでデバイスの認識状況を確認する。

[7015413.503075] usb 3-1: new SuperSpeed USB device number 2 using xhci_hcd
[7015413.524842] usb 3-1: New USB device found, idVendor=0411, idProduct=0257
[7015413.524862] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[7015413.524872] usb 3-1: Product: HD-LCU3
[7015413.524881] usb 3-1: Manufacturer: BUFFALO
[7015413.524890] usb 3-1: SerialNumber: 0000002F00XXXXXX
[7015413.526591] usb-storage 3-1:1.0: USB Mass Storage device detected
[7015413.552465] scsi host3: usb-storage 3-1:1.0
[7015414.553584] scsi 3:0:0:0: Direct-Access     BUFFALO  External HDD     0000 PQ: 0 ANSI: 3
[7015414.568085] sd 3:0:0:0: Attached scsi generic sg2 type 0
[7015424.405588] sd 3:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16).
[7015424.406087] sd 3:0:0:0: [sdc] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB)
[7015424.406101] sd 3:0:0:0: [sdc] 4096-byte physical blocks
[7015424.406737] sd 3:0:0:0: [sdc] Write Protect is off
[7015424.406753] sd 3:0:0:0: [sdc] Mode Sense: 73 00 10 08
[7015424.407404] sd 3:0:0:0: [sdc] Write cache: enabled, read cache: enabled, supports DPO and FUA
[7015424.410365] sd 3:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16).
[7015424.462484]  sdc: sdc1 sdc2
[7015424.469264] sd 3:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16).
[7015424.471199] sd 3:0:0:0: [sdc] Attached SCSI disk
[7015432.763048] usb 3-2: new SuperSpeed USB device number 3 using xhci_hcd
[7015432.783826] usb 3-2: New USB device found, idVendor=04bb, idProduct=014a
[7015432.783847] usb 3-2: New USB device strings: Mfr=10, Product=11, SerialNumber=3
[7015432.783858] usb 3-2: Product: I-O DATA HDCL-UT
[7015432.783867] usb 3-2: Manufacturer: I-O DATA DEVICE, INC.
[7015432.783876] usb 3-2: SerialNumber: 000277A462XXXXXX
[7015432.787721] usb-storage 3-2:1.0: USB Mass Storage device detected
[7015432.803300] scsi host4: usb-storage 3-2:1.0
[7015435.813652] scsi 4:0:0:0: Direct-Access     I-O DATA HDCL-UT          5112 PQ: 0 ANSI: 6
[7015435.828640] sd 4:0:0:0: Attached scsi generic sg3 type 0
[7015441.829106] sd 4:0:0:0: [sdd] Spinning up disk...
[7015443.172944] .ready
[7015443.173560] sd 4:0:0:0: [sdd] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
[7015443.173898] sd 4:0:0:0: [sdd] Write Protect is off
[7015443.173915] sd 4:0:0:0: [sdd] Mode Sense: 67 00 10 08
[7015443.174229] sd 4:0:0:0: [sdd] Write cache: enabled, read cache: enabled, supports DPO and FUA
[7015443.225334]  sdd: sdd1 sdd2
[7015443.230743] sd 4:0:0:0: [sdd] Attached SCSI disk
2台つなげたので、sdcとsddとして認識されていた。

ReadyNAS上で初期化する

USBディスクとして認識されているのであれば、問題ない。Linuxをインストールするときの一般的なディスクの初期化と同じだ。
fdiskでパーティションを作って、mkfs.ext4でフォーマット。その後、ReadyNASを再起動させたら、管理画面に表示された。



2017/09/02

Mackerelでping監視

ping監視

時々ネットワークが遅くなることがあるので、pingで普段から計測することにした。そういえば、Mackerel(マカレル)ではやっていなかったな。

plugin script

mackerel-agent.confに、ホストメトリックとして送信するように追加する。

[plugin.metrics.ping]
command = "scriptをおいたディレクトリ/mackerel-plugin-ping.sh 監視host1 監視host2 ..."

監視ルール

pingは5秒まで待って、応答がなければ5000という値を送信している。ので、5000より大きい値が送られてくることはない。Mackerelで監視ルールを設定する時の注意点。

追記

Linuxだと表示メッセージが異なるので、awkのscriptを修正して対応。



2017/08/31

iPhoneのケーブルが裂けてきた

Apple認証のケーブル

iTunesの同期や充電に使うためのケーブル。MFi認証がないと問題が生じることがあるというのでAmazonで探して使っていたのだが、1年持たずに皮膜が裂けて、中の金属が見えてきた。

耐久性?

通勤時のみならず、休日もIngressやポケモンGoで出歩く際に丸めて胸ポケットに入れていたので、それなりに負荷がかかっていたが、買って1年持たないとは…。iMacに挿しっぱなしにしてあるものと、予備としてカバンに入れてあるものについては問題ないので、使用頻度が原因だろう。次は丈夫な製品を探そう。



2017/07/30

Smart UPSのバッテリー交換

バッテリー交換にはコツがいる

たまに必要になるバッテリー交換。毎年であればまだ思い出せないことはないのだが、数年に1回、10分程度の作業だと、思い出すのは難しい。

だからと言って、Webにあるような手順ですんなりいくものでもないのが、困ったところ。

久しぶりに交換して、戸惑ったところをメモ。

フロントカバーが外れない

重い本体がカバーの下の部分を踏んづけている構造なので、本体を持ち上げないとフロントカバーが外れない。

これ、狭い場所にきっちり押し込んでいたり、上にいろいろ積み上げていたりすると、たいへん。ま、基本的に、空気が流れるような隙間のある場所におかないとまずいのだけど。

交換バッテリーの端子が違う?

カバーがしてあるだけ。交換バッテリーの端子がむき出しになっている状態にしてからケーブルを接続する。当たり前すぎて書いていない(笑)

最新機種は?

バッテリーを交換すれば使い続けられるので、買い換えようという気がなかなか起きない。最近の機種は、バッテリー交換もわかりやすくなっているのだろうか?



2017/06/17

MacBook Airの充電器の交換は無料だった。が。

電源ケーブルの皮膜が裂けてきた

MacBook Air2台目を購入して2年半くらい。気がついたら、MagSafeの付け根のあたりのコードの皮膜が裂けてきていた。

ACアダプターはいいお値段

モデルによって電源アダプタのワット数が異なるので、まずはMac ノートブックの正しい電源アダプタと電源コードを確認する - Apple サポートで確認。45W。

なかなかのお値段なので、互換品も調べてみる。

純正品と比べると、非常に安い。が、充電関係の事故は、大抵、純正品以外のものを使っていて発生しているから、安くても不安。

AppleCare Protectionが使える

故障したとき、Apple製品は自力で解決するのが難しいので、AppleCare Protection Planを購入していたのだった。まだサポート期間が残っているし、ググると無償対応してもらったという記事もあるので、サポートに連絡してみる。

修理 - Apple サポート 公式サイトから機種を選んでシリアル番号を入力して。サポートはすぐには繋がらないものだから、チャット対応を選んで反応があるまで他のことをして時間を有効活用。
繋がったら、状況を説明して交換希望と伝えると、AppleCare Protection Planの保証の適用で、故意と思われる損傷がない限りは無償で配送交換を行うとのこと。

ところが、ここからが長かった。

交換アダプターを受け取れない

平日は会社だから受け取れないというと、ヤマト運輸が不在票を投函するからという返答だった。
が。
不在票入っていない!!
ちなみに、クロネコメンバーズにも登録しておいて、配達予定は事前にメール通知されるようにしているのだが、その通知もこなかった。

何日待っても不在票がないので、Appleの修理履歴から伝票番号を調べてクロネコメンバーズで確認したところ、どうやら毎日配達しにきているらしい。でも、不在票なんて入っていないよ。

結局受け取れたのは、土曜日。日曜日にサポートに連絡したので、6日かかった。しかも、返却方法が事前のメールと違って、送付に使った箱に詰めて配達員に渡せという。

配送がだめで使えない

トータルでみると、使えないサービスだ。配達の部分で全てが台無し。世間では「再配達が問題」とか言っているが、不在票すら入れないで何をいうか、クロネコヤマト。自業自得のくせにもっともらしい理由をでっちあげて、利用者に不便を押し付けている。手間だろうけど、もっとよい配送業者を使うようにしてほしい>Apple。