mkr dashboards コマンドが現行のカスタムダッシュボードに対応しました ほか

こんにちは。Mackerelチーム CRE の三浦( id:missasan )です。今回のアップデート内容をお知らせします。

今回は、表題の mkr dashboards コマンドの機能追加のほか、各種OSSに関する3つのbugfixについてお知らせします。

mkr dashboards コマンドが現行のカスタムダッシュボードに対応しました

レガシーカスタムダッシュボードを3月末に完全廃止

先日1月12日に、以下のようなお知らせをさせていただきました。

mackerel.io

レガシーカスタムダッシュボードを3月末に完全廃止する運びとなったため、レガシーカスタムダッシュボードの現行カスタムダッシュボードへの移行をお願いする内容です。 以下注意書きにもあるように、この時点では、現行カスタムダッシュボードを操作するAPIはあるものの、公式コマンドラインツール mkr dashboards の対応に至っておりませんでした。

(以下告知文面より)

現行カスタムダッシュボードを mkr で扱えるようにするためのアップデートについては現時点で未定です(mkr dashboards はレガシーカスタムダッシュボードにのみ対応しています)。

mkr dashboards migrate コマンドでレガシーカスタムダッシュボードの移行が容易に

今回の対応で、mkr dashboard にて現行カスタムダッシュボードの操作を行えるようにしました(mkr v0.44.1)。

以下4つのコマンドに対応しました。

  • mkr dashboards : カスタムダッシュボードの一覧を取得
  • mkr dashboards pull :カスタムダッシュボードの詳細設定をローカルファイルとしてダウンロード
  • mkr dashboards push : 指定したローカルファイルの内容を元にカスタムダッシュボードを更新
  • mkr dashboards migrate : レガシーカスタムダッシュボードをMarkdownウィジェットを持つ現行のカスタムダッシュボードに移行

なお、mkr dashboard push を利用したレガシーダッシュボードの更新はできませんのでご注意ください。

この機能は、Mackerelのアンバサダーでもある@fujiwaraさんが開発し PR をくださった機能です。

告知当日にmkrコマンドの対応がないことに気がつかれ、なんとその半月後には PR をくださいました!

このスピード感となければ作るというフットワークの軽さには本当に驚かされますし、そしてタイムリーにユーザーのみなさまが喜ぶ機能を実装いただきチーム一同大変感謝しています。 Mackerelが、こういったユーザーの方々に支えられているサービスだということを改めて実感しました。

@fujiwaraさん、PR 本当にありがとうございました!

まだレガシーカスタムダッシュボードの移行がお済みでない方はぜひご活用ください。

mackerel-plugin-aws-ses が AWS 署名バージョン v4 を利用するよう修正しました

mackerel-agent-plugins v0.63.5 のリリースにて、mackerel-plugin-aws-ses にて2021年2月28日に廃止予定の AWS 署名バージョン v3 を利用していた箇所を 署名バージョン v4 を利用するよう修正しました。

ご注意事項

  • 古いバージョンの mackerel-plugin-aws-ses は、2021年2月28日の 署名バージョン v3 廃止以降は利用ができなくなります。
  • 本リリースバージョンへのアップデート、または AWSインテグレーション SES の利用への移行をお願いいたします。
  • この変更により、--endpointオプションは非推奨となります。

check-load でCRITICALな状態になるとコマンドがエラー終了する問題を修正しました

これまで、check-load にて、CRITICALに指定した閾値を超えた場合に、コマンドがエラー終了して想定するアラートを通知できない状態でした。go-check-plugins v0.39.2 にてこの問題を解消しました。

mkr monitors push/diff で意図せず設定が削除されてしまう問題を修正しました

同じく mkr v0.44.1 のリリースにて v0.44.0 にて発生していた mkr monitors push mkr monitors diffコマンドの実行により意図せず設定が削除されてしまう問題を修正しました。

上記コントリビュートいただいたみなさま、ありがとうございました!

AWSインテグレーションにて Amazon Route 53 の監視に、Azureインテグレーションにて Azure Blob Storage の監視に、それぞれ対応しました ほか

こんにちは。Mackerelチーム CRE の井上( id:a-know )です。今回のアップデート内容をお知らせします。

AWSインテグレーションにより Amazon Route 53 の監視をできるようにしました

AWSインテグレーションにより Amazon Route 53 の監視をできるようにしました。Amazon Route 53 は、スケーラブルなクラウドドメインネームシステムサービスです。

aws.amazon.com

以下のヘルプページに記載のようなメトリックを可視化・監視できます。

mackerel.io

AWSインテグレーションの設定方法については以下のヘルプページを参照してください。

mackerel.io

Azureインテグレーションにより Azure Blob Storage の監視をできるようにしました

Azureインテグレーションにより Azure Blob Storage の監視をできるようにしました。Azure Blob Storage は、スケーラブルなクラウドオブジェクトストレージサービスです。

azure.microsoft.com

以下のヘルプページに記載のようなメトリックを可視化・監視できます。

mackerel.io

Azure インテグレーションの設定方法については以下のヘルプページを参照してください。

mackerel.io

レガシーカスタムダッシュボードの新規作成を廃止しました

2020年3月末に向けて、レガシーカスタムダッシュボードの機能を順次廃止していくことについては、先日以下のブログ記事でもお伝えしたとおりです。

mackerel.io

上記記事でお知らせしていたスケジュールのとおり、2021年1月末をもって、レガシーカスタムダッシュボードの新規作成をおこなえなくしました。

また、現時点でレガシーカスタムダッシュボードをお持ちの場合に、以下のような注意喚起のメッセージも表示するようにしています。

f:id:mackerelio:20210203124746p:plain

f:id:mackerelio:20210203124800p:plain

こちらが表示されているものは、今回の機能廃止対象であるレガシーカスタムダッシュボードとなりますので、上記の記事をご確認の上、適切に移行作業を実施していただくか削除の実施のほど、よろしくお願いいたします。(削除されなかったレガシーカスタムダッシュボードについては、3月末以降は自動的に閲覧ができない状態となります。)

Azureインテグレーションにより Azure Files の監視をできるようにしました ほか

こんにちは。Mackerelチーム CRE の井上( id:a-know )です。今回のアップデート内容をお知らせします。

Azureインテグレーションにより Azure Files の監視をできるようにしました

Azureインテグレーションにより Azure Files の監視をできるようにしました。Azure Files は、SMB および NFS プロトコルを介してアクセスできる、ファイル共有のためのフルマネージドサービスです。

azure.microsoft.com

以下のヘルプページに記載のようなメトリックを可視化・監視できます。

mackerel.io

Azure インテグレーションの設定方法については以下のヘルプページを参照してください。

mackerel.io

Azureインテグレーション・Application Gateway連携により取得できるメトリック対象を追加しました

Azureインテグレーション・Application Gateway連携により取得できるメトリック対象を追加しました。追加したメトリックは、以下の Listener 関連のメトリックです。

  • Application Gateway Total
    • azure.application_gateway.application_gateway_total_time.#.milliseconds
  • Bytes Sent/Received
    • azure.application_gateway.bytes_sent_received.#.sent
    • azure.application_gateway.bytes_sent_received.#.received
  • Client RTT
    • azure.application_gateway.client_rtt.#.milliseconds
  • Client TLS Protocol
    • azure.application_gateway.tls_protocol.#.nontls
    • azure.application_gateway.tls_protocol.#.tlsv1
    • azure.application_gateway.tls_protocol.#.tlsv1_1
    • azure.application_gateway.tls_protocol.#.tlsv1_2

Mackerel上のメトリック名の「#」には、監視対象となるApplication Gatewayに存在するリスナーの情報が入ります。詳細はヘルプを参照してください。

mackerel.io

また、今回の対応により、Standard V2 WAF V2 のいずれについても、メトリック数が 25 から 33 となり、2マイクロホスト換算されるようになります。

各種OSSをアップデートしました

Mackerel に関連するOSSを以下の通りアップデートしました。コントリビュートいただいた皆様、ありがとうございました!

mackerel-agent-plugins(v0.63.3)

  • [mysql] MySQL innodb Tables In Useグラフの innodb_tables_in_useinnodb_locked_tables のラベルが逆だった点を修正しました。

mackerel-check-plugins(v0.39.1)

  • [check-disk] 出力結果を使用率でソートするようにしました。

AWSからのアナウンスに伴い、AWSインテグレーション・Lambda連携に必要なIAMポリシーに関するヘルプ内での記述を変更しました

こんにちは。Mackerelチーム CRE の井上( id:a-know )です。あけましておめでとうございます。2021年も Mackerel をどうぞよろしくお願いいたします。

早速ですが、本日のお知らせ内容です。

AWSからのアナウンスに伴い、AWSインテグレーション・Lambda連携に必要なIAMポリシーに関するヘルプ内での記述を変更しました

AWSから以下のようなアナウンスがおこなわれていることは、ご存知の方もいるのではないでしょうか。

docs.aws.amazon.com

これに伴い、Mackerel のAWSインテグレーションに関するヘルプページの記述も見直しています。

  • 変更前
    • AWSLambdaReadOnlyAccess
  • 変更後
    • AWSLambda_ReadOnlyAccess

古い方のポリシーである AWSLambdaReadOnlyAccess については、2021年1月25日以降は非推奨のものとなり、新たにアタッチできなくなるとのことですので、新しい方のポリシーの AWSLambda_ReadOnlyAccess をご利用ください(なお、すでにアタッチ済のポリシーについては変わらず利用可能であるとされています)。

AWSインテグレーション・Kinesis Data Streams連携 / Step Functions連携で取得できるメトリックを追加・置き換えしました ほか

こんにちは。Mackerelチーム CRE の井上( id:a-know )です。今回が2020年最後のアップデート内容のお知らせになります。今年もMackerelをご利用いただきありがとうございました。

AWSインテグレーション・Kinesis Data Streams連携で取得できるメトリックを追加・置き換えしました

以下のとおり、Kinesis Data Streams におけるメトリックを追加・置き換えしています。

これまで

  • Records
    • GetRecords.Records (kinesis.records.get_records)
    • IncomingRecords (kinesis.records.incoming)
    • PutRecords.Records (kinesis.records.put_records)

これから

  • Records
    • GetRecords.Records (kinesis.records.get_records)
    • IncomingRecords (kinesis.records.incoming)
    • PutRecords.SuccessfulRecords (kinesis.records.put_records_successful)
    • PutRecords.TotalRecords (kinesis.records.put_records_total)
    • PutRecords.FailedRecords (kinesis.records.put_records_failed)
    • PutRecords.ThrottledRecords (kinesis.records.put_records_throttled)

以前までの仕様では PutRecords.Records (kinesis.records.put_records) として記録されていたメトリックが PutRecords.SuccessfulRecords (kinesis.records.put_records_successful) となり、さらにその他にも3種類のレコード情報が連携されるようにしています。特に前者については、メトリック名が kinesis.records.put_records から kinesis.records.put_records_successful に変わっていますので、監視ルール等を設定している方はご注意ください。

また、今回の追加により、ホストあたりのメトリック数の最大が 31個 から 34個 となります。

AWSインテグレーション・Step Functions連携で取得できるメトリックを追加しました

以下のとおり、Step Functions におけるサービス統合関連のメトリックを追加しています。

  • Service Integrations
    • ServiceIntegrationsFailed (states.service_integrations.SERVICE_INTEGRATION_NAME.failed)
    • ServiceIntegrationsScheduled (states.service_integrations.SERVICE_INTEGRATION_NAME.scheduled)
    • ServiceIntegrationsStarted (states.service_integrations.SERVICE_INTEGRATION_NAME.started)
    • ServiceIntegrationsSucceeded (states.service_integrations.SERVICE_INTEGRATION_NAME.succeeded)
    • ServiceIntegrationsTimedOut (states.service_integrations.SERVICE_INTEGRATION_NAME.timedout)
  • Service Integration Time
    • ServiceIntegrationRunTime (states.service_integration_time.SERVICE_INTEGRATION_NAME.run)
    • ServiceIntegrationScheduleTime (states.service_integration_time.SERVICE_INTEGRATION_NAME.schedule)
    • ServiceIntegrationTime (states.service_integration_time.SERVICE_INTEGRATION_NAME.all)

SERVICE_INTEGRATION_NAME にはサービス統合名が入ります。

今回の追加により、ホストあたりのメトリック数が最大で 7 + 9 × (アクティビティ数) + 8 × (Lambdaファンクション数) + 8 × (サービス統合数) となりますので、マイクロホストとしてのメトリック数にはご注意ください。

上記のKinesis Data Streams連携でのメトリック追加においても同様ですが、必要に応じて、インテグレーションメトリック任意選択機能により連携対象の選択を実施してください。

mackerel-agent によるネットワークインターフェイスメトリック送信を除外できるようにしました

mackerel-agent.conf に以下のように記述することで、mackerel-agent によるネットワークインターフェイスメトリック送信を除外できるようにしました。

[interfaces]
ignore = "bond.*"

正規表現を用いて指定することで、指定されたインターフェイスからのメトリックは収集されなくなります。Windows Server の場合、インターフェース名はデバイスマネージャーで表示されるインターフェース名に対応する正規表現を指定してください。

詳しくは、以下のヘルプページも参照してください。

mackerel.io

また、この変更に伴い、コマンドラインツール・mkrのアップデート( 0.42.0 から 0.43.0 )もおこなっています。

github.com

CentOS6環境に対する mackerel-agent などの公式サポート提供を終了しました

CentOS6が今年の11月30日にサポート終了を迎えたことに伴い、Mackerel でも、CentOS6環境に対する公式サポートを終了しました。

ある環境に対して、仮に何の変更なども実施していなくても、それを取り巻く周りの環境は刻一刻と変化しているため(例としては、古いバージョンのTLS通信に対する取り扱いや、ホストのCA証明書の更新等があると思います)、適切にアップデートすることや環境の切り替えが必要になることを肌で感じています。お手数ですが、順次の対応の検討をよろしくお願いいたします。

Mackerel へのホスト登録・監視ルールの変更などのイベントの発生をメール通知できるようにしました ほか

こんにちは。Mackerelチーム CRE の井上( id:a-know )です。今回のアップデート内容をお知らせします。

Mackerel へのホスト登録・監視ルールの変更などのイベントの発生をメール通知できるようにしました

Mackerel へのホスト登録・監視ルールの変更などの各種イベントの発生を通知チャンネルに対して通知することは、従来から一部通知チャンネルにおいてはサポートをしており、例えばSlack通知やWebhook通知などでは利用可能でした。

これを、メール通知チャンネルでも利用できるようにしました。

f:id:mackerelio:20201211173741p:plain

意図しないタイミングでの各種操作をメールにて把握していただくことができます。ぜひご活用ください。

AWSインテグレーション・S3連携より取得できるメトリック対象を追加しました

追加したものは、下記ヘルプページ内の Bucket SizeNumber Of Objects の2種類のメトリックです。

mackerel.io

いずれも日次メトリックとなりますのでご注意ください。

各種OSSをアップデートしました

以下のとおり、今回は多岐にわたったOSSプロダクトのアップデートを実施しています。

mackerel-agent-plugins(v0.63.2)

  • [plack] Plackからのレスポンスに数値が含まれていた場合でも対応できるようにしました

mackerel-check-plugins(v0.38.0)

  • [check-postgresql] プラグインによる通信を暗号化するために利用できる sslrootcert オプションをサポートしました

mackerel-container-agent(v0.5.0)

  • Kubernetes 1.18 以降で container-agent の CPU / メモリのメトリックが取得できるようにしました。
    • これに合わせて、Kubernetes(EKS on Fargate)の RBAC 設定において、nodes/spec リソースに対する get 操作(verb)は不要になりました。

mkr(v0.42.0)

  • [monitors サブコマンド] push pullalertStatusOnGone (アラート発生時のアラートステータスの指定)に対応しました。

コントリビュートいただいた皆様、ありがとうございました!

年末年始のサポート窓口の営業について

はやいもので、2020年も残すところあと3週間ほどですね。今年も Mackerel をご利用くださり、ありがとうございました。

そんな Mackerel の公式サポート窓口は、【2020年12月28日(木)〜2021年1月3日(日)】の期間でお休みさせていただきます。

年末年始に向けて Mackerel の設定などを見直されようとしている方がおられましたら、早めにご確認いただき、不明な点などについてははやめに洗い出し・お問い合わせいただけたらと思います。

Mackerel 公式サポート窓口 問い合わせフォーム

AWSインテグレーションにより Billing(請求)情報の監視をできるようにしました ほか

こんにちは。Mackerelチーム CRE の井上( id:a-know )です。今回のアップデート内容をお知らせします。

AWSインテグレーションにより Billing(請求)情報の監視をできるようにしました

2020-11-20 追記

現在、AWS側のBudgetに対して一定以上の長さの名称を設定している場合に、「Mackerelにホスト登録はおこなわれるが、グラフが投稿されない」という事象が発生することを確認しています。

事象の解消に向けて確認・検討を進めておりますので、ご迷惑をおかけいたしますが、ご協力のほどどうぞよろしくお願いいたします。

追記ここまで

f:id:mackerelio:20201118143501p:plain

AWSインテグレーションにより Billing(請求)情報の監視をできるようにしました。AWS アカウントに対する請求および予算のメトリックを可視化・監視できます。AWS Organizations を使用して一括請求を行っている場合は、メンバーアカウントごとの請求額もメトリックとして取得されます。1マネジメントアカウント = 1マイクロホストとして換算します。

ホスト名には Account ID が使用されます。また、Budgets の名称がメトリック名の一部として使用されますが、Mackerelのメトリック名称として日本語等は使用不可能な文字であるため、そうした文字列が Budgets の名称として含まれている場合、その文字は以下のようにエンコードされます。

f:id:mackerelio:20201119110122p:plain

その他、詳細については以下のヘルプページを、

mackerel.io

AWSインテグレーションの設定方法については以下のヘルプページを参照してください(既存のIAMロールを利用される場合は、AWSBudgetsReadOnlyAccess ポリシーの追加設定が必要です)。

mackerel.io

さまざまなインフラリソースの状況だけでなく、こうした課金情報についても Mackerel で集約・監視したい、というご要望は以前から根強くいただいていたものでした。今回はそれを受けてのリリースとなります。ぜひご活用ください!

AWSインテグレーション・SQS連携において、キューが1000件以上登録されている場合に対応しました

mackerel.io

AWSインテグレーション・SQS連携では、これまでは上限として1000件までしか連携することができませんでしたが、今回のアップデートにより全てを連携することができるようにしました。

この上限に当たるようなユースケースは特殊な例かとは思いますが、もしこれに該当する場合にはぜひご確認ください。