追記
mgem-list にも取り込んで頂いた。
mgem-list に取り込んでいただくには mgem-list を fork して mruby-xxxx.gem ファイルを以下のように作成して Pull Request を送る。
name: mruby-datadog description: Datadog API Client. author: Yohei Kawahara website: https://github.com/inokappa/mruby-datadog protocol: git repository: https://github.com/inokappa/mruby-datadog.git dependencies: - mruby-httprequest - mruby-json - mruby-polarssl
CI で以下のように Fail してしまったりしたが...無事に取り込んで頂いた。
なんかモチベーション上がる。
tl;dr
暫く触れていなかった mruby を改めて勉強したいと思ったので mrbgems として Datadog API Client を作ってみた。
使い方
インストール
詳しくは README を。
対応している API
今のところは...
- Events
- Metrics
- Search
出来るだけ Ruby 製のクライアントに似せて作るようにしたい。
サンプル
- 以下のようなサンプルを用意
config = { :api_key => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", } dog = Datadog::Client.new(config) # Events puts "response: #{dog.events("mruby.test", "test", :alert_type => "error")['body']}" # Metrics count = rand(1000) # Use: https://github.com/iij/mruby-simple-random puts "response: #{dog.series("mruby.test", count, :host => "foo.bar.com")['body']}"
- 実行
$ mruby datadog-api-client.rb
- レスポンス
response: {"status": "ok", "event": {"priority": null, "date_happened": 1446129785, "handle": null, "title": "mruby.test", "url": "https://app.datadoghq.com/event/event?id=3051220596304082848", "text": "test", "tags": [null], "related_ev ent_id": null, "id": 3051220596304082848}} response: {"status":"ok"}
- Datadog のダッシュボード(Events)
- Datadog のダッシュボード(Metrics)
おわり
todo
以上。