Hateburo: kazeburo hatenablog

SRE / 運用系小姑 / Goを書くPerl Monger

2019年 作った・喋ってきたまとめ

振り返り的なやつです。

去年の振り返りはこちらです。

kazeburo.hatenablog.com

ISUCON9 予選出題した

bokko, catatsuy, sota1235 とともにISUCON9の予選出題をやらせていただいた。7月から9月にかけて圧倒的に手を動かした。

解説と講評のほか、ローカル環境で予選問題を動かす方法についての記事を書かせてもらった。

isucon.net

isucon.net

参加していただいた方、出題メンバー、各言語への移植をやっていただいた皆様、さくらインターネットの皆様、アリババクラウドの皆様、そして941さんをはじめLINEの皆様、改めて感謝です。

作った

percentile

github.com

説明はないが、簡単にpercentileを求められるようにするコマンドです。

$ grep status:499 access.log|lltsv -K -k ptime|percentile
count: 353
avg: 0.0088
95pt: 0.0440
90pt: 0.0400
75pt: 0.0030

grep、jqやlltsvと組みあわせると便利

mackerel-plugin-axslog

github.com

mackerel-plugin-accesslogで少し足りない機能があったので作った。一度つくった上で、より速いやつが書けそうだと思って書き直したら速くなった。

blogも書いている

kazeburo.hatenablog.com

「秒間2万req、1分間で120万行のログが記録される、よくある環境」はほんの少し盛っている

ppdp

github.com

某DBサーバへの通信のログを取りたいということで作った。アクセス元も必要なのでproxy protocol対応を行なった。

どこか => [tcp] => nginx stream => [proxy proto] => ppdp => [tcp] => mysql 

のように使う。

名前はペンパイナッポーアッポーペンからきている

deteco

github.com

公開鍵で暗号化したJWTをnginxのauth_requestで認証するための、簡単な認証サーバ

TCP over websocket と組み合わせて使うことを考えていた。

mackerel-plugin-log-incr-rate

github.com

2つのログの増える行数の比率を出すmackerel plugin。アプリケーションのログが爆発したときに書いた。

Go言語の初期状態のbufio.Scannerは1行の長さが65kを越えると、すぎゃんをやめてしまう仕様なのだが、その中で1MBを越えるログが発見された思ひでも

mackerel-plugin-postfix-log

github.com

メール送信をインストール型のソフトウェアからクラウド型のサービスに切り替えたので、中継サーバとしてのpostfixの監視重要性が高まったので書いた。

メトリクスはいくつか増えるが、役に立っているかどうか聞かれると、そんな役に立ってない。まだ。

consul-service-has-ip

github.com

指定したconsulのサービスに、任意のIPアドレスが含まれるかどうか確認するのを簡単にするAPIサーバ。

Slaveサーバの分散・切り離しに必要になって作ったが、もっと良い別の方法を発見し、3日ぐらいでお蔵入り。書いたからってそこにしがみつかないことも大事。

mackerel-plugin-pinging

github.com

データセンター間の通信を普段からモニタリングしていくために作った。

Mackerel アドベントカレンダーの記事として紹介している

kazeburo.hatenablog.com

成功失敗だけではなく、RTTのパーセンタイルもでるので、便利。

myps

github.com

MySQLのprocesslistをgrepしたり、思いの強いクエリKILLするのに便利なコマンド。便利ツールはいざと言う時に思い出さず、やくに立たないので、作ったことを自分で忘れないようにblogも書いた。

kazeburo.hatenablog.com

grepとlltsvで別の監視に使うことも考えている。

喋ってきた

なんと2回しか喋ってない

第22回 Lucene/Solr勉強会 10/28

検索まわりのこれまでストーリーを短めに紹介させてもらった。

タイトル・構成はYAPC::Asia 2007 の際の Brad Fitzpatrickの発表「LiveJournal: Behind The Scenes」のインスパイアです

Mackerel day #2 12/23

ここ1年で作ってきたプラグインやDB周りの監視について課題を交えながら紹介した。見事に時間オーバーした。

--

先日、10年ぶりぐらいにデータセンターにて、1Uサーバのハードウェアを増設する作業を行なった。以前は作業していると手がいつのまにか赤くそまっているようなことがあったが、サーバもサーバをマウントするレールもラックも非常に精度が高く作られており、スムーズにきっちりと動くことに非常に感動した。こういった機器を設計、製造する方々のおかげで我々の業務が成り立っているとの思いを新たにした。

家族、チームのメンバーに感謝するとともにお客様に信頼性や価値を届けるため、面白かっこいいぜ!な仕組みの構築運用に取り組んで行きたい