19
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MackerelAdvent Calendar 2019

Day 13

Mackerel を使って10分でメトリクス監視を始める手順

Last updated at Posted at 2019-12-12

はじめに

Mackerel というと、皆さんこんなイメージをお持ちかもしれません。

  • エージェントを入れないといけない
  • サービス側で色々設定しないといけない
  • 今ある値をグラフにして欲しいだけなのに

こんな風に思っておられるかもしれません。ですが Mackerel は独自のグラフを作るのであれば、大した設定もいらないし、エージェントをインストールする必要もないのです。

本記事では、今ある値を最速でグラフにする手順を示したいと思います。なお Mackerel のアカウントは既にある前提で説明します。今回は Twitter フォロワ数の増加をグラフにしてみたいと思います。

筆者は普段 Twitter でフォロワ数などを全く気にしない人なのですが、先日以降 Twitter の通知欄に「フォローされた」通知が沢山くるのを確認していました。

言ってしまうと、ここで「これ Mackerel Advent Calendar のネタにできる」と思いついてしまったのです。すいませんすいません。

サービスを作る

ダッシュボードの Services をクリックし、画面右上の「サービスを追加」をクリックします。

image.png

image.png

サービス名に適当(後から変えられません)な名前を入力し「作成」をクリック。もうこれだけで Mackerel サービス側の準備が完了してしまったのです。

「なにそれ何もしてないじゃん!」

そうなんです。後は送信されるメトリクスに合わせて Mackerel が綺麗なグラフを生成してくれるのです。

メトリックをポストする

ではさっそくメトリックをポストしましょう。画面の左 Services に先ほど作ったサービスが追加されているはずなので、そこをクリックします。

image.png

「サービスメトリック」タブを選ぶと以下の様に表示されています。

image.png

メトリックをポストする為の curl コマンドのサンプルコードが書かれていて、既に本物の APIKEY まで埋め込まれているではないですか。超便利。

これを改造して自分の値をポストすればいいだけです。気をつけなければならないのは以下の通り。

  • ポストする JSON は配列でなければならない
  • name を付けなければならない
  • name を XXX.YYY にすると XXX でグルーピングできる

「後からメトリクスを足したい」と思うことがあるかもしれないので、予めグループ名を考えておくと良いと思います。

詳しくはドキュメントを参照ください。

今回はサンプルとして、Twitter のフォロワ数の推移をグラフにしてみます。seekmetrics-server というサービスから Twitter のユーザ情報を得て、jq でフォロワ数として数値化します。

あとは下記の様に送信するデータに埋め込むだけです。

#!/bin/bash

TWITTER_FOLLOWERS=$(/usr/bin/curl -s https://seekmetrics-server.herokuapp.com/api/v1/search -H 'Content-Type: application/json' --data '{"network":"twitter","term":"mattn_jp"}' | jq '.[0].followers')
/usr/bin/curl -s https://api.mackerelio.com/api/v0/services/twitter-followers/tsdb -H 'X-Api-Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' -H 'Content-Type: application/json' -X POST -d '[{"name": "followers.twitter", "time": '$(date +%s)', "value": '$TWITTER_FOLLOWERS'}]'

めちゃくちゃ簡単ですね。cron で1日毎に起動しましょう。

3日待ってみたらこんなグラフが出来ました。

image.png

ただこれ、もともと1万人以上 Twitter のフォロワがいるのでグラフの変化が分かりませんよね。そこでグラフ式を使います。

カスタムグラフを作る

ダッシュボードに戻り、ギアアイコンをクリック

image.png

グラフアイコンをグリッド上にドロップします。

image.png

image.png

式グラフを選択し、以下の式を入力します。

image.png

offset(service('twitter-followers', followers.twitter), -14900)

Mackerel のグラフで扱える式の一覧は以下から参照できます。

作成をクリックすると、綺麗なグラフができあがりました。

image.png

これを見る限り、sisidovski さんにツイート頂いた9日の2日後からの Twitter フォロワ数増加は、80~100 くらいだったのかなぁと推測できます。

おわりに

Mackerel を使うと今ある値をメトリクスとしてグラフにする事ができます。また式グラフを使う事で独自のグラフを作成できます。超便利。

19
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?