Mackerel を触ってみる(準備編)
アノテーション 顧客推進チーム(構築担当)のいたくらです。
Mackerel の検証をしたいと思い立ち、公式ドキュメントを見ながら Mackerel を準備したので備忘としてまとめました。
前提知識
Mackerel とは SaaS 型サーバー監視サービスです。
詳しく知りたい方は Mackerel 公式サイトをご覧ください。
やってみた
1. オーガニゼーションを新規作成する
サインアップページにアクセスします。
メールアドレスを入力、内容を確認しチェックボックス 2 つをチェックしたら「サインアップ」をクリックします。
次に、オーガニゼーション作成画面へ遷移します。
オーガニゼーション名を入力したら「作成」をクリックします。
すると、料金体系画面へ遷移します。
「Trial プランをはじめる」をクリックします。
Mackerel の管理画面へ遷移し、導入マニュアルが表示されます。
画面上部に表示されているように先ほど入力したメールアドレスに確認メールが送信されているので、メールの内容に従いユーザー登録をしました。
「パスワードを設定する」をクリックしたら Mackerel 管理画面のダッシュボードに遷移しました。
これでオーガニゼーションの作成は完了です。
2. ホストを登録する
監視対象のサーバーに mackerel-agent をインストールします。
左メニューの「ホスト」>「ホストを新規登録する」>「Amazon Linux」をクリックしていくと出てくるコマンドをコピーします。
AWS 上に EC2 インスタンス(Amazon Linux 2023)を準備しておいたので、セッションマネージャー経由で EC2 にログインします。
先ほどコピーしたコマンドを使用して mackerel-agent インストールを実施します。
実際のログ
$ curl -fsSL https://mackerel.io/file/script/amznlinux/setup-all-yum-v2.sh | MACKEREL_APIKEY='APIキー' sh
Superuser authority is required to setup Mackerel agent:
++ mktemp
+ gpgkey_path=/tmp/tmp.w76KoQG1LP
+ curl -fsS -o /tmp/tmp.w76KoQG1LP https://mackerel.io/file/cert/GPG-KEY-mackerel-v2
+ rpm --import /tmp/tmp.w76KoQG1LP
+ rm /tmp/tmp.w76KoQG1LP
+ cat
+ yum install -y mackerel-agent
mackerel-agent 33 kB/s | 2.8 kB 00:00
Dependencies resolved.
==========================================================================================================================================================================
Package Architecture Version Repository Size
==========================================================================================================================================================================
Installing:
mackerel-agent x86_64 0.82.0-1.amzn2 mackerel 2.3 M
Transaction Summary
==========================================================================================================================================================================
Install 1 Package
Total download size: 2.3 M
Installed size: 6.4 M
Downloading Packages:
mackerel-agent-0.82.0-1.amzn2.x86_64.rpm 8.5 MB/s | 2.3 MB 00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 8.4 MB/s | 2.3 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : mackerel-agent-0.82.0-1.amzn2.x86_64 1/1
Running scriptlet: mackerel-agent-0.82.0-1.amzn2.x86_64 1/1
Created symlink /etc/systemd/system/multi-user.target.wants/mackerel-agent.service → /usr/lib/systemd/system/mackerel-agent.service.
Verifying : mackerel-agent-0.82.0-1.amzn2.x86_64 1/1
Installed:
mackerel-agent-0.82.0-1.amzn2.x86_64
Complete!
+ mackerel-agent init -apikey=APIキー
+ systemctl start mackerel-agent
*************************************
Done! Welcome to Mackerel!
*************************************
$
ログ監視もやってみたいので、公式チェックプラグイン集もインストールします。
実際のログ
$ sudo yum install mackerel-check-plugins
Last metadata expiration check: 1 day, 5:10:06 ago on Tue Aug 27 01:53:18 2024.
Dependencies resolved.
================================================================================================================================================
Package Architecture Version Repository Size
================================================================================================================================================
Installing:
mackerel-check-plugins x86_64 0.47.0-1.amzn2 mackerel 4.7 M
Transaction Summary
================================================================================================================================================
Install 1 Package
Total download size: 4.7 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
mackerel-check-plugins-0.47.0-1.amzn2.x86_64.rpm 21 MB/s | 4.7 MB 00:00
------------------------------------------------------------------------------------------------------------------------------------------------
Total 20 MB/s | 4.7 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : mackerel-check-plugins-0.47.0-1.amzn2.x86_64 1/1
Verifying : mackerel-check-plugins-0.47.0-1.amzn2.x86_64 1/1
Installed:
mackerel-check-plugins-0.47.0-1.amzn2.x86_64
Complete!
$
mackerel-agent インストール完了後、左メニューの「ホスト」をクリックすると、mackerel-agent をインストールした EC2 が監視対象として管理画面に表示されるようになっていました。
3. サービスとロールを新規作成する
ホストをグルーピングできる「サービス」というものを作成します。
左メニューの「サービス」>「サービスを新規登録」より、サービスを作成します。
今回は AWS サービスでグルーピングしようと思ったので、「EC2」というサービス名としました。
サービス名を入力したら、画面下部の「作成」をクリックします。
サービスの一覧に作成した「EC2」が表示されたので、これをクリックします。
そのままロールを作成するように促されたので、「ロールを新規作成」をクリックします。
今回作成した EC2 の役割は WEB サーバーということにして、「web-server」というロール名としました。
ロール名を入力したら、画面下部の「作成」をクリックします。
EC2 サービスページの配下に、web-server ロールが表示されるようになりました。
4. ホストにロールを紐づける
左メニューの「ホスト」をクリックし、ロールを紐づけたいホストの「ホスト名」をクリックします。
ホストの詳細画面の「設定」をクリックします。
「Choose a role...」より先ほど作成した「EC2: web-server」を選択し、画面下部の「更新」をクリックします。
ホスト一覧に戻ると、ロールが紐づけられたことが確認できました。
ここまでの作業で、EC2 の connectivity(死活監視)が実装できました。
あとがき
本記事では Mackerel 準備編として、オーガニゼーション作成~ホストを監視対象に含めるところまでをまとめました。
connectivity 以外にも監視項目を増やしていくので(AWS インテグレーション、ログ監視など)、それはまた別記事にしようと思います。
この記事がどなたかのお役に立てれば幸いです。
参考資料
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。
サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。