DatadogのアラートDSL管理ツール Barkdog v0.1.3をリリースしました。
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で監視やってる人はそのへんどうしているんだろう?すでにテンプレートの仕組みとかあるんだろうか?