Instana のイベント定義の共有と再利用
統合パッケージ管理のための Instana CLIを使用して、イベント定義の作成、エクスポート、リンティング、公開、ダウンロード、およびインポートの方法について学びましょう。
イベント定義は、包括的な可観測性戦略の重要な要素です。 ダッシュボードはシステムの挙動を可視化するのに役立つ一方、イベント定義は、しきい値の超過、メトリクスの異常な傾向、サービスの品質低下といった問題を検知します。
「 Instana 」の統合パッケージ管理用CLIを使用すると、イベント定義をエクスポートし、それらを統合パッケージにまとめ、チームや環境間で共有することができます。 このアプローチにより、一貫性があり、再利用可能なアラートおよびインシデント検知の運用が可能になります。
前提条件
作業を開始する前に、統合パッケージ管理用の Instana CLI (stanctl-integration) がインストールされていることを確認してください。 インストール手順については、 統合パッケージ管理用 CLI ツール「stanctl-integration – Instana 」 を参照してください。
統合パッケージ(プロデューサー)を作成する
- 統合パッケージを初期化します。 イベント定義をエクスポートする前に、 Instana の統合パッケージ管理用CLIを使用して、統合パッケージを初期化してください:
$ stanctl-integration init初期設定時に、含めたい統合タイプを選択してください。 ディレクトリ構造は、選択内容に基づいて生成されます。 たとえば、イベントのみを選択した場合、次のような構造が作成されます:初期設定の詳細については、 「 Instana のダッシュボードを一般公開する」 を参照してくださいpackages └── @instana-integration └── packagename ├── events ├── README.md └── package.json - イベント定義を作成します。 Instana でイベントを定義するには:
- に移動します。
- 「新しいイベント」 をクリックします。
- 必要な設定を入力してください:
- 名前と説明
- 深刻度(
warningまたはcritical) - インシデントの設定と猶予期間
- 適用範囲および測定基準
- イベント定義をエクスポートします。 イベント定義を作成したら、CLI を使用してエクスポートします。
エクスポートされたイベント定義は、 JSON 形式で保存されます。これを、統合パッケージの# Export by title $ stanctl-integration export \ --server $INSTANA_SERVER \ --token $API_TOKEN \ --include type=event title="High CPU Alert" \ --location ./my-package# Export by ID $ stanctl-integration export \ --server $INSTANA_SERVER \ --token $API_TOKEN \ --include type=event id=event12345 \ --location ./my-packageeventsディレクトリに移動する必要があります。 - イベント定義のリンティングを行ってください。 パッケージを公開する前に、`
lintcommand` コマンドを使用してイベント定義の検証を行うことができます:
lint コマンドは、各イベント定義ファイル( 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 --debug - 統合パッケージを公開します。 パッケージにイベント定義を追加したら、再利用できるように公開してください。 公開するには2つの方法があります:
- 自前でホストしているレジストリに公開する。 レジストリに公開するには、次のコマンドを実行してください:
初めて公開する場合、システムからレジストリへの認証を求めるメッセージが表示されます。$ stanctl-integration publish --package @instana-integration/packagename \ --registry-username <your_username> --registry-email <your_email> - IBM がホストするリポジトリにコントリビュートしてください。 IBM がホストする公式リポジトリを通じて公開するには:
- 「Observability-as-Code」 の GitHub リポジトリをフォークしてください。
- 統合パッケージを追加してください。
- レビューのためにプルリクエストを送信してください。
- 自前でホストしているレジストリに公開する。 レジストリに公開するには、次のコマンドを実行してください:
統合パッケージを消費する(コンシューマー)
- パッケージをダウンロードします。 イベント定義を含むパッケージは、 Instana 環境にインポートする前に、中央レジストリからダウンロードできます。
# Download a package from the central registry $ stanctl-integration download \ --package @instana-integration/packagename - イベント定義のインポート。 パッケージをダウンロードした後、レジストリにホストされているパッケージまたはローカルパッケージからイベント定義をインポートできます。
# Import the full package $ stanctl-integration import \ --package @instana-integration/packagename \ --server $INSTANA_SERVER \ --token $API_TOKEN# Import only event definitions $ stanctl-integration import \ --package @instana-integration/packagename \ --server $INSTANA_SERVER \ --include "events/**/*.json" \ --token $API_TOKEN# Import a single event definition $ stanctl-integration import \ --package @instana-integration/packagename \ --server $INSTANA_SERVER \ --include "events/**/eventTitle.json" \ --token $API_TOKENインポートが完了すると、イベント定義は Instana 環境で利用可能になり、必要に応じて確認や変更を行うことができます。