0
0

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.

mackerel-agentを使って任意のタイミングでサーバメトリクスを取得する

Posted at
スクリーンショット_2015-11-03_11_58_10.png

はじめに

Mackerelのサーバ監視はmackerel-agentをインストールするだけでいろんなメトリクスがグラフで見れて便利ですよね:smile:
ただ、このグラフは1分間隔の値が描画されているのですがAPIでは5分毎の平均値しかとれません:sob:

mackerel-agentコマンドを使えばそんなメトリクスたちを任意のタイミングでとることができます:point_up::grin:

対象

試したのはCentOS 7.1とMacだけですが、Linux、FreeBSD、Windowsなら動きそうな雰囲気です。

取れるメトリクス

CentOS 7.1でとれる標準のメトリクスはこちらです。

{
  "Created": "2015-11-02T20:57:28.352864959+09:00",
  "Values": {
    "cpu.guest.percentage": 0,
    "cpu.idle.percentage": 399,
    "cpu.iowait.percentage": 0,
    "cpu.irq.percentage": 0,
    "cpu.nice.percentage": 0,
    "cpu.softirq.percentage": 0,
    "cpu.steal.percentage": 0,
    "cpu.system.percentage": 0,
    "cpu.user.percentage": 1,
    "disk.sda.reads.delta": 0,
    "disk.sda.writes.delta": 0,
    "disk.sda1.reads.delta": 0,
    "disk.sda1.writes.delta": 0,
    "filesystem.sda1.size": 16094593024,
    "filesystem.sda1.used": 1343873024,
    "interface.eno16777984.rxBytes.delta": 70,
    "interface.eno16777984.txBytes.delta": 140,
    "loadavg5": 0.01,
    "memory.active": 284356608,
    "memory.buffers": 700416,
    "memory.cached": 271351808,
    "memory.free": 7782879232,
    "memory.inactive": 107966464,
    "memory.swap_cached": 0,
    "memory.swap_free": 0,
    "memory.swap_total": 0,
    "memory.total": 8365703168,
    "memory.used": 310771712,
    "uptime": 0.45530717592592596
  }
}

メトリック仕様もご覧ください。

Mac OS 10.11でとれたのはこちらです。

{
  "Created": "2015-11-03T13:42:59.868419262+09:00",
  "Values": {
    "cpu.idle.percentage": 98,
    "cpu.system.percentage": 1,
    "cpu.user.percentage": 1,
    "filesystem.disk1.size": 499055067136,
    "filesystem.disk1.used": 109190696960,
    "interface.awdl0.rxBytes.delta": 0,
    "interface.awdl0.txBytes.delta": 0,
    "interface.bridg.rxBytes.delta": 0,
    "interface.bridg.txBytes.delta": 0,
    "interface.en0.rxBytes.delta": 640,
    "interface.en0.txBytes.delta": 642,
    "interface.en1.rxBytes.delta": 0,
    "interface.en1.txBytes.delta": 0,
    "interface.en2.rxBytes.delta": 0,
    "interface.en2.txBytes.delta": 0,
    "interface.gif0.rxBytes.delta": 0,
    "interface.gif0.txBytes.delta": 0,
    "interface.p2p0.rxBytes.delta": 0,
    "interface.p2p0.txBytes.delta": 0,
    "interface.stf0.rxBytes.delta": 0,
    "interface.stf0.txBytes.delta": 0,
    "loadavg5": 0.97,
    "memory.active": 7702355968,
    "memory.cached": 5382914048,
    "memory.free": 3217080320,
    "memory.inactive": 2794979328,
    "memory.swap_free": 0,
    "memory.swap_total": 0,
    "memory.total": 17171968000,
    "memory.used": 8571973632
  }
}

mackerel-agentインストール

インストール方法はドキュメントに詳しく書いてあります。

rpmやdebのパッケージも用意されていますし、Goのバイナリがあるので直接それを使っても大丈夫です。
Windows用のインストーラも用意されています(試してません)。

メトリクス取得方法。

次のコマンドで任意のタイミングのメトリクスを取得することができます。

mackerel-agent --once

結果はJSONで出力されます。JSONにはホストのメタ情報なども含まれています。
メトリクスだけ出力したい場合はjqとかが便利です。

$ mackerel-agent --once 2> /dev/null | jq -M ".metrics.Values"
{
  "cpu.idle.percentage": 99,
  "cpu.system.percentage": 0,
  "cpu.user.percentage": 0,
  "filesystem.disk1.size": 499055067136,
  "filesystem.disk1.used": 109224218624,
  "interface.awdl0.rxBytes.delta": 0,
  "interface.awdl0.txBytes.delta": 0,
  "interface.bridg.rxBytes.delta": 0,
  "interface.bridg.txBytes.delta": 0,
  "interface.en0.rxBytes.delta": 748,
  "interface.en0.txBytes.delta": 529,
  "interface.en1.rxBytes.delta": 0,
  "interface.en1.txBytes.delta": 0,
  "interface.en2.rxBytes.delta": 0,
  "interface.en2.txBytes.delta": 0,
  "interface.gif0.rxBytes.delta": 0,
  "interface.gif0.txBytes.delta": 0,
  "interface.p2p0.rxBytes.delta": 0,
  "interface.p2p0.txBytes.delta": 0,
  "interface.stf0.rxBytes.delta": 0,
  "interface.stf0.txBytes.delta": 0,
  "loadavg5": 1.33,
  "memory.active": 7322976256,
  "memory.cached": 5257224192,
  "memory.free": 3427651584,
  "memory.inactive": 2804174848,
  "memory.swap_free": 0,
  "memory.swap_total": 0,
  "memory.total": 17171501056,
  "memory.used": 8486625280
}

おわりに

mackerel-agentコマンドを使って任意のタイミングで手軽にサーバメトリクスを取得する方法を紹介しました。
1コマンドで様々なメトリクスがJSONとして取得できてとても便利です:laughing::tada:

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?