Mackerel ブログ #mackerelio

Mackerelの公式ブログです

PagerDuty への通知内容を強化しました・エージェントなどをアップデートしました

こんにちは。Mackerelチーム CREの井上(id:a-know)です。 新年あけましておめでとうございます。

今日お知らせするリリースが、2018年の最初のリリースとなります。今年もたくさんの便利な・先進的な機能をたくさん、みなさんにお届けしたいと思っています。どうぞよろしくお願いします。

それでは早速、今週のアップデート内容をお知らせします。

PagerDuty への通知内容を強化しました

Mackerel の通知チャンネルのうちのひとつ・PagerDuty 通知に関して、通知リクエストに含まれる json 内容に対して、以下のような項目を追加しました。

  • ホストに対するアラート通知の場合に、新たに含まれるようになった項目
    • ホストID, ホスト名, そのホストが所属しているロールのリスト
  • サービスに対するアラート通知の場合に、新たに含まれるようになった項目
    • サービス名

PagerDutyのAPI V1, V2 いずれでもご利用いただけます。通知内容をもとに、よりプログラマブルな対応をしていただけるようになりましたので、ぜひ活用してください。

mackerel.io

プラグインの実行タイムアウト秒数を設定できるようになりました

mackerel-agent に対して各種設定可能なプラグイン。非常に便利なのですが、そのプラグインの処理におけるタイムアウト時間は、今までの仕様では一律30秒としていました。

これが、プラグイン毎に任意の秒数を設定できるようになりました。例えばタイムアウトを45秒に設定したい場合には、以下のように記述します。

[plugin.metrics.get-metrics]
command = "ruby /path/to/get-metrics.rb"
timeout_seconds = 45

チェックプラグインに対しても指定可能です。

[plugin.checks.check-state]
command = "ruby /path/to/check-state.rb"
timeout_seconds = 45

プラグインの実行間隔は、デフォルトでは1分です。各プラグイン実行の多重起動の制御はしない仕様になっていますので、 timeout_seconds には実行間隔を超えないような設定をすることを推奨します。(プラグインの処理が完了する前に次のプラグイン処理が開始されてしまいます。)

Mackerel 関連 OSS をアップデートしました

以下のとおり、mackerel-agent をはじめとした各種 OSS をアップデートしました。年末年始期間に、多くの Pull Request、コントリビュートをいただきました。皆様、本当にありがとうございました!

mackerel-agent v0.49.0

  • プラグインの実行タイムアウト秒数を設定できるようになりました(上述)
  • チェック監視通知のリトライ処理を改善しました
  • Dockerホストでメトリックや情報を取得しすぎてしまう問題に対処しました
    • veth で始まるネットワークインターフェースを除外するようにしました
    • dm- で始まデバイス(devicemapper)を除外するようにしました
    • dm- で始まるファイルシステム(devicemapper)を除外するようにしました
  • 中身が空の /var/lib/mackerel-agent/id が存在する場合に起動できなかった点を修正しました
  • [Windows版] check-uptime.exe を同梱するようにしました

mackerel-agent-plugins v0.42.0

  • [mongodb] replica-set を組んだ mongodb で正しくメトリックが取れないことがある点を修正
  • [haproxy] -socket オプションにより、Unix Domain Socketを指定できるようになりました
  • [postgres] 古いバージョン (9.3.14) のPostgresqlでも動作するようになりました

go-check-plugins v0.15.0

  • [mysql] 対象の mysql サーバが readonly かどうかを確認するサブコマンド readonly を追加しました

plugin-registry

  • mackerel-plugin-aws-ecs を追加しました。
    • プラグインインストーラーの機能を利用することで、 mkr plugin install mackerel-plugin-aws-ecs のように利用できます。
    • 既に試してくれているユーザーさんがいますので、以下の記事もぜひ参考にしてみてください!

kakakakakku.hatenablog.com