Barkdog v0.1.3

DatadogのアラートDSL管理ツール Barkdog v0.1.3をリリースしました。

github.com

Libratoで監視まわりを全部まかなおうとしてたとき、アラート管理にはテンプレート必須だなー、と思ったのでつけました。

以下のように、いろんな箇所でテンプレートつかえます。

template "cpu template" do
  query "avg(last_5m):avg:#{context.target}.load_avg.1m{host:i-XXXXXXXX} > 1"
  message context.message
  options do
    notify_no_data true
    no_data_timeframe 2
    notify_audit true
    silenced({})
  end
end

monitor "Check load avg", :type=>"metric alert" do
  context.message = "@winebarrel@example.net"
  include_template "cpu template", :target=>"ddstat"
end

template "basic monitor" do
  monitor "#{target} cpu" do
    query "avg(last_5m):avg:#{context.target}.load_avg.1m{host:i-XXXXXXXX} > 1"
    ...
  end

  # any other monitor
  monitor ...
end

"myhost".tap do |host|
  include_template "basic monitor", :target=>host
  include_template "mysql monitor", :target=>host
  ...
end

これで、ベーシックな監視(CPUとかI/Oとか)をテンプレート化して、すべてのホストにひもづけて、MySQLをインストールしているホストにはMySQLのテンプレートをひもづけて。。。とかがやりやすくなったと思います。

ところで、Datadogで監視やってる人はそのへんどうしているんだろう?すでにテンプレートの仕組みとかあるんだろうか?

どうぞご利用ください。