こんにちは!Mackerel CREチーム プランナーのid:meymao です。最近作ってよかった料理は「ヤンソンさんの誘惑」です。年末が近づき、Advent Calendar の季節がやってきますね。Mackerelでも毎年恒例のMackerel Advent Calendarを開催します!
そこで今回は Advent Calendar のネタにも丁度いい、Mackerelスタッフの「これは試して欲しい!」推し機能をご紹介します。Advent Calendarを書く予定がある方もない方も、気になる機能があれば、ぜひ試してみてください!
Mackerelスタッフの「これは試して欲しい!」推し機能、紹介します!
オーガニゼーション管理名 /
id:kmuto (CRE)
☝️推しポイント
オーガニゼーションを表示する際の名前として日本語文字でも絵文字でも自由に設定できるのが最高です!! Mackerelの仕組み上、オーガニゼーションの正式な名前には英数字とハイフンしか利用できませんが、オーガニゼーション管理名はこれに任意の別名を付けることができる機能です。Webコンソールでの表示に限らず、アラートメールにおいてもこのオーガニゼーション管理名が使われた形で送られるので、特に多数のオーガニゼーションを運用しているユーザーさまには便利でしょう。
お客さまのご要望をお聞きするところから始まって、開発・デザイン・CRE・ビジネスの職種横断プロジェクトで設計と実装、フィードバックと改良、と深く関わってきたので、今年の私の活動の中でも思い入れがあります!
⛰️試してみてほしいこと
新しいオーガニゼーションを作成するときにはすでに「オーガニゼーション名」のほかに「管理名」という記入欄があるので、すでにご利用されている方も多いのではないでしょうか。まだご利用されていない方も、オーガニゼーションの「設定」で管理名を簡単に指定できます。クリスマスに向けて絵文字でデコレーションし放題するのもいかがでしょうか🥳🎄!
リリースブログ(以下)もぜひご覧ください!
メタデータプラグインとホスト詳細API /
id:do-su-0805 (CRE)
☝️推しポイント
mackerel-agentやmackerel-container-agentで登録されたホストでは、ホストに関する情報や、稼動するクラウドプラットフォームの情報がメタデータとして登録されています。
登録されたメタデータの一部はホスト詳細画面に表示されたり、ホストの一覧 APIやホスト情報の取得 APIやCLIツール mkrでの mkr hosts -v
コマンド等で取得することができます。
エージェントが自動で取得するメタデータに加えて、APIやエージェントから追加のメタデータを投稿することも可能です。
サーバ内部での欲しい情報(稼動アプリケーションのバージョンなど)を投稿することで、ホスト一覧からフィルタリングし、対象をリストアップすることができます。 特定の情報から対象を絞り込むという体験は、Mackerelはオブザーバビリティプラットフォームとして進化していきます - Mackerel ブログ #mackerelioとして注力しているラベル付きメトリックでの探索に近しい体験となるため、監視対象に対するオブザーバビリティの確保の第一歩として、メタデータを活用いただければと考えております。
⛰️試してみてほしいこと
- ホストの一覧 APIやmkr を利用した
mkr hosts -v
を実行いただき、ホストごとに様々な情報が取得されていることをご確認いただきたいです。 jq
コマンドやmkr --jq
オプションを利用して、特定のメタデータを対象にフィルタリングしたホスト一覧を出してみていただきたいです。- 例 : amd64環境以外を利用しているホスト一覧
mkr hosts -v | jq '.[] | select(.meta.kernerl.machine != "amd64") | {name,id}' -c
- 例 : amd64環境以外を利用しているホスト一覧
- ご利用環境でホストごとに差分が発生し、かつその差分でフィルタリングした一覧が欲しいデータなどをメタデータAPIで投稿してみてほしいです。
- アプリケーションバージョンや起動日時など
カスタムダッシュボード /
id:taxintt (SRE)
☝️推しポイント
カスタムダッシュボードを活用して監視を育てることができる点が私の推しポイントです。「監視を育てる」というワードがある表す通り、プロダクトが稼働するシステムの監視は一朝一夕で実現できるものではなく、プロダクトの変化に合わせる形で監視を継続的にアップデートする必要があります。
例えば、監視対象のシステムコンポーネントの追加に伴って、何のメトリックを使ってシステムの正常性を監視できるかを確認する必要がありますが、個人で全て確認するのは大変かもしれません。また、確認した内容はシステムに関する知識としてチームに展開する必要があるかと思います。
そんな時に、カスタムダッシュボードをチームで利用することで、集合知をダッシュボードに落とし込み、チームでアップデートを行うことで個人の負荷を下げることができます。また、ダッシュボードに整理されたメトリックやその見方を知ることで、システムに対する理解を促進することもできます。
Mackerel開発チームにおけるカスタムダッシュボードの活用事例については下記資料でも触れており、より具体的な活用イメージを持っていただけるかなと思います。
⛰️試してみてほしいこと
システムに対する理解を深めるためには、メトリックの変化が意味するシステムひいてはサービスの挙動を理解する必要があります。それを補足するためのウィジェットとしてMarkdownウィジェットがあります。
Markdownウィジェットにメトリックの変動が表現するもの(e.g. ジョブキューに溜まっているジョブ数のメトリックが増加しているのでジョブが正常に処理されていない)やメトリックの見方(e.g. メトリックが右肩上がりに増加し続けるなど傾向変化してなければ問題ない)をまとめるだけで集合知としての質が上がり、開発チーム全体に対してシステムに対する理解を促進しやすくなるはずです。
ぜひ、カスタムダッシュボードを最大限活用することで、監視ルールの作成など他の監視改善のアクションにも繋げていただければと思います。
監視ルールのメモ /
id:kurikenta(フィールドセールス兼インサイドセールス)
☝️推しポイント
監視ルールのメモにアラート設定背景を記載しておくとアラートのブラックボックス化を防ぐことができます
他サービスを利用していたお客様からは、「アラートそれぞれの役割や設定理由がわからなくなってしまい、変に消すこともできずアラートが増えていく一方で疲弊してしまう」というお声を聞くことがあります。監視ルールのメモを活用することでそれぞれのアラートがどういう内容であり、どういう理由で設定をしているかなどを記載しておくことができます。
監視ルールのメモに対応手順書のリンクを記載することでアラート対応の属人化を防ぐことができます
お客様から「今後インフラ担当を新しく採用していく中で、新しいメンバーにも分かるようにしておきたい。属人化をなくしたい、防ぎたい。」というお話をお伺いした時にこの機能と使い方を紹介すると喜ばれることが多いです。監視ルールのメモにURLを記載しておくことで、アラート発生時の対応手順書に飛べるようになります。対応手順書を用意しておくことで、ある程度誰でも一時対応まではできるようになるので、運用コストの削減にもつながります。
⛰️試してみてほしいこと
是非監視ルールの作成規則を設けた上で運用をして、対応手順書のリンクを載せるなどしてみてください。Mackerelを活用して少しでも監視を楽にしていただけたら幸いです。
日本語対応 /
id:issan883 (デザイナー)
☝️推しポイント
「とっつきやすさ」を考慮してMackerelのUI/UXを設計しています。その中の一つに「日本語対応」があります。エンジニアが利用する多くのサービスは英語が多く、「監視を始めてみようかな」と思っても、説明文が英語で分かりづらい部分があるかと思います。Mackerelでは英語が苦手なかたでも気軽に始めることができるように対応しています。
英語のほうが用語がすんなり入ってくる、英語を社内公用語という方もいると思いますが、そんな方には英語への切り替えも用意されています。
言語の設定は、ダッシュボード右上をクリックし、アカウント設定 > ユーザーインターフェースの「言語」にて可能です。
⛰️試してみてほしいこと
Mackerelでは日本語・英語のドキュメントも豊富にあります。
困ったらドキュメントを読んで解決できるよう、さまざまな形で情報を公開しているので、どんな機能があるのかなど一度ご覧になってみてください。
ラベル付きメトリック機能 /
id:arthur-1(アプリケーションエンジニア/テックリード)
☝️推しポイント
OpenTelemetry Protocol (OTLP) で投稿できます。OpenTelemetry CollectorやOpenTelemetry SDKといった、OSSコミュニティで開発されているツールをそのまま利用することが可能です。これまでMackerelが公式にプラグインを提供してこなかったミドルウェアの監視も手軽にできるようになるでしょう。
PromQLを使って、ラベルで自在に絞り込んだり、複雑な計算したりすることができます。Mackerelの「式による監視」機能では実現できなかったような演算も行うことができるので、取得したメトリックを演算子てSLIを生成するときにも役に立ちます。
ホストに縛られないメトリック系列1本単位の課金体系なので、大規模な利用でも小規模な利用でも使いやすいです。IoT機器のような、ホスト台数が多いけど取得したいメトリックはさほどない場合などで、特にコストメリットが大きいです。
⛰️試してみてほしいこと
ラベル付きメトリックはMackerelの中でも生まれたばかりの機能で、日々進化を遂げています。より良い機能にすることを目指しておりますので、ぜひご利用いただき、フィードバックをお願いいたします。
timeLeftForcast 関数 /
id:ne-sachirou(アプリケーションエンジニア/テックリード)
☝️推しポイント
ゆっくりと増減するメトリックがあるとします。このメトリックが閾値を超える前に対応したい場合、どのようにすればよいでしょうか? たとえば、ディスクが埋まる前に増設を行うなど、事前対応を考えるケースが挙げられます。もし閾値を超えてしまえば、障害として迅速な対応が求められます。そこで、障害になる前の段階で対応を開始することが理想です。
ひとつの方法として、より緩やかな閾値で監視ルールを設定することが考えられます。別の監視ルールを設定してもよいでしょうし、あるいは同じ監視ルールのWarningの閾値をこの用途に利用するのも有効です。
また、対応に余裕をもって望める場合には、メトリックが閾値に達するまでの時間を可視化し、その時間を監視する方法もあります。ここで役立つのが、timeLeftForecast関数です。この関数を使用して式グラフを作成すれば、メトリックが閾値に到達するまでの日数を視覚化できます。
以下の式を利用すれば、メトリックが閾値に達するまでの日数をグラフに表示できます。
group( service(example, some.interesting.metric), alias(scale(timeLeftForecast(service(example, some.interesting.metric), '1mo', 閾値), 1/86400), '〜に達するまでの日数') )
さらに、timeLeftForecastの値を数値ウィジェットとしてカスタムダッシュボードに配置することで、「あと何日で対応が必要か」が直感的に把握できるようになります。この値を監視ルールに設定することも可能です。
⛰️試してみてほしいこと
timeLeftForecast関数を使えば、将来の状態をざっくりと予測することができます。一方で、予測ではなく、現在のメトリックの傾向を把握したい場合には、linearRegression関数が有用です。この関数を使えば、メトリックがどれくらいの速度で増減しているかを可視化できます。
これらの機能を組み合わせることで、より効果的な監視と計画的な対応が可能になります。ぜひ試してみてください。
グラフ共有 /
id:wtatsuru(プロデューサー)
☝️推しポイント
Mackerelの推し機能としてご紹介したいのが「グラフ共有」です。
グラフ共有を使うと、まさに「今見ているもの」をそのまま簡単に共有できます。これによりチーム全員が同じ視点で状況を把握でき、認識の齟齬をなくすことができます。共有はわずか2クリックで完了するため、手軽に活用できるのもポイントです。
職種を問わず、一目で分かるビジュアルだからこそ、エンジニアだけでなく他のメンバーともスムーズに情報共有が可能です。チーム全体のコミュニケーションをさらに円滑にするこの機能が一番の推し機能です。
⛰️試してみてほしいこと
まず、業務用のチャンネルに通知を設定してみてください。これにより、情報をチーム全員にタイムリーに共有することができるようになります。また、障害やトラブルが発生した際には、影響が分かるグラフを共有することで、チーム全員の視点を揃えることができます。状況の把握がスムーズになり、問題解決までの時間を短縮できるでしょう。
パフォーマンスなどシステムに改善が見られた際には、その成果を示す分かりやすいグラフを共有してみてください。チーム全員で成果を実感し、喜びを分かち合うことで、モチベーションの向上にもつながります。また、グラフ共有時にはコメントを添えることができ、投稿者が誰なのかも分かるため、背景や意図が伝わりやすくなり、より良いコミュニケーションが取れるようになります。
機能を試して、アウトプットしてみませんか?
今回ご紹介した「推し機能」でまだ触ったことのない機能がもしあれば、これを機にぜひ試してみてください。皆さんの推し機能もあれば、コメント等で教えてくださいね!
Mackerelでは、毎年恒例となっている年末の風物詩 Mackerel Advent Calendar を今年も開催します。
記事を読んで機能をお試しいただけたら、ぜひ Mackerel Advent Calendar に参加のうえ「やってみた」や感想をブログに投稿してみてください。皆さまの投稿をお待ちしております🎄
Mackerel Advent Calendar 2024 に投稿された記事は X公式アカウント @mackerelio_jp にて随時ポストしてまいります。 ぜひフォローのうえ投稿をお待ちください!