Instana のイベント定義の共有と再利用

統合パッケージ管理のための Instana CLIを使用して、イベント定義の作成、エクスポート、リンティング、公開、ダウンロード、およびインポートの方法について学びましょう。

イベント定義は、包括的な可観測性戦略の重要な要素です。 ダッシュボードはシステムの挙動を可視化するのに役立つ一方、イベント定義は、しきい値の超過、メトリクスの異常な傾向、サービスの品質低下といった問題を検知します。

「 Instana 」の統合パッケージ管理用CLIを使用すると、イベント定義をエクスポートし、それらを統合パッケージにまとめ、チームや環境間で共有することができます。 このアプローチにより、一貫性があり、再利用可能なアラートおよびインシデント検知の運用が可能になります。

前提条件

作業を開始する前に、統合パッケージ管理用の Instana CLI (stanctl-integration) がインストールされていることを確認してください。 インストール手順については、 統合パッケージ管理用 CLI ツール「stanctl-integration – Instana 」 を参照してください。

統合パッケージ(プロデューサー)を作成する

  1. 統合パッケージを初期化します。 イベント定義をエクスポートする前に、 Instana の統合パッケージ管理用CLIを使用して、統合パッケージを初期化してください:
    $ stanctl-integration init
    初期設定時に、含めたい統合タイプを選択してください。 ディレクトリ構造は、選択内容に基づいて生成されます。 たとえば、イベントのみを選択した場合、次のような構造が作成されます:
    packages
    └── @instana-integration
       └── packagename
           ├── events
           ├── README.md
           └── package.json
    初期設定の詳細については、 「 Instana のダッシュボードを一般公開する」 を参照してください
  2. イベント定義を作成します。 Instana でイベントを定義するには:
    1. 「設定 」>「 イベント」 に移動します。
    2. 「新しいイベント」 をクリックします。
    3. 必要な設定を入力してください:
      • 名前と説明
      • 深刻度(warning または critical
      • インシデントの設定と猶予期間
      • 適用範囲および測定基準
    詳細な設定オプションについては、 Instana の製品ドキュメントにある「 カスタムイベントの定義」の項目を参照してください。
  3. イベント定義をエクスポートします。 イベント定義を作成したら、CLI を使用してエクスポートします。
    # 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-package
    エクスポートされたイベント定義は、 JSON 形式で保存されます。これを、統合パッケージの events ディレクトリに移動する必要があります。
  4. イベント定義のリンティングを行ってください。 パッケージを公開する前に、` lint command` コマンドを使用してイベント定義の検証を行うことができます:
    # 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
    lint コマンドは、各イベント定義ファイル( JSON )に必要なフィールドが含まれているかを確認し、ファイルごとに詳細なエラーメッセージまたは成功メッセージを表示します。
  5. 統合パッケージを公開します。 パッケージにイベント定義を追加したら、再利用できるように公開してください。 公開するには2つの方法があります:
    • 自前でホストしているレジストリに公開する。 レジストリに公開するには、次のコマンドを実行してください:
      $ stanctl-integration publish --package @instana-integration/packagename \
        --registry-username <your_username> --registry-email <your_email>
      初めて公開する場合、システムからレジストリへの認証を求めるメッセージが表示されます。
    • IBM がホストするリポジトリにコントリビュートしてください。 IBM がホストする公式リポジトリを通じて公開するには:
      • 「Observability-as-Code」 の GitHub リポジトリをフォークしてください。
      • 統合パッケージを追加してください。
      • レビューのためにプルリクエストを送信してください。
      承認とマージが完了した後、パッケージは IBM がホストする中央レジストリに公開されます。 このパッケージは、 Instana コミュニティの全メンバーが利用できるようになりました。

統合パッケージを消費する(コンシューマー)

  1. パッケージをダウンロードします。 イベント定義を含むパッケージは、 Instana 環境にインポートする前に、中央レジストリからダウンロードできます。
    # Download a package from the central registry
    $ stanctl-integration download \
      --package @instana-integration/packagename
  2. イベント定義のインポート。 パッケージをダウンロードした後、レジストリにホストされているパッケージまたはローカルパッケージからイベント定義をインポートできます。
    # 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 環境で利用可能になり、必要に応じて確認や変更を行うことができます。