概要
シンプルなサービスでも、何かあったときに気付けるように、監視入れておきたいですよね。今回は、無料で使えるサーバ監視サービスmackerel(マカレル)を紹介したいと思います。
mackerelとは
https://mackerel.io/ja/
mackerel(マカレル)は、運用しているサーバに、mackerelエージェントを入れるだけで、監視を始めることができる手軽な監視ツールです。監視用のサーバ構築は不要で、エージェントを入れるだけで、スタートでき、リソース状況は、サービス画面に表示されます。さらに閾値を設定することで、様々なツールに通知を送ることが可能なサービスになっています。
新規登録する
上記URLから新規登録を行ないます。
画面に沿って、登録を進めていき、トライアルプランの利用をスタートします。
監視設定をする
エージェントをインストールする
左メニューから、Hostsというメニューを開きます。メニューを開くと、下記のような画面が表示されるかと思います。
右上のエージェントをインストールをクリックして、対象サーバが該当するOSを選びます。
今回は、CentOSの7系だったため、その手順のみ記載していきます。
CentOS7系をクリックすると、下記のコマンドを実行してと言われます。
curl -fsSL https://mackerel.io/file/script/setup-all-yum-v2.sh | MACKEREL_APIKEY='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' sh
コマンド実行ログはこちら
$ curl -fsSL https://mackerel.io/file/script/setup-all-yum-v2.sh | MACKEREL_APIKEY='xxxxxxxxxxxxxxxxxxxxxxxxxx' sh
This script requires superuser authority to setup Mackerel agent:
++ mktemp
+ gpgkey_path=/tmp/tmp.2aq1aAm7k8
+ curl -fsS -o /tmp/tmp.2aq1aAm7k8 https://mackerel.io/file/cert/GPG-KEY-mackerel-v2
+ rpm --import /tmp/tmp.2aq1aAm7k8
+ rm /tmp/tmp.2aq1aAm7k8
+ cat
+ yum install -y mackerel-agent
読み込んだプラグイン:fastestmirror, langpacks
Determining fastest mirrors
epel/x86_64/metalink | 7.0 kB 00:00:00
* base: ty1.mirror.newmediaexpress.com
* epel: nrt.edge.kernel.org
* extras: ty1.mirror.newmediaexpress.com
* remi-safe: ftp.riken.jp
* updates: ty1.mirror.newmediaexpress.com
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
mackerel | 2.9 kB 00:00:00
mariadb-main | 2.9 kB 00:00:00
mariadb-maxscale | 2.4 kB 00:00:00
mariadb-tools | 2.9 kB 00:00:00
remi-safe | 3.0 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/6): mackerel/x86_64/primary_db | 5.1 kB 00:00:00
(2/6): mackerel/x86_64/updateinfo | 536 B 00:00:00
(3/6): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(4/6): remi-safe/primary_db | 1.8 MB 00:00:00
(5/6): updates/7/x86_64/primary_db | 4.5 MB 00:00:01
(6/6): epel/x86_64/primary_db | 6.9 MB 00:00:01
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mackerel-agent.x86_64 0:0.69.1-1.el7.centos を インストール
--> 依存性解決を終了しました。
依存性を解決しました
============================================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
============================================================================================================================================================================================================
インストール中:
mackerel-agent x86_64 0.69.1-1.el7.centos mackerel 2.3 M
トランザクションの要約
============================================================================================================================================================================================================
インストール 1 パッケージ
総ダウンロード容量: 2.3 M
インストール容量: 6.8 M
Downloading packages:
mackerel-agent-0.69.1-1.el7.centos.x86_64.rpm | 2.3 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : mackerel-agent-0.69.1-1.el7.centos.x86_64 1/1
Created symlink from /etc/systemd/system/multi-user.target.wants/mackerel-agent.service to /usr/lib/systemd/system/mackerel-agent.service.
検証中 : mackerel-agent-0.69.1-1.el7.centos.x86_64 1/1
インストール:
mackerel-agent.x86_64 0:0.69.1-1.el7.centos
完了しました!
+ mackerel-agent init -apikey=xxxxxxxxxxxxxxxxxxxxxxxxxx
+ systemctl start mackerel-agent
*************************************
Done! Welcome to Mackerel!
*************************************
上記では、shellを実行していますが、内部的には、yumリポジトリを登録 → yumコマンドを用いてインストールをしているようです。
++++++
・yumリポジトリを登録
curl -fsSL https://mackerel.io/file/script/setup-yum-v2.sh | sh
・yumコマンドを用いてインストール
yum install -y mackerel-agent
++++++
これだけで、エージェントのインストールが完了しました。
グラフを見る
エージェントをインストールしたら、グラフを見てみます。先ほどのサービス画面の左メニューからHostsを再度クリックします。クリックすると、インストールしたサーバのホスト名が表示されています。ホスト名をクリックすると、下記のようなかたちでグラフが描画されています。
タブを開いてもらえるとわかるのですが、初期インストールをすると、LoadAverage、CPU、memory、disk、Interface, filesystemなどの6つのグラフをすぐに確認することができます。
監視設定をする
ここまでできたら監視設定をしましょう。監視は、左メニューのMonitorsというところから行なっていきます。デフォルトでは、ホストの死活監視のみが設定されている状態になりますので、必要な監視をここでは設定していきます。今回は、ホストメトリック監視を追加していきます。
監視ルールの追加をクリックして、ホストメトリック監視を選ぶと、下記のような画面が表示されるかと思います。
今回は、CPU、memory、filesystem、swapが全体の80%を超えたらwarning、全体の90%を超えたらcriticalとなるように設定をしました。
通知設定をする
最後に、監視項目に設定した値に引っかかった場合、通知を行なうように設定をしていきます。通知は、左メニューのChannelsというところから設定できます。デフォルトでは、メールで送信するようになっています。画面を開いてもらえるとわかるのですが、通知は様々なサービスと簡単に連携をすることができるようです。
・メール通知(オーガニゼーションに所属する特定のユーザーや、特定のメールアドレスへのメール通知、ブロードキャスト通知を行います。)
・Slack(チーム向けのコミュニケーションサービスです。)
・LINE(無料で音声・ビデオ通話・チャットが楽しめるコミュニケーションアプリです。)
・Chatwork(あなたのビジネスを加速するために生まれたクラウド会議室です。)
・Typetalk(パソコンやスマホで簡単にメッセージのやりとりができるコミュニケーションツールです。)
・HipChat(企業やチームのための、ホスティングされたグループチャットと IM です。)
・Twilio(電話やSMSとネットをつなぐことのできるクラウドAPIサービスです。)
・Reactio(障害&トラブル対応を、チーム力で解決に導くインシデント管理型コラボレーションツールです。)
・PagerDuty(オンコールスケジューリング、アラートとインシデントの追跡を管理します。)
・OpsGenie(プッシュ通知やメール、SMS、電話等を活用したチームでのアラート管理を実現します。)
・Yammer(社員が部門、場所、ビジネスアプリケーションを横断しコラボレーションするのを促進するプライベートソーシャルネットワークです。)
・Microsoft Teams(Office 365 でチームワークを実現するためのハブです。)
・Webhook(監視対象となっている全ホストの状態をリアルタイムに提供します。)
・Amazon EventBridge(監視対象となっている全ホストの状態をリアルタイムにAamzon EventBridge 経由で提供します。)
このように多数のサービスと連携することができます。
サービスの監視は、mackerelでやろう
いかがでしたでしょうか。mackerelで簡単に監視設定をする場合、早ければ、10分以内に監視をスタートすることができます。みなさまもぜひお試しください。