Instana ダッシュボードを公開共有可能にする
ダッシュボードを公開共有可能にすることで、 Instana コミュニティ内でのコラボレーションが促進されます。 ダッシュボードを定義、パラメータ化、再利用可能な統合パッケージとしてパッケージ化することで、ユーザーは監視ソリューションを効果的に公開・共有できます。 Instana 統合パッケージ管理のためのCLIは、パッケージの骨格を生成し公開を支援することで、このプロセスを簡素化します。
独自の共有可能なダッシュボードの定義
カスタム・ダッシュボードの作成
ダッシュボードを公開して共有できるようにするには、まずダッシュボードを定義する必要があります。 これは、 Instana のカスタムダッシュボード機能を活用することで実現できます。 カスタムダッシュボードの作成方法の詳細については、 「カスタムダッシュボードの作成」 を参照してください。
ダッシュボードの準備が整ったら、 オプションのオーバーフローメニューをクリックし、 「 JSON として編集 」を選択してください。 次に、「ダッシュボードの編集」ダイアログ内のダッシュボード定義内容をコピーし、ローカルファイルとして保存して、さらに処理します。
ダッシュボードのパラメータ化
ダッシュボードを定義する際、実行時にのみ決定可能なパラメータ(例:や service instance idservice
name )が存在する場合があります。 ダッシュボードを他のユーザーが再利用できるようにするには、プレースホルダーを導入してダッシュボードをパラメータ化できます。 プレースホルダーを使用することでダッシュボードの柔軟性と適応性が向上し、様々な環境やユースケースに適したものとなります。 例:
"tagFilterExpression": {
"name": "service.name",
"value": "{{ service.name }}"
}
この方法により、ユーザーはダッシュボードのインポート時にこれらのプレースホルダーの実際の値を指定できます。 たとえば、ユーザーは同じダッシュボードを複数回インポートでき、それぞれに異なる service.name 値を設定できます:
$ stanctl-integration import --package @instana-integration/go \
--server $INSTANA_SERVER \
--token $API_TOKEN \
--set service.name=my-instance-1
$ stanctl-integration import --package @instana-integration/go \
--server $INSTANA_SERVER \
--token $API_TOKEN \
--set service.name=my-instance-2
アクセス規則
デフォルトでは、作成したカスタムダッシュボードは非公開です。つまり、あなただけが閲覧できます。 ダッシュボードを公開し、組織内の全員に共有・閲覧可能にするには、公開設定にする必要があります。 変更を行うには、ダッシュボード定義内のアクセスルールを更新できます。 accessRules フィールドを探し、プライベートルールをすべて削除した後、以下のパブリックルールを追加してください:
"accessRules": [
{
"accessType": "READ",
"relationType": "GLOBAL"
}
]
ダッシュボードの公開
ダッシュボードのパッケージング
Instana のCLI統合パッケージ管理ツールは、パッケージ初期化プロセスを効率化する` init`コマンド init を提供します。 あなたの回答に基づいて必要な情報を収集するため、一連の質問を通じて案内します。 次に、サブディレクトリを含むパッケージディレクトリ構造と、および README.mdpackage.json ファイルを生成し、新しい統合パッケージの骨格を提供します。 initコマンドを実行するには:
$ stanctl-integration init
以下のサンプル入力は、 IBM が公開したパッケージ用です:
? Enter integration package name: (e.g.: @instana-integration/nodejs, my-awesome-xyz-integration): @instana-integration/go
? Enter integration package version: 1.0.0
? Enter integration package description: The integration package is used to support Go monitoring. Once you import this package into your Instana environment, you will be able to monitor Go runtime and the applications on various aspects by checking the dashboards, alerts, etc. included in this integration package.
? Enter integration package keywords (comma-separated): ibm,instana,custom dashboard,opentelemetry,go,monitoring
? Enter integration package author: IBM
? Enter integration package license: MIT
? Select the types of integration to be included in the package: dashboards
すべての質問への回答が完了すると、CLIは以下のディレクトリ構造を生成します。これには package.json、ダッシュボード定義ファイルを配置できる空の dashboards サブディレクトリ、 README.mdおよび以下のディレクトリが含まれます:
$ tree @instana-integration
@instana-integration
└── go
├── README.md
├── dashboards
└── package.json
3 directories, 2 files
パッケージのリンティング
パッケージの骨格を手動または前述のCLIコマンドで作成した後、ダッシュボード定義ファイルをdashboardsディレクトリに配置できます。 パッケージを公開する前に、コマンドを実行 lint してパッケージが適切な規約と標準に従っていることを確認できます。
lintコマンドは、必要なパッケージメタデータが適切に配置され、ドキュメントが正確であり、ダッシュボードファイルが有効であることを確認するのに役立ちます。 また、リンティングの失敗時には詳細なエラーまたは警告メッセージを提供し、有効化されている場合はデバッグ情報も付随します。 以下の例を参照してください。
# 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で統合パッケージが必要な基準をすべて満たしていることを確認した後、次のステップはパッケージを中央レジストリに公開することです。 パッケージを公開すると、他のユーザーがそれを探索し、ダウンロードし、自身の環境にインポートできるようになります。 簡単に言えば、統合パッケージ管理のための Instana CLIは、ユーザーが自身のパッケージを公開するのを支援 publish するコマンドを提供します。
CLIを使用してパッケージを公開するには、パッケージ名またはパッケージへのパス、レジストリのユーザー名、メールアドレスを指定する必要があります。 パッケージが組織に属する場合、パッケージ名には組織名を接頭辞として付ける必要があります。 中央登録機関に登録する際、収集できる情報として、登録ユーザー名と https://www.npmjs.com/ メールアドレスがあります。例えば、 CLIがパッケージを公開する前に、中央レジストリにログインする際に必要となります。 以下の例を参照してください。
$ stanctl-integration publish --package @instana-integration/go \
--registry-username <your_username> --registry-email <your_email>
publish コマンドを初めて実行する場合、ウェブブラウザが開き、中央登録システムへのログインを求められます。ローカルパッケージからのインポート
テストのために、統合パッケージをローカルに保持したい場合もあるでしょう。 CLIはまた、パッケージへのパスを指定できるオプション --package をサポートしています。 これは、パッケージを公開せずにローカルで検証したい場合に便利です。
たとえば、統合パッケージをローカルディレクトリで準備し、次のコマンドでインポートできます:
$ stanctl-integration import --package path/to/your/package \
--server $INSTANA_SERVER \
--token $API_TOKEN