tkuchikiの日記

新ブログ https://blog.tkuchiki.net

2016-01-01から1年間の記事一覧

RDS for MySQL と Amazon Aurora でクエリによる取得行数を取得するなら SHOW GLOBAL STATUS WHERE variable_name = 'Innodb_rows_read' を使うのが良い

WEB+DB PRESS vol.94 特集1第5章P32 で、MySQL のクエリによる取得行数を取得するには、 mysql -u root -e "SHOW ENGINE INNODB STATUS\G" | grep "Number of rows" を実行すると記載しましたが、Amazon Aurora の Reader(Read Replica) は SHOW ENGINE INNO…

【CentOS 6, Amazon Linux 対応】 unbound と ldns の RPM 作成方法

epel repo から unbound が削除されました。 追記: CentOS6 の extras に unbound が入っているという情報をいただきました。@hfm さんありがとうございます! 無いなら作りましょう、ということで RPM 作成方法です。 検証環境 Amazon Linux 2016.03 CentOS…

mackerel-agent-plugin の diff の出力結果を加工してデータを per sec にする

mackerel-plugin-mysql を例にすると、 $ ./mackerel-plugin-mysql | grep Com_ mysql.cmd.Com_insert 0.000000 1475200487 mysql.cmd.Com_select 6.000000 1475200487 mysql.cmd.Com_update 0.000000 1475200487 mysql.cmd.Com_update_multi 0.000000 14752…

ISUCON6 予選2日目2位通過しました

@hilotter さん、@Konboi と流れ弾として ISUCON6 予選2日目に参加して2位通過しました。 使用言語は Go で、私は足回りを整えて少しコードを書きました。 謝辞 運営の皆様ありがとうございました。 とても充実した時間を過ごすことができました。 やったこ…

WEB+DB PRESS Vol.94 で特集「実践スケーラブルAWS」を執筆しました & 恵贈御礼

本日 8/24 発売の WEB+DB PRESS Vol.94 で、 特集1「[鍵は監視にあり!]実践スケーラブルAWS 規模に適した設計,負荷に応じた増減,障害への自動対応」 の第3章から5章を執筆しました。 gihyo.jp 謝辞 株式会社技術評論社 WEB+DB PRESS編集部様からご恵贈…

HAProxy の external-check で Read Replica から Master に昇格した Amazon Aurora に接続できないようにする

追記 2016/07/22 19:06 error: 'Lost connection to MySQL server at 'reading initial communication packet', system error: 0' というエラーがでて接続できなくなる現象が発生するようなので、改良が必要なようです。 エラーの検証をしようとしたら再現で…

Amazon Linux で certbot(letsencrypt) を使って SSL 証明書を取得する

※2016年5月16日現在の情報です。 バージョンが変わると動作しなくなる可能性があります。 letsencrypt のクライアントが certbot に改名したようです (See: https://github.com/certbot/certbot)。 Amazon Linux 上で certbot-auto(letsencrypt-auto) を使っ…

Github Webhook を受けて任意のスクリプトを実行するツール

ghooks-cmd-runner という、 Github の Webhook を受けて任意のスクリプトを実行する Go 製のツールを書きました。 Installation https://github.com/tkuchiki/ghooks-cmd-runner/releases にバイナリがあるので、ダウンロードして解答してください。 Usage …

時刻文字列をいい感じに parse する Go の package

parsetime という時刻文字列をいい感じに parse する Go のライブラリを書きました。 Example 使用例です。 package main import ( "fmt" "github.com/tkuchiki/parsetime" "log" ) func main() { p, err := parsetime.NewParseTime() if err != nil { log.F…

php-build が libphp[57].so を上書きしないようになりました

php-build が libphp5.so を上書きしないようにするパッチ で、 php-build が libphp5.so を上書きしてしまう問題を紹介しました。 2015-12-11 に Remove hard-patch code for APXS handling #353 が merge され、 libphp5.so(PHP 7 は libphp7.so なので、…

jq で JSON を LTSV に変換する

結論 [ {"foo": "bar1", "hoge": "piyo1"}, {"foo": "bar2", "hoge": "piyo2"}, {"foo": "bar3", "hoge": "piyo3"} ] という json(test.json とする) があるときに、 $ cat test.json | jq -r '.[] | to_entries | map("\(.key):\(.value)") | join("\t")' …

fluentd の out forward の secondary を S3 にして信頼性を向上する

オートスケールするサーバ(web、アプリ)に立てている fluentd(以下、sender) から、 ログ集約用の fluentd(以下、aggregator) にデータを送るとき、 aggregator がデータを受け付けられないと sender で buffer すると思います。 この状態でスケールイン(デ…

プロセスのメモリ使用量とCPU使用率などが取れる mackerel-plugin-linux-proc-stats をリリースしました

プロセスのメモリ使用量と CPU 使用率などのメトリクスが取れる、 mackerel-plugin-linux-proc-stats をリリースしました。 Installation https://github.com/tkuchiki/mackerel-plugin-linux-proc-stats/releases からバイナリをダウンロードして解凍してく…

IAM の Switch Role を捗らせる

AWS のクロスアカウントアクセスを利用すると、 IAM ユーザを AWS アカウントごとに作成しなくても良くなり管理が容易になるのですが、 Switch Role する アカウントが多いと、履歴が 5 件しかないのでアカウントとロールを再入力しなくてはならないことが増…

setusergroups の RPM spec ファイル

setusergroups については、作者の tokuhirom さんのブログを御覧ください。 supplementary groups をサポートする setuidgid であるところの setusergroups.c 書いた supplementary groups をサポートした setuidgid が欲しいケースがある。 これを相談され…

norikra-listener-zabbix 0.2.0 をリリースしました

norikra-listener-zabbix (rubygems) 0.2.0 をリリースしました。 変更点 group の記述を変更 port を廃止し、ZABBIX_SERVER:[PORT] と記述するようになりました。 -- group ZABBIX(localhost:10051, zabbix host) のように記述します。 IPv6 サポート IPv6 …

Norikra の集計結果を直接 Zabbix に送る norikra-listener-zabbix をリリースしました

追記(2016/02/08 15:30):0.2.0 で group の記述方式を変更しましたので、 norikra-listener-zabbix 0.2.0 をリリースしました をご確認ください。 Norikra から直接 Zabbix にデータを送る norikra-listener-zabbix (rubygems) をリリースしました。 Zabbix…