MackerelのCLIツール「mkr」を使ってみた

MackerelのCLIツール「mkr」の導入方法と基本的な情報取得フローについて書いていきたいと思います。
2022.05.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちはきだぱんです。
Mackerelを触り始めて、早一か月。
今回は、MackerelのCLIツール「mkr」にフォーカスを当て、ブログを書いていきたいと思います。

それでは、いってみましょう!!

「mkr」とは

Mcketrelでは、サーバ運用をサポートするCLIツール「mkr」を提供しています。
mkrはMackerelの各種設定を取得、更新する為のCLIツールです。
mkrを使って、ホストのステータスをまとめて変更したり、手順をスクリプトに組み込んで自動化したりもできます。
今回は初手となる導入方法と基本的な情報取得フローについて書いていきたいと思います。

※Mackerelで新規ホスト登録後からの説明になります。
詳しくは下記をご覧いただければと思います。

mkrの導入

インストール

yumコマンドですぐにインストール可能です。

# yum install mkr

インストール内容を確認し、下記のようになればインストール完了です。

・・・・・・
Installed:
  mkr.x86_64 0:0.46.5-1.amzn2

Complete!

バージョン確認

インストール完了後、念のためバージョンを確認しておきましょう。

# mkr --version
mkr version 0.46.5

# mkrでも詳細を見ることが出来ます。

# mkr
NAME:mkr - A CLI tool for mackerel.io
USAGE:mkr [global options] command [command options] [arguments...]
VERSION:0.46.5 (rev:e24d9fc)
AUTHOR:Hatena Co., Ltd.
COMMANDS:
   status            Show the host
   hosts             List hosts
・・・(略)・・・・・
GLOBAL OPTIONS:
   --conf value     Config file path (default: "/**********************")
   --apibase value  API Base (default: "https://*****************")
   --help, -h       show help
   --version, -v    print the version

APIキーの指定

また、mkrは自動的にAPIキーを読み出ししますが、mackerel-agentがない場合や、個別に指定したい場合は下記コマンドで、APIキーを環境変数で指定できます。
# export Mackerel_APIKEY= 指定したいAPI_KEY

mkrで情報取得

mkrのインストールが完了したところで、基本的な情報取得を行っていきたいと思います。

ホスト情報の取得

# mkr status <hostId>

ロール内のホスト情報取得

# mkr hosts --service サービス名 --role ロール名

特定ロールのホスト一覧情報を取得することも出来ます。
コマンドを叩くと、ID,name,status情報を見ることが出来ます。

監視設定の取得

現在の監視設定を確認します。
コマンドを実行すると monitors.json がコマンド実行のディレクトリに作成されます.

# mkr monitors pull
      info Monitor rules are saved to 'monitors.json' (** rules).

メトリック取得

メトリックサブコマンドでメトリックも取得できます。

# mkr metrics --host <hostId> --name <name> --from <epoch seconds> --to <epoch seconds>

特定のホストのメトリックや、特定のサービスのメトリックを取得することも可能です!!

まとめ

これにて、mkrの最初の一歩となる導入は完了となります。 最初に試すべき内容として、mkrにフォーカスを当て、導入方法と基本的な情報取得フローについてブログにしました。 今回は、情報取得の部分までですが、取得した内容を確認して、追加で監視設定を変更追加してみたり使い方は無限大にありそうです。
mkrはGitHubにて、公開されております。今後「mkr」を、どんどん活用していきたいです。