プロセスを監視してみます。するようにしてみます。カスタムメトリックとサービスメトリックが対象のようです。システムメトリック(mackerel-agentインストール時にデフォルトで取られるグラフ)ではUIから設定できませんでした。公式ブログでは「UI上で設定できるようになりました。」と、ちょっと含みのある表現がされていましたが、これは式によるカスタムグラフでは以前から可能だったからと思われます。システムメトリックで積み上げグラフ・線グラフを混在させたい場合はカスタムグラフを使えばOKです。stack(metrics)を使うことでこんな感じに混在させられます。Node.jsNode.jsのBigQueryライブラリを使ってGCPのBillingを取得してみました。次はこのBillingの情報をMackerelにサービスメトリックとして送ってみます。サービスメトリックは以下のデータ形式で送れば良いみたいです。今回の場合は以下のようなデータを送れば良いみたいです。いつも通りmackerelの紹介から。Windowsサポートの強化について。次世代mackerelについて。MackerelこのブログはDigitalOceanが提供しているVPS上で動いています。DigitalOceanはもちろん、AWSやさくらVPSなどの物理リソースを提供しているプロバイダでは、プロバイダの都合によってメンテナンスが発生する場合があります。ネットワーク機器の差し替えや古くなった物理サーバの入れ替えなどによるものです。このようなプロバイダ側で予測が可能で、サービスの可用性に影響する類のメンテナンスについては、まず何らかの形(メールや公式サイトなど)で告知が行われます。思いついて↑のメンテナンス期間をMackerelのグラフアノテーションに入れてみました。グラフアノテーションは未来の日付に対して有効なのでしょうか...。Web管理画面からは日付をマニュアルで入力することはできなかったので、mkrコマンドでやってみます。以下のコマンドを実行。mkrmackerelにはグラフに注釈(アノテーション)を付ける機能があります。このアノテーションを一覧して見たかったのでやってみました。Web画面からは一覧を表示できなくて、APIかmkrコマンドから取得する必要があります。以下のコマンドで取得できます。bar最近あだちんの家に行って(たまに遊びに行ってノートPCを借りて遊んでいる)bitbarを入れて遊んできたので、私も気分転換にbitbarで個人サーバのロードアベレージを表示させてみました。以下の雑なスクリプトを作成してbitbarのプラグインディレクトリ(私は~/Dropbox/bitbarにしている)にget-loadavg5.5m.shという名前で保存します。Billingのメトリクスを送ってみます。メトリクスを送るためのプラグインは夜な夜な作りました。オプションにプロジェクトIDとデータセット名とテーブル名を指定すると現日付けの月の合計のBillingデータを取得することが出来るプラグインです。このプラグインは実行するための条件がいくつかあります。BigQueryにデータを送っていれば特に考えることはないはず。Terraformmackerelにグラフアノテーション機能が追加されました。グラフアノテーション機能とは先日のmackerelミートアップでも紹介があった通り、デプロイや何かしらの事象をmackerelのグラフ上で注釈することができる機能です。今回はterraformで特定のリソースに変更があった場合、それをグラフ上に表示させてみます。鬼のようなcurlを実行します。今回は例として、DigitalOceanのtagリソースに変更が加えられた場合、グラフに注釈を入れるようにしてみます。会場はレコチョクさんのオフィスでした。スタイリッシュなんだ。資料は公開され次第追記していきます。golang以前mailgunのステータスをmackerelで監視するシェルスクリプトを書きました。これをようやくGoで書き直して、一応使える状態にはなったのでうp。わかってないまま書いたので後で復習が必要。configh2oのログをbigqueryに送り始めました。今のところ特に問題は無いのですが、正直バッファの各設定値やリトライ回数のチューニングについてはどうすれば良いのかよくわからないのでなんとかしたいところです。そこで、mackerel-agent-pluginsを導入してみます。メトリクスを取ることでチューニングしやすくなるだろうと言う目論見です。バッファについては、下記のサイトが分かりやすかったです。td-agent.confでmonitor_agentプラグインを有効化します。下記設定を追加してtd-agentを再起動。metadata先日のmackerelミートアップでメタデータなる新機能が発表されました。後日談として、この機能がどんな感じか試してみます。一通りメタデータの入出力を試してから、メタデータと何かしらを連携させて遊んでみるところまでやってみます。APIキーとホストIDは面倒なので環境変数に入れています。環境の情報をメタデータで持たせてみます。会場はfreeeさんのオフィスでした。以下のような内容でした。序盤はMackerelの紹介。リリース予定の機能が相変わらずたくさんあって面白い。Mackerelmackerelは式による監視や式によるグラフのカスタマイズができる。会社では活用していて、面白いので個人でも使ってみる。Monitorsから設定できる。公式にある例を参考に、ディスクがあふれる日数の監視をしてみる。公式と違うのは、timeLeftForecast関数の閾値を割合で指定している点。現在の使用量をディスクサイズ合計で割って、その値が1(=100%)になるまでの時間を計算している。公式にある方法では閾値をファイルシステムの上限数で指定(2TBなら2000000000000という風に)しているが、割合での指定ならばディスクのサイズによらず固定値が使えるのでそれが利点どす。あと、alias関数を使ってグラフに名前をつけている。ビジュアルを変えるための関数なので、監視のための式では意味ないと思うけどなんとなく...。vda1の部分は環境によって違うので注意。