diff --git a/packages/backend.ai-webui-docs/src/en/admin_menu/admin_menu.md b/packages/backend.ai-webui-docs/src/en/admin_menu/admin_menu.md index 416a47bb1e..41b848bac7 100644 --- a/packages/backend.ai-webui-docs/src/en/admin_menu/admin_menu.md +++ b/packages/backend.ai-webui-docs/src/en/admin_menu/admin_menu.md @@ -404,6 +404,86 @@ Click the edit icon next to the model card name to modify an existing model card You can delete an individual model card by clicking the delete icon next to its name, or perform bulk deletion by selecting multiple model cards with the row checkboxes and clicking the red trash-bin button next to the selection count. + + +## Prometheus Query Presets + +Backend.AI lets administrators define reusable **Prometheus query presets** that auto-scaling rules and other monitoring features can reference by name. A preset bundles a metric name, a PromQL query template, an optional time window, and optional filter / group labels so operators do not have to retype the same query for every rule. + +The presets are managed from the **Prometheus Preset** tab on the Admin Deployments page (`/admin-deployments?tab=prometheus-preset`). + +![](../images/admin_prometheus_preset_list.png) + +:::note +This tab is **admin-only** and is visible only when the Backend.AI Manager advertises the `prometheus-query-preset` capability. If the tab does not appear in your environment, your Manager build does not yet support this feature. +::: + + + +### List & Filter + +The preset table lists all Prometheus query presets across the cluster. Each row shows: + +- **Name**: A unique, human-readable identifier for the preset. The cell also exposes inline **Edit** and **Delete** actions. +- **ID**: The preset's internal identifier. +- **Metric Name**: The metric this preset reports (used as the display label by consumers such as auto-scaling rules). +- **Query Template**: The PromQL expression that will be executed. The cell is **copyable** — hover over the value and click the copy icon to copy the full template to the clipboard. This is useful when you want to paste the template into a Prometheus UI to verify the result. +- **Time Window**: The default look-back window (for example, `5m`) used when the query references a range vector. +- **Category**: The optional category the preset belongs to (with the resolved category name and the category ID). +- **Options**: The optional **Filter Labels** and **Group Labels** that consumers can apply on top of the preset. +- **Created At** / **Updated At**: Timestamps maintained automatically by the server. + +You can search and narrow the list with the property filter above the table, and click any column header to change the sort order. + + + +### Column Settings Persistence + +The table includes a column-settings control that lets you hide columns you do not need and reorder the visible columns. Your choices are **persisted across sessions** per browser, so the table opens with your preferred layout the next time you visit the tab. Resetting the column settings restores the default Backend.AI layout. + + + +### Create a Preset + +Click **Add Preset** at the top right of the table to open the **Create Preset** modal. + +![](../images/admin_prometheus_preset_create_modal.png) + +The modal contains the following fields: + +- **Name**: The preset's unique name. Must be unique across all Prometheus query presets. +- **Description**: A free-form description shown alongside the preset in selectors. +- **Category**: An optional category for grouping related presets. Leave empty for **No category**. +- **Metric Name**: The metric label that consumers (for example, auto-scaling rules) will display. +- **Query Template**: The PromQL expression to execute. As you type, a **live preview** area below the field calls the server's `adminPrometheusQueryPresetPreview` query and shows the current value the query returns against your Prometheus instance, so you can verify the template works before saving. The preview is debounced and updates automatically as you edit. +- **Time Window**: The default range-vector window, for example `5m`. Leave empty if the query does not use a range vector. +- **Filter Labels**: Optional list of label selectors that consumers can apply on top of the preset. +- **Group Labels**: Optional list of labels to group the query result by. + +Click **Create** to save the preset. On success, the preset appears in the list and a confirmation toast is shown. + + + +### Edit a Preset + +Click the **Edit** action in the **Name** cell of a preset row to open the **Edit Preset** modal. The modal is pre-populated with the preset's current values and exposes the same fields as the Create dialog, including the live preview area for the Query Template. + +![](../images/admin_prometheus_preset_edit_modal.png) + +Click **Save** to apply your changes. Consumers of the preset (for example, auto-scaling rules referencing it) automatically pick up the new query template the next time they evaluate the metric. + + + +### Delete a Preset + +Click the **Delete** action in the **Name** cell of a preset row to open the deletion confirmation modal. + +:::danger +Deleting a Prometheus query preset is **permanent and cannot be undone**. Auto-scaling rules and other features that reference the deleted preset will lose their query template and may stop functioning until they are reconfigured to point at a different preset. +::: + +Because deletion is irreversible, the dialog requires you to **type the preset's name** into the confirmation input before the **Delete** button becomes enabled. This typed-confirmation pattern (`BAIConfirmModalWithInput`) is used consistently across Backend.AI for permanent-delete actions. Type the exact preset name shown in the dialog title and click **Delete** to confirm. + ## Manage Resource Policies diff --git a/packages/backend.ai-webui-docs/src/en/images/admin_prometheus_preset_create_modal.png b/packages/backend.ai-webui-docs/src/en/images/admin_prometheus_preset_create_modal.png new file mode 100644 index 0000000000..7596ff6ee4 Binary files /dev/null and b/packages/backend.ai-webui-docs/src/en/images/admin_prometheus_preset_create_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/en/images/admin_prometheus_preset_edit_modal.png b/packages/backend.ai-webui-docs/src/en/images/admin_prometheus_preset_edit_modal.png new file mode 100644 index 0000000000..6c6a335813 Binary files /dev/null and b/packages/backend.ai-webui-docs/src/en/images/admin_prometheus_preset_edit_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/en/images/admin_prometheus_preset_list.png b/packages/backend.ai-webui-docs/src/en/images/admin_prometheus_preset_list.png new file mode 100644 index 0000000000..efd54a9751 Binary files /dev/null and b/packages/backend.ai-webui-docs/src/en/images/admin_prometheus_preset_list.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/admin_menu/admin_menu.md b/packages/backend.ai-webui-docs/src/ja/admin_menu/admin_menu.md index b8a771d138..238523c556 100644 --- a/packages/backend.ai-webui-docs/src/ja/admin_menu/admin_menu.md +++ b/packages/backend.ai-webui-docs/src/ja/admin_menu/admin_menu.md @@ -384,6 +384,86 @@ models: モデルカード名の横にある削除アイコンをクリックして個別のモデルカードを削除するか、行のチェックボックスで複数のモデルカードを選択したうえで、選択件数の横にある赤色のゴミ箱ボタンをクリックして一括削除を実行できます。 + + +## Prometheusプリセット + +Backend.AI では、管理者が再利用可能な **Prometheus クエリプリセット** を定義でき、オートスケーリングルールなどの監視機能から名前で参照できます。1 つのプリセットには、メトリクス名、PromQL クエリテンプレート、任意の時間ウィンドウ、任意のフィルタ/グループラベルがまとめられているため、運用者が同じクエリをルールごとに入力し直す必要はありません。 + +プリセットは、管理者デプロイページの **Prometheusプリセット** タブ(`/admin-deployments?tab=prometheus-preset`)から管理します。 + +![](../images/admin_prometheus_preset_list.png) + +:::note +このタブは **管理者専用** で、Backend.AI マネージャーが `prometheus-query-preset` 機能をサポートしている場合にのみ表示されます。お使いの環境でタブが表示されない場合、マネージャービルドがまだこの機能をサポートしていません。 +::: + + + +### 一覧とフィルタ + +プリセットテーブルには、クラスタ全体に登録されたすべての Prometheus クエリプリセットが表示されます。各行には次の情報が含まれます。 + +- **名前**: プリセットを識別するための一意で人間が読みやすい名前です。このセルでは、インラインの **編集** および **削除** アクションも利用できます。 +- **ID**: プリセットの内部識別子です。 +- **メトリクス名**: このプリセットが報告するメトリクスで、オートスケーリングルールなどのコンシューマーが表示ラベルとして使用します。 +- **クエリテンプレート**: 実行される PromQL 式です。セルは **コピー可能** で、値にホバーしてコピーアイコンをクリックすると、テンプレート全体をクリップボードにコピーできます。Prometheus UI にテンプレートを貼り付けて結果を確認したい場合に便利です。 +- **時間ウィンドウ**: クエリがレンジベクタを参照する場合に使用される既定のルックバック期間(例: `5m`)です。 +- **カテゴリ**: プリセットが属する任意のカテゴリ(解決されたカテゴリ名とカテゴリ ID が併せて表示されます)。 +- **オプション**: コンシューマーがプリセットに対して追加で適用できる **フィルタラベル** と **グループラベル** です。 +- **作成日時** / **更新日時**: サーバーが自動的に管理するタイムスタンプです。 + +テーブル上部のプロパティフィルタで一覧を検索・絞り込みでき、任意の列見出しをクリックすることで並び順を変更できます。 + + + +### 列設定の保持 + +テーブルには、不要な列を非表示にしたり表示する列の順序を変更したりできる列設定コントロールが含まれています。選択した設定は **ブラウザごとにセッションをまたいで保持** されるため、次にこのタブを訪れた際にも希望のレイアウトで開きます。列設定をリセットすると、Backend.AI の既定レイアウトに戻ります。 + + + +### プリセットを作成する + +テーブル右上の **プリセットを追加** をクリックして **プリセットを作成** モーダルを開きます。 + +![](../images/admin_prometheus_preset_create_modal.png) + +モーダルには次のフィールドがあります。 + +- **名前**: プリセットの一意の名前です。すべての Prometheus クエリプリセット間で一意である必要があります。 +- **説明**: セレクタなどでプリセットと一緒に表示される自由記述の説明です。 +- **カテゴリ**: 関連するプリセットをグループ化するための任意のカテゴリです。空のままにすると **カテゴリなし** になります。 +- **メトリクス名**: コンシューマー(例: オートスケーリングルール)に表示されるメトリクスラベルです。 +- **クエリテンプレート**: 実行する PromQL 式です。入力中、フィールドの下にある **ライブプレビュー** 領域がサーバーの `adminPrometheusQueryPresetPreview` クエリを呼び出し、現在のテンプレートが Prometheus インスタンスに対して返す値をその場で表示します。これにより、保存前にテンプレートが期待どおり動作することを確認できます。プレビューはデバウンス処理され、編集に応じて自動的に更新されます。 +- **時間ウィンドウ**: レンジベクタに使用する既定のウィンドウ(例: `5m`)です。クエリがレンジベクタを使用しない場合は空のままにします。 +- **フィルタラベル**: コンシューマーがプリセットに対して追加で適用できる任意のラベルセレクタのリストです。 +- **グループラベル**: クエリ結果をグループ化するための任意のラベルのリストです。 + +**作成** をクリックしてプリセットを保存します。成功すると、プリセットが一覧に表示され、確認トーストが表示されます。 + + + +### プリセットを編集する + +プリセット行の **名前** セルにある **編集** アクションをクリックすると、**プリセットを編集** モーダルが開きます。モーダルにはプリセットの現在の値があらかじめ入力されており、クエリテンプレートのライブプレビュー領域を含めて作成ダイアログと同じフィールドが提供されます。 + +![](../images/admin_prometheus_preset_edit_modal.png) + +**セーブ** をクリックして変更を適用します。プリセットを参照しているコンシューマー(例: オートスケーリングルール)は、次にメトリクスを評価する際に新しいクエリテンプレートを自動的に取り込みます。 + + + +### プリセットを削除する + +プリセット行の **名前** セルにある **削除** アクションをクリックすると、削除確認モーダルが開きます。 + +:::danger +Prometheus クエリプリセットの削除は **完全な削除であり、元に戻すことはできません**。削除されたプリセットを参照しているオートスケーリングルールなどはクエリテンプレートを失い、別のプリセットを参照するように再構成されるまで正常に動作しなくなる可能性があります。 +::: + +削除は元に戻せないため、ダイアログでは **削除** ボタンが有効になる前に確認入力欄に **プリセット名を入力する** 必要があります。この入力確認パターン(`BAIConfirmModalWithInput`)は、永続削除アクションに対して Backend.AI 全体で一貫して使用されています。ダイアログのタイトルに表示されているプリセット名を正確に入力し、**削除** をクリックして確定してください。 + ## リソースポリシー管理 diff --git a/packages/backend.ai-webui-docs/src/ja/images/admin_prometheus_preset_create_modal.png b/packages/backend.ai-webui-docs/src/ja/images/admin_prometheus_preset_create_modal.png new file mode 100644 index 0000000000..26bafd458e Binary files /dev/null and b/packages/backend.ai-webui-docs/src/ja/images/admin_prometheus_preset_create_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/images/admin_prometheus_preset_edit_modal.png b/packages/backend.ai-webui-docs/src/ja/images/admin_prometheus_preset_edit_modal.png new file mode 100644 index 0000000000..ff13c52bad Binary files /dev/null and b/packages/backend.ai-webui-docs/src/ja/images/admin_prometheus_preset_edit_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/images/admin_prometheus_preset_list.png b/packages/backend.ai-webui-docs/src/ja/images/admin_prometheus_preset_list.png new file mode 100644 index 0000000000..73f6be8ff9 Binary files /dev/null and b/packages/backend.ai-webui-docs/src/ja/images/admin_prometheus_preset_list.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/admin_menu/admin_menu.md b/packages/backend.ai-webui-docs/src/ko/admin_menu/admin_menu.md index 6740b84e1c..2c9c8deefb 100644 --- a/packages/backend.ai-webui-docs/src/ko/admin_menu/admin_menu.md +++ b/packages/backend.ai-webui-docs/src/ko/admin_menu/admin_menu.md @@ -342,6 +342,86 @@ models: 모델 카드 이름 옆의 삭제 아이콘을 클릭하여 개별 모델 카드를 삭제하거나, 행 체크박스로 여러 모델 카드를 선택한 후 선택 개수 옆의 빨간색 휴지통 버튼을 클릭하여 일괄 삭제를 수행할 수 있습니다. + + +## 프로메테우스 프리셋 + +Backend.AI는 관리자가 재사용 가능한 **프로메테우스 쿼리 프리셋**을 정의할 수 있게 해주며, 오토 스케일링 규칙을 비롯한 모니터링 기능이 이를 이름으로 참조할 수 있습니다. 하나의 프리셋은 메트릭 이름, PromQL 쿼리 템플릿, 선택적인 시간 범위, 선택적인 필터 / 그룹 레이블을 함께 묶어 관리하므로, 운영자가 동일한 쿼리를 규칙마다 다시 입력할 필요가 없습니다. + +이 프리셋은 관리자 배포 페이지의 **프로메테우스 프리셋** 탭(`/admin-deployments?tab=prometheus-preset`)에서 관리합니다. + +![](../images/admin_prometheus_preset_list.png) + +:::note +이 탭은 **관리자 전용**이며, Backend.AI 매니저가 `prometheus-query-preset` 기능을 지원한다고 알릴 때에만 표시됩니다. 사용 중인 환경에서 탭이 보이지 않는다면, 매니저 빌드가 아직 해당 기능을 지원하지 않는 것입니다. +::: + + + +### 목록 및 필터 + +프리셋 테이블에는 클러스터에 등록된 모든 프로메테우스 쿼리 프리셋이 표시됩니다. 각 행에는 다음 정보가 포함됩니다. + +- **이름**: 프리셋을 식별하기 위한 고유한 이름이며, 사람이 읽기 쉬운 형태입니다. 해당 셀에서는 **수정** 및 **삭제** 인라인 액션도 제공합니다. +- **ID**: 프리셋의 내부 식별자입니다. +- **메트릭 이름**: 이 프리셋이 보고하는 메트릭으로, 오토 스케일링 규칙 등 소비자 측에서 표시 라벨로 사용합니다. +- **쿼리 템플릿**: 실행될 PromQL 표현식입니다. 셀은 **복사 가능**하며, 값 위에 마우스를 올린 뒤 복사 아이콘을 클릭하면 전체 템플릿을 클립보드로 복사할 수 있습니다. 결과를 Prometheus UI에서 직접 확인하고 싶을 때 유용합니다. +- **시간 범위**: 쿼리가 범위 벡터를 사용할 때 적용되는 기본 조회 구간(예: `5m`)입니다. +- **카테고리**: 프리셋이 속하는 선택적 카테고리(이름과 카테고리 ID가 함께 표시됩니다). +- **옵션**: 소비자가 프리셋 위에 추가로 적용할 수 있는 **필터 레이블**과 **그룹 레이블**입니다. +- **생성일** / **수정일**: 서버에서 자동으로 관리되는 타임스탬프입니다. + +테이블 상단의 속성 필터로 목록을 검색하고 좁힐 수 있으며, 컬럼 헤더를 클릭하여 정렬 순서를 변경할 수 있습니다. + + + +### 컬럼 설정 저장 + +테이블에는 필요 없는 컬럼을 숨기거나 표시 순서를 바꿀 수 있는 컬럼 설정 컨트롤이 포함되어 있습니다. 선택한 설정은 **브라우저별로 세션이 바뀌어도 유지**되므로, 다음에 이 탭을 다시 방문해도 원하는 레이아웃으로 열립니다. 컬럼 설정을 초기화하면 Backend.AI의 기본 레이아웃으로 돌아갑니다. + + + +### 프리셋 생성 + +테이블 우측 상단의 **프리셋 추가** 버튼을 클릭하여 **프리셋 생성** 모달을 엽니다. + +![](../images/admin_prometheus_preset_create_modal.png) + +모달에는 다음 필드가 있습니다. + +- **이름**: 프리셋의 고유한 이름입니다. 모든 프로메테우스 쿼리 프리셋 중에서 고유해야 합니다. +- **설명**: 선택기 등에 함께 표시되는 자유 형식의 설명입니다. +- **카테고리**: 연관된 프리셋을 묶기 위한 선택적 카테고리입니다. 비워두면 **카테고리 없음**으로 표시됩니다. +- **메트릭 이름**: 소비자(예: 오토 스케일링 규칙)에서 표시되는 메트릭 라벨입니다. +- **쿼리 템플릿**: 실행할 PromQL 표현식입니다. 입력하는 동안 필드 아래의 **라이브 프리뷰** 영역이 서버의 `adminPrometheusQueryPresetPreview` 쿼리를 호출하여, 작성 중인 템플릿이 실제 Prometheus 인스턴스에서 어떤 값을 반환하는지 즉시 보여줍니다. 따라서 저장하기 전에 템플릿이 의도대로 동작하는지 확인할 수 있습니다. 프리뷰는 디바운스 처리되어 입력에 맞춰 자동으로 갱신됩니다. +- **시간 범위**: 범위 벡터에 사용할 기본 조회 구간(예: `5m`)입니다. 범위 벡터를 사용하지 않으면 비워둡니다. +- **필터 레이블**: 소비자가 프리셋 위에 추가로 적용할 수 있는 선택적 레이블 셀렉터 목록입니다. +- **그룹 레이블**: 쿼리 결과를 그룹화할 선택적 레이블 목록입니다. + +**생성**을 클릭하여 프리셋을 저장합니다. 성공하면 프리셋이 목록에 나타나고 확인 토스트가 표시됩니다. + + + +### 프리셋 수정 + +프리셋 행의 **이름** 셀에서 **수정** 액션을 클릭하면 **프리셋 수정** 모달이 열립니다. 모달에는 프리셋의 현재 값이 미리 채워져 있으며, 쿼리 템플릿의 라이브 프리뷰 영역을 포함하여 생성 다이얼로그와 동일한 필드가 제공됩니다. + +![](../images/admin_prometheus_preset_edit_modal.png) + +**저장**을 클릭하여 변경 사항을 적용합니다. 해당 프리셋을 참조하는 소비자(예: 오토 스케일링 규칙)는 다음 메트릭 평가 시 자동으로 새 쿼리 템플릿을 적용합니다. + + + +### 프리셋 삭제 + +프리셋 행의 **이름** 셀에서 **삭제** 액션을 클릭하면 삭제 확인 모달이 열립니다. + +:::danger +프로메테우스 쿼리 프리셋의 삭제는 **영구적이며 되돌릴 수 없습니다**. 삭제된 프리셋을 참조하는 오토 스케일링 규칙 등은 쿼리 템플릿을 잃게 되며, 다른 프리셋을 가리키도록 재구성하기 전까지 정상적으로 동작하지 않을 수 있습니다. +::: + +삭제는 되돌릴 수 없기 때문에, 다이얼로그는 **삭제** 버튼이 활성화되기 전에 확인 입력란에 **프리셋 이름을 직접 입력**하도록 요구합니다. 이 입력 확인 패턴(`BAIConfirmModalWithInput`)은 Backend.AI 전반에서 영구 삭제 작업에 일관되게 사용됩니다. 다이얼로그 제목에 표시된 프리셋 이름을 정확히 입력한 뒤 **삭제**를 클릭하여 확정합니다. + ## 자원 정책 관리 diff --git a/packages/backend.ai-webui-docs/src/ko/images/admin_prometheus_preset_create_modal.png b/packages/backend.ai-webui-docs/src/ko/images/admin_prometheus_preset_create_modal.png new file mode 100644 index 0000000000..2bcc6bf26f Binary files /dev/null and b/packages/backend.ai-webui-docs/src/ko/images/admin_prometheus_preset_create_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/images/admin_prometheus_preset_edit_modal.png b/packages/backend.ai-webui-docs/src/ko/images/admin_prometheus_preset_edit_modal.png new file mode 100644 index 0000000000..5185f14d22 Binary files /dev/null and b/packages/backend.ai-webui-docs/src/ko/images/admin_prometheus_preset_edit_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/images/admin_prometheus_preset_list.png b/packages/backend.ai-webui-docs/src/ko/images/admin_prometheus_preset_list.png new file mode 100644 index 0000000000..cf6197752e Binary files /dev/null and b/packages/backend.ai-webui-docs/src/ko/images/admin_prometheus_preset_list.png differ diff --git a/packages/backend.ai-webui-docs/src/th/admin_menu/admin_menu.md b/packages/backend.ai-webui-docs/src/th/admin_menu/admin_menu.md index 49df53aa0c..43e31735bf 100644 --- a/packages/backend.ai-webui-docs/src/th/admin_menu/admin_menu.md +++ b/packages/backend.ai-webui-docs/src/th/admin_menu/admin_menu.md @@ -379,6 +379,86 @@ models: คุณสามารถลบการ์ดโมเดลแต่ละรายการโดยคลิกไอคอนลบถัดจากชื่อการ์ด หรือทำการลบจำนวนมากโดยเลือกการ์ดโมเดลหลายรายการด้วยช่องทำเครื่องหมาย จากนั้นคลิกปุ่มถังขยะสีแดงถัดจากจำนวนที่เลือก + + +## Prometheus Preset + +Backend.AI ช่วยให้ผู้ดูแลระบบสามารถกำหนด **พรีเซตคำสั่ง Prometheus** ที่นำกลับมาใช้ใหม่ได้ ซึ่งกฎ Auto Scaling และฟีเจอร์การมอนิเตอร์อื่น ๆ สามารถอ้างอิงด้วยชื่อพรีเซตได้ พรีเซตหนึ่ง ๆ จะรวมชื่อเมตริก เทมเพลตคำสั่ง PromQL ช่วงเวลาที่เลือกได้ และป้ายกำกับตัวกรอง / ป้ายกำกับกลุ่มที่เลือกได้เข้าไว้ด้วยกัน เพื่อให้ผู้ปฏิบัติงานไม่ต้องพิมพ์คำสั่งเดิมซ้ำสำหรับแต่ละกฎ + +พรีเซตเหล่านี้จัดการได้จากแท็บ **Prometheus Preset** บนหน้า การปรับใช้ของผู้ดูแลระบบ (`/admin-deployments?tab=prometheus-preset`) + +![](../images/admin_prometheus_preset_list.png) + +:::note +แท็บนี้ **สำหรับผู้ดูแลระบบเท่านั้น** และจะปรากฏก็ต่อเมื่อ Backend.AI Manager รองรับความสามารถ `prometheus-query-preset` หากแท็บไม่ปรากฏในระบบของคุณ แสดงว่ารุ่น Manager ของคุณยังไม่รองรับฟีเจอร์นี้ +::: + + + +### รายการและตัวกรอง + +ตารางพรีเซตจะแสดงพรีเซตคำสั่ง Prometheus ทั้งหมดในคลัสเตอร์ แต่ละแถวจะแสดงข้อมูลต่อไปนี้ + +- **ชื่อ**: ตัวระบุพรีเซตที่ไม่ซ้ำกันและอ่านง่ายสำหรับมนุษย์ เซลล์นี้ยังมีการกระทำแบบอินไลน์ **แก้ไข** และ **ลบ** ด้วย +- **ID**: ตัวระบุภายในของพรีเซต +- **ชื่อเมตริก**: เมตริกที่พรีเซตนี้รายงาน (ใช้เป็นป้ายแสดงผลโดยผู้บริโภค เช่น กฎ Auto Scaling) +- **เทมเพลตคำสั่ง**: นิพจน์ PromQL ที่จะถูกเรียกใช้ เซลล์นี้ **คัดลอกได้** โดยวางเมาส์เหนือค่าแล้วคลิกไอคอนคัดลอกเพื่อคัดลอกเทมเพลตทั้งหมดไปยังคลิปบอร์ด มีประโยชน์เมื่อต้องการวางเทมเพลตในหน้า Prometheus UI เพื่อตรวจสอบผลลัพธ์ +- **ช่วงเวลา**: ช่วงเวลามองย้อนกลับเริ่มต้น (เช่น `5m`) ที่ใช้เมื่อคำสั่งอ้างอิง range vector +- **หมวดหมู่**: หมวดหมู่ที่เลือกได้ที่พรีเซตอยู่ (พร้อมชื่อหมวดหมู่ที่แก้ค่าแล้วและรหัสหมวดหมู่) +- **ตัวเลือก**: **ป้ายกำกับตัวกรอง** และ **ป้ายกำกับกลุ่ม** ที่เลือกได้ ซึ่งผู้บริโภคสามารถนำมาใช้บนพรีเซตได้ +- **สร้างเมื่อ** / **อัปเดตเมื่อ**: ตราเวลาที่เซิร์ฟเวอร์ดูแลให้โดยอัตโนมัติ + +คุณสามารถค้นหาและจำกัดรายการได้ด้วยตัวกรองคุณสมบัติด้านบนของตาราง และคลิกหัวคอลัมน์ใด ๆ เพื่อเปลี่ยนลำดับการเรียง + + + +### การจดจำการตั้งค่าคอลัมน์ + +ตารางมีตัวควบคุมการตั้งค่าคอลัมน์ที่ให้คุณซ่อนคอลัมน์ที่ไม่ต้องการและจัดลำดับคอลัมน์ที่แสดงใหม่ได้ ตัวเลือกของคุณจะ **คงอยู่ข้ามเซสชัน** ต่อเบราว์เซอร์ ดังนั้นตารางจะเปิดขึ้นด้วยเลย์เอาต์ที่คุณต้องการในครั้งถัดไปที่คุณเยี่ยมชมแท็บนี้ การรีเซ็ตการตั้งค่าคอลัมน์จะคืนค่ากลับเป็นเลย์เอาต์เริ่มต้นของ Backend.AI + + + +### สร้างพรีเซต + +คลิก **เพิ่มพรีเซต** ที่ด้านบนขวาของตารางเพื่อเปิดโมดอล **สร้างพรีเซต** + +![](../images/admin_prometheus_preset_create_modal.png) + +โมดอลประกอบด้วยฟิลด์ต่อไปนี้ + +- **ชื่อ**: ชื่อที่ไม่ซ้ำกันของพรีเซต ต้องไม่ซ้ำกันในพรีเซตคำสั่ง Prometheus ทั้งหมด +- **คำอธิบาย**: คำอธิบายแบบอิสระที่แสดงควบคู่กับพรีเซตในตัวเลือก +- **หมวดหมู่**: หมวดหมู่ที่เลือกได้สำหรับจัดกลุ่มพรีเซตที่เกี่ยวข้อง ปล่อยว่างเพื่อให้เป็น **ไม่มีหมวดหมู่** +- **ชื่อเมตริก**: ป้ายเมตริกที่ผู้บริโภค (เช่น กฎ Auto Scaling) จะแสดง +- **เทมเพลตคำสั่ง**: นิพจน์ PromQL ที่จะถูกเรียกใช้ ขณะที่คุณพิมพ์ พื้นที่ **ตัวอย่างแบบสด** ใต้ฟิลด์จะเรียก query `adminPrometheusQueryPresetPreview` ของเซิร์ฟเวอร์และแสดงค่าปัจจุบันที่คำสั่งของคุณตอบกลับจากอินสแตนซ์ Prometheus เพื่อให้คุณตรวจสอบได้ว่าเทมเพลตทำงานก่อนบันทึก ตัวอย่างถูก debounce และอัปเดตอัตโนมัติเมื่อคุณแก้ไข +- **ช่วงเวลา**: หน้าต่าง range vector เริ่มต้น เช่น `5m` ปล่อยว่างหากคำสั่งไม่ใช้ range vector +- **ป้ายกำกับตัวกรอง**: รายการตัวเลือกป้ายกำกับที่เลือกได้ ซึ่งผู้บริโภคสามารถนำมาใช้บนพรีเซตได้ +- **ป้ายกำกับกลุ่ม**: รายการป้ายกำกับที่เลือกได้สำหรับจัดกลุ่มผลลัพธ์ของคำสั่ง + +คลิก **สร้าง** เพื่อบันทึกพรีเซต เมื่อสำเร็จ พรีเซตจะปรากฏในรายการและจะแสดงทอสต์ยืนยัน + + + +### แก้ไขพรีเซต + +คลิกการกระทำ **แก้ไข** ในเซลล์ **ชื่อ** ของแถวพรีเซตเพื่อเปิดโมดอล **แก้ไขพรีเซต** โมดอลจะถูกเติมล่วงหน้าด้วยค่าปัจจุบันของพรีเซตและมีฟิลด์เดียวกันกับไดอะล็อกสร้าง รวมถึงพื้นที่ตัวอย่างแบบสดสำหรับเทมเพลตคำสั่ง + +![](../images/admin_prometheus_preset_edit_modal.png) + +คลิก **บันทึก** เพื่อใช้การเปลี่ยนแปลงของคุณ ผู้บริโภคของพรีเซต (เช่น กฎ Auto Scaling ที่อ้างอิงพรีเซต) จะรับเทมเพลตคำสั่งใหม่โดยอัตโนมัติในครั้งถัดไปที่ประเมินเมตริก + + + +### ลบพรีเซต + +คลิกการกระทำ **ลบ** ในเซลล์ **ชื่อ** ของแถวพรีเซตเพื่อเปิดโมดอลยืนยันการลบ + +:::danger +การลบพรีเซตคำสั่ง Prometheus เป็นการกระทำ **ถาวรและไม่สามารถยกเลิกได้** กฎ Auto Scaling และฟีเจอร์อื่น ๆ ที่อ้างอิงพรีเซตที่ลบจะสูญเสียเทมเพลตคำสั่งและอาจหยุดทำงานจนกว่าจะถูกกำหนดค่าใหม่ให้ชี้ไปยังพรีเซตอื่น +::: + +เนื่องจากการลบไม่สามารถย้อนกลับได้ ไดอะล็อกจึงกำหนดให้คุณ **พิมพ์ชื่อพรีเซต** ลงในช่องป้อนยืนยันก่อนที่ปุ่ม **ลบ** จะถูกเปิดใช้งาน รูปแบบการยืนยันด้วยการพิมพ์นี้ (`BAIConfirmModalWithInput`) ถูกใช้อย่างสม่ำเสมอทั่วทั้ง Backend.AI สำหรับการลบถาวร พิมพ์ชื่อพรีเซตที่แสดงในชื่อไดอะล็อกให้ตรงและคลิก **ลบ** เพื่อยืนยัน + ## จัดการนโยบายทรัพยากร diff --git a/packages/backend.ai-webui-docs/src/th/images/admin_prometheus_preset_create_modal.png b/packages/backend.ai-webui-docs/src/th/images/admin_prometheus_preset_create_modal.png new file mode 100644 index 0000000000..b75e942e1e Binary files /dev/null and b/packages/backend.ai-webui-docs/src/th/images/admin_prometheus_preset_create_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/th/images/admin_prometheus_preset_edit_modal.png b/packages/backend.ai-webui-docs/src/th/images/admin_prometheus_preset_edit_modal.png new file mode 100644 index 0000000000..0e976a10ac Binary files /dev/null and b/packages/backend.ai-webui-docs/src/th/images/admin_prometheus_preset_edit_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/th/images/admin_prometheus_preset_list.png b/packages/backend.ai-webui-docs/src/th/images/admin_prometheus_preset_list.png new file mode 100644 index 0000000000..5167467871 Binary files /dev/null and b/packages/backend.ai-webui-docs/src/th/images/admin_prometheus_preset_list.png differ