アラート機能を拡張: Instana のスマートアラートをパッケージ化して共有する
スマートアラートはバンドルすることで、イベント定義やカスタムダッシュボードのパッケージ化と同様に、拡張性のある共同運用監視を実現できます。 このアプローチにより、オブザーバビリティは個々の取り組みから、エコシステム全体で再利用可能なベストプラクティスへと進化します。
スマートアラートは、メトリクスに基づいたインテリジェントなアラート機能であり、自動的なしきい値の提案や、予防的な監視を可能にする予測アラートなどの高度な機能を提供します。 統合パッケージ管理用の Instana CLIを使用すると、イベント定義やカスタムダッシュボードと同様に、Smart Alertの定義を定義、エクスポート、およびパッケージ化することができます。
統合ワークフローにSmart Alertsを組み込むことで、高度なメトリクスに基づくアラート機能を、チームや環境を問わず一貫して再利用できるようになります。 この柔軟性により、組織はニーズの変化に合わせて拡張可能な、モジュール式で共有可能なオブザーバビリティ資産を構築することができます。
前提条件
作業を開始する前に、統合パッケージ管理用の Instana CLI (stanctl-integration) がインストールされていることを確認してください。 インストール手順については、 統合パッケージ管理用 CLI ツール「stanctl-integration – Instana 」 を参照してください。
統合パッケージ(プロデューサー)を作成する
パッケージ作成者は、チームや環境をまたいで共有・再利用可能なSmart Alertの設定を作成する必要があります:
- 統合パッケージを初期化してください。 パッケージを初期化するには、[実行]
stanctl-integration initをクリックし、含めたい統合タイプを選択してください。 ディレクトリ構造は、選択内容に基づいて生成されます。 たとえば、「スマートアラート」と「ダッシュボード」を選択すると、次のような構造が作成されます:初期設定の詳細については、 「 Instana のダッシュボードを一般公開する」 を参照してくださいpackages └── @instana-integration └── packagename ├── dashboards ├── smart-alerts ├── README.md └── package.json - Instana でスマートアラートを設定します。 パッケージ構造の準備が整ったら、 Instana のUIでSmart Alertの定義を作成してください。 各セクションに移動し、「スマートアラート」タブを開くことで、さまざまな状況に合わせたスマートアラートを作成できます。 例:
- インフラストラクチャのスマートアラートを設定するには、 」タブに移動し、 「スマートアラートを作成」 をクリックします。
- モバイルアプリのスマートアラートを設定するには、 タブに移動し、モバイルアプリ名をクリックしてから、「スマートアラートを追加」をクリックします。
- スマートアラートの定義をエクスポートします。 スマートアラートの定義が完了したら、CLI を使用して、それらを再利用可能な ` JSON ` ファイルとしてエクスポートします
CLIは自動的にSmart Alertエンドポイントにクエリを実行し、すべてのアラートをsmart-alertsフォルダ内に個別の JSON ファイルとして保存します。これにより、統合パッケージに組み込む準備が整います。# Export Smart Alerts by name $ stanctl-integration export \ --server $INSTANA_SERVER \ --token $API_TOKEN \ --include type=smart-alert name="High CPU" \ --location ./my-package# Export a Smart Alert by ID $ stanctl-integration export \ --server $INSTANA_SERVER \ --token $API_TOKEN \ --include type=smart-alert id=alert12345 \ --location ./my-package# Export multiple Smart Alerts with different filters $ stanctl-integration export \ --server $INSTANA_SERVER \ --token $API_TOKEN \ --include type=smart-alert name="CPU" \ --include type=smart-alert id=alert1234 \ --location ./my-package - スマートアラートの定義をリントしてください。 パッケージを公開する前に、`command`
lintコマンドを使用して Smart Alert の定義を検証できます:
lint コマンドは、各 Smart Alert ファイル( JSON )に必要なフィールド(# Navigate to the folder of the package you want to lint $ stanctl-integration lint# Linting with a specific package path $ stanctl-integration lint --path /path/to/package# Linting with debug mode enabled $ stanctl-integration lint --debugname,granularity,timeThreshold, および またはrule + thresholdrules[])が含まれているかを確認し、ファイルごとに詳細なエラーメッセージまたは成功メッセージを表示します。 - パッケージを公開してください。 スマートアラートの定義の準備ができたら、パッケージを公開して、他のユーザーが利用できるようにしてください。 次の 2 つのオプションがあります。
- 自前でホストしているレジストリに公開する。 レジストリに公開するには、レジストリの認証情報を使用して次のコマンドを実行してください:
初めて公開する場合、システムからレジストリへの認証を求めるメッセージが表示されます。$ stanctl-integration publish --package @instana-integration/packagename \ --registry-username <your_username> --registry-email <your_email> - IBM がホストするリポジトリにコントリビュートしてください。 IBM がホストする公式リポジトリを通じて公開するには:
- 「Observability-as-Code」のGitHub リポジトリをフォークしてください。
- 統合パッケージを追加してください。
- レビューのためにプルリクエストを送信してください。
- 自前でホストしているレジストリに公開する。 レジストリに公開するには、レジストリの認証情報を使用して次のコマンドを実行してください:
統合パッケージを消費する(コンシューマー)
パッケージの作成者ではなく、利用者の場合は、パッケージをダウンロードして、 Instana 環境に適用するだけで済みます。
- パッケージをダウンロードします。 Smart Alertの定義を含むパッケージは、 Instana 環境にインポートする前に、中央レジストリからダウンロードできます。
# Download a package from the central registry $ stanctl-integration download --package @instana-integration/packagename - スマートアラートの定義をインポートします。 ダウンロード後、Smart Alertの定義を Instana 環境にインポートできます。
インポートが完了すると、スマートアラートの定義が有効になり、メトリクスに基づいたインテリジェントなアラート機能に加え、閾値の自動提案や予測機能を利用できるようになります。# Import all Smart Alerts from the package $ stanctl-integration import \ --package @instana-integration/packagename \ --server $INSTANA_SERVER \ --include "smart-alerts/**/*.json" \ --token $API_TOKEN# Import a single Smart Alert from the package $ stanctl-integration import \ --package @instana-integration/packagename \ --server $INSTANA_SERVER \ --include "smart-alerts/**/smartAlertTitle.json" \ --token $API_TOKEN