Hateburo: kazeburo hatenablog

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

Entries from 2020-01-01 to 1 year

2020年に買って良かったもの

ほぼ1年間家で仕事をすることになり、自宅の机まわりの環境をこれまで以上に整えてきた1年だったので「#買って良かった2020」というお題で書いてみる。 ヘッドホンとマグカップ 奥さんから誕生日にもらったソニーの WH-H910N。色はアッシュグリーンです。あ…

ISUCON10予選問題で EC2 c6g.2xlarge vs c5.2xlarge をやってみる

少し前にISUCON10予選問題のスコアアップに取り組んでいたので、その成果を使い、EC2 Graviton2 インスタンスとIntel CPUのインスタンスでスコアを比較してみます。 ISUCON10予選問題チャレンジをしていた時のスレはこちら ISUCON10予選のベンチマーク、Macb…

Re: 結局、Go言語をやめる理由はなかった件

すみません、ISUCONのアレに火がついてしまったので..。 Advent Calendarとはとくに関係がありません。 qiita.com qiita.com こちらの記事をみて、気になってしまったので interpolateParams の追加とMySQLチューニングをしてベンチマークを回してみました。…

コマンドを実行しその終了ステータスコードメトリクス化するMackerelカスタムプラグイン

Mackerel Advent Calendar 2020 15日目の参加記事です。 キャッシュの更新やなんらかの同期を行うコマンドなどをcronにて実行している場合、メンテナンスや一時的なネットワークの不調によりコマンドがエラーになっても問題ないが、一定時間以上エラーが続く…

cgoを利用した Go project を GitHub Actions でクロスコンパイル&リリースを行う

check-lastlogというmackerel監視pluginを作ってるのですが、 github.com こちらは /var/log/lastlog を読むために一部cgoを使っています。mackerelのpluginなので一つ前の記事で紹介した方法で kazeburo.hatenablog.com リリースしたいところなのですが、Go…

GitHub ActionsとGoReleaserでmkr plugin install対応mackerel pluginをリリースする

Mackerel Advent Calendar 2020 9日目の参加記事です。隙間で書きました。 最近 mackerel pluginをリリースするときは、ほぼ全てGitHub ActionsとGoReleaserを使ってビルドとリリースしています。 GoReleaserはこちら goreleaser.com GoReleaserはGoのprojec…

GoでMySQLの監視コマンドを作成するのが楽になるライブラリ

本エントリはMySQL Advent Calendar 2020 の9日目の記事になります。 これまでいくつものMySQLの監視コマンドをつくってきたのですが、毎回同じような処理を書いているので、それらをまとめるライブラリを作ってみました github.com 主な機能は go-flags形式…

mackerel plugin で瞬間的な負荷を捉える mackerel-plugin-maxcpu

とあるAPIに対するアクセスが、 回数 時間 1833 time:27/Oct/2020:21:32:25 1657 time:27/Oct/2020:21:32:26 1616 time:27/Oct/2020:21:32:27 2584 time:27/Oct/2020:21:32:28 14958 time:27/Oct/2020:21:32:29 6619 time:27/Oct/2020:21:32:30 1725 time:27…

mkr hosts にコントリビュートした話

mackerel.io こちらでリリースの紹介があったmkrコマンドに一つコントリビュートしておりました。 リリースされたのは、mkr v0.41.0 です。 一つ前のバージョンまで mkr hosts は検索結果が一台もないと、null が返っていました。 $ mkr hosts --service all…

ISUCON10 感想戦で 100,000 超えスコアを出した

感想戦優勝なんてものはない 感想戦優勝 #isucon— 紅葉坂乗り過ごして桜木町 (@kazeburo) 2020年10月12日 ISUCON10本選は悔しいところではありましたが、Fail(失格)で終わってしまいましたが、1週間もの長い間サーバとベンチマーカーが使えるようにして頂い…

ISUCON 10 本選に「チーム中目黒乗り過ごし」で参加して、結果はFailでした

結果はこちら isucon.net 予選に引き続き、hanabokuro氏、mtokioka氏と参加して、結果はFailで失格となりました。スコア的には8位といったところでしょうか。 白金動物園による問題はISUCONのベンチマーカーで、これまで「スケールアップ」「スケールアウト…

ISUCON10予選に「チーム中目黒乗り過ごし」で参加し本選出場決まりました

ISUCON10の予選に尊敬するエンジニアであるhanabokuro氏、mtokioka氏と参加して、9位で本戦出場できることになりました。うれしい! ISUCON8は予選落ち、去年は出題をやらせていただいたので、本選出場は3年ぶりになります 今年の問題も、よく練られた問題で…

Nginxのupstreamコンテキストでの名前解決に nginx-dynamic-upstream-resolve-servers を使う

Nginxでproxyする際に、名前解決を動的に行ってからupstreamへ接続をするというのは、S3だったりConsulで管理されたサーバ群に対するproxyを行いたい場合に使いたくなる機能のひとつ。 ただ、upstreamコンテキスト内の resolve オプションは有償の Nginx Plu…