ニフクラ ブログ

ニフクラやクラウドの技術について、エンジニアが語るブログです。

Mackerelでニフティクラウドのサーバーを監視しよう

Mackerelについて

みなさんMackerelをご存知でしょうか? Mackerelとは、株式会社はてなが提供している、SaaS型のサーバー監視サービスです。
Mackerel(マカレル): 新世代のサーバ管理・監視ツール

ニフティクラウドには、標準で監視サービスが用意されているため、そちらをご利用されている方もいれば、独自で監視システムを構築している方もいらっしゃると思います。

まずMackerelについて知っていただくために、Mackerelの特徴をいくつかご紹介させていただきます。 Mackerelには以下の大きな特徴があります。

  • 監視サーバーが不要で3分で監視が開始できる
  • 様々なチャットサービス・通知サービスと簡単に連携し、システム運用の中核として色々なCIツールなどと連携できること
  • 監視可能なOSがLinux/Windows/Mac/FreeBSDと幅広く対応していること

監視対象となるサーバーにmackerel-agentをインストールしていただき、mackerel-agentからMackerelサーバーに対して各種メトリックデータの投稿を行っています。

Mackerelサーバーからmackerel-agentに対してアクセスすることはありませんので、Mackerelを利用するためのファイアウォールの設定などは不要です。 いわゆるプッシュ型の監視になります。

Mackerelは、有料/無料のプランを用意しており、ニフティクラウドをご利用の方はニフティクラウド専用プランにより通常よりもお得にFreeプランを利用できます。

Mackerelのユーザー登録

Mackerelを利用するには、まずユーザー登録が必要となります。 ユーザー登録の際、ニフティクラウド経由でなければニフティクラウド特別プランを利用できなくなってしまうため、ご注意ください。

Mackerelの解説ページの中にある「お申し込みはこちら」のボタンより、登録画面へ進むことができます。
サーバー監視サービス(Mackerel)

こちらよりMackerelのユーザー登録とオーガニゼーションの登録まで実施してください。

オーガニゼーション・サービス・ロールについて

mackerel-agentのインストールを実施する前に解説を行います。

service_role

オーガニゼーション

オーガニゼーションとは、Mackerelを利用する会社・組織・個人を指します。Mackerelのユーザアカウントはいずれかのオーガニゼーションに所属します。1つのオーガニゼーションに複数のユーザーが所属したり、1人のユーザーが個人用と会社用といった複数のオーガニゼーションに所属することができます。

その場合であっても、ホストやサービスの情報がオーガニゼーションの枠を越えて共有されることはありません。

Mackerelの費用は、mackerel-agentが稼働している台数に対して発生するため、オーガニゼーションを複数作成しても、複数のオーガニゼーションへ所属しても費用がかかるわけではありません。

サービス

Mackerelにおいて、サービスとはホストを運用する上でもっとも大きな単位です(例: 「はてなブックマーク」「社内システム(勤怠管理)」など)。

通常、複数のホストがそれぞれの「役割」(→ ロール)を担当し、協調しあってひとつのサービスを形づくります。関係しあうホストをひとつのサービスに属するものとしてまとめることで、ホストの管理・監視が容易になります。

ロール

ロールは、サービスに所属するホストを、さらにその「役割」(アプリケーション、データベース、etc…)によって分類する概念です。 Mackerelでは、ホストの状況をロールごとにまとめて可視化することができます。 例えば、1つのロールに複数のホストを設定することもできます、そうすることで複数ホストのメトリックを1つのグラフでまとめて見ることができます。

サーバーの用意

mackerel-agentをインストールするサーバーを用意します。今回はニフティクラウドが公式で提供しているCentOS 7.1を用意しました。 mackerel-agentは主に以下のOSで動作をします。

  • CentOS 5/6/7
  • Ubuntu 12.04LTS/14.04LTS
  • Debian 6/7
  • Windows Server 2008 R2以降

一般的なLinux環境でもあれば動作すると思われますが、現在のところサポート対象外となっておりますのであらかじめご注意ください。

mackerel-agentのインストール

それではmackerel-agentのインストールを進めていきます。

まずは、Mackerelにログインします、ログインされていない方はこちらよりMackerelへログインをしてください。

ログイン後、画面左下にある「新規ホストの登録」を選択します。

newhost

インストールを行うサーバーのOSに適した方法を選択してください。今回はCentOSへインストールするため、RPMパッケージを選択します。

rpmpackage

すると、画面上に手順・ステップが表示されます、画面右端にあるボードのアイコンをクリックすると、記載されたコマンドの内容がクリップボードへコピーされます。 今回は、yumコマンドを利用してインストールを行います。

まずは、以下のコマンドを利用してMackerelのパッケージリポジトリを登録します。

$ curl -fsSL https://mackerel.io/assets/files/scripts/setup-yum.sh | sh

続いてyumコマンドでmackerel-agentをインストールします。

sudo yum install -y mackerel-agent

以上でmackerel-agentのインストールは完了しました。

Mackerel APIキーの設定

mackerel-agentのインストール後、mackerel-agent.confへオーガニゼーションのAPIキーを設定する必要があります。 confを編集してAPIキーを登録することもできますが、ホスト登録の画面より1コマンドをコピー&ペーストでAPIキーを登録することが可能です。

sudo mackerel-agent init -apikey="OrgのAPIキーが表示されています"

コマンド実行後、特に何も表示されませんので、次に進みます。

mackerel-agentを起動する

mackerel-agentの起動コマンドもコピー&ペーストで進めることができます。

sudo /etc/init.d/mackerel-agent start

以上で、mackerel-agentのインストールから起動までが完了しました。

サーバーのメトリックデータは、mackerel-agentからMackerelサーバーへ毎分送信していますので、数分でグラフが作成されてメトリック状況を確認することができます。

mackerel