Blog

golang プロセスのモニタリングってみんなどうしてるんですかね、という話

[9:43 AM]  
tokuhirom plack のアプリだと  Plack::Middleware::ServerStatus::Lite とかで監視したりしますけど、go だとそういうのってどうやるのが一般的なんでしょうか?

[9:47 AM]  
macopy https://github.com/fukata/golang-stats-api-handler
github.com
GitHub - fukata/golang-stats-api-handler: Golang cpu, memory, gc, etc information api handler.
golang-stats-api-handler - Golang cpu, memory, gc, etc information api handler.

[9:47 AM]  
https://golang.org/pkg/net/http/pprof/

[9:48 AM]  
このあたりでしょうか、ちょっと取れる情報違う気もしますが

[9:48 AM]  
lestrrat kazeburo wareがあるんじゃないのか、と一瞬

[9:48 AM]  
(探してないけど)

[9:49 AM]  
なんだったら書いてもいいですけど!(tokuhiromが書いた方が早そう

[9:49 AM]  
tokuhirom kazeburo ware ありそうだ

[9:50 AM]  
mattn dave 御大のがいい

[9:51 AM]  
https://github.com/davecheney/gcvis
github.com
GitHub - davecheney/gcvis: Visualise Go program GC trace data in real time
gcvis - Visualise Go program GC trace data in real time

[9:51 AM]  
JSON だけなら golang-stats-api-handler でいい


[9:54 AM]  
この辺、いろいろ調べていろいろ試した僕なりの結果としては

[9:54 AM]  
mackerel すばらしいという結論に至った。

[9:54 AM]  
suzuken w

[10:03 AM]  
IFTTT APP
Google Online Security Blog: Another option for file sharing
Google Online Security Blog: Another option for file sharing http://ift.tt/2lDCbAz
 

[10:19 AM]  
tokuhirom mackerel でとれるんです?

[10:27 AM]  
suzuken GCのmetricsがとりたいのですかね・・?mackerelだと https://github.com/mackerelio/mackerel-agent-plugins/tree/master/mackerel-plugin-gostats  あたり・・?
github.com
mackerel-agent-plugins/mackerel-plugin-gostats at master · mackerelio/mackerel-agent-plugins · GitHub
mackerel-agent-plugins - Plugins for mackerel-agent

[10:28 AM]  
弊社だとPrometheusの https://github.com/prometheus/client_golang  をhandlerにはやしてます
github.com
GitHub - prometheus/client_golang: Prometheus instrumentation library for Go applications
client_golang - Prometheus instrumentation library for Go applications

[10:28 AM]  
`/metrics` みたいな

[10:28 AM]  
(もとの Plack::Middleware::ServerStatus::Lite の機能をよくしらないので的はずれな回答をしているかも・・

[10:29 AM]  
goroutine数とかをさくっとみるならgolang-stats-api-handlerがかんたんです

[10:30 AM]  
pprofみたいなのでprofiling含めてしたいのであれば http/pprof つかうとremoteサーバのprofilingができたりもしますが、メトリクス収集用途であれば golang-stats-api-handler でいい気がします

[10:31 AM]  
それとざくっとやるのであれば expvarとか

[10:31 AM]  
http://blog.ralch.com/tutorial/golang-metrics-with-expvar/

[10:31 AM]  
https://golang.org/pkg/expvar/

[10:31 AM]  
fujiwara Apacheのmod_statusみたいなのですね > ServerStatus::Lite

[10:32 AM]  
suzuken なるほどです

[10:36 AM]  
tokuhirom そうすね。いや、一般的に何をみんなとってるのかなーっていうレベルの疑問でした

[10:37 AM]  
kazuho 最大同時接続数が多い環境だと、mod_status的なものの必要性は下がるよね

[10:37 AM]  
node.js とかでもないんじゃないかな

[10:38 AM]  
tokuhirom nrhd

[10:38 AM]  
みんな気にして取ってるのは gc count ぐらいなのかな。

[10:38 AM]  
prom のなら req/sec とかまでとれそうですが。

[10:39 AM]  
kazuho もちろん nice-to-have だとは思います

[10:47 AM]  
songmu groutineがリークしてないか一番気をつけてるかなー。

[10:47 AM]  
上記のやつで可視化して

[11:04 AM]  
mattn ローカルで軽く確認するなら dave 御大ので充分すね

[11:04 AM]  
あとは gops にしてコマンドから確認するって方法もある

[11:04 AM]  
http://qiita.com/mattn/items/a92f69ff18eb5cbcdd59
Qiita
golang で書かれたプロセスのリソースを外部から監視/操作できる「gops」 - Qiita
この記事は [Go Advent Calendar 2016](http://qiita.com/advent-calendar/2016/go) の3日目の記事です。 # はじめに 今回は gops という Google 製のツ...
 

[11:04 AM]  
これとか

[11:04 AM]  
http://qiita.com/mattn/items/882a1924a1d706d127a2
Qiita
稼働中のバッチを監視したくなったら Mackerel Custom Metrics が便利 - Qiita
この記事は [Mackerel Advent Calendar 2016](http://qiita.com/advent-calendar/2016/mackerel) の 12/13 日の記事です。 --- # はじめに ![監...
 

[11:04 AM]  
これ

まとめようと思ったけどめんどくさくなってそのまま貼った。