GuanceDB エンジンデプロイメント¶
注意
CPU は AVX2 命令セットをサポートしている必要があります。grep avx2 /proc/cpuinfo を実行してテストし、出力がない場合は AVX2 をサポートしていません。
この記事では、GuanceDB for Metrics コンポーネントと GuanceDB for Logs コンポーネントのデプロイ方法について説明します。両方のコンポーネントのデプロイには、1 つの Charts を使用します。
アーキテクチャ図¶
- GuanceDB chart には、GuanceDB for Metrics コンポーネントと GuanceDB for Logs コンポーネントの 2 つが含まれています。これら 2 つのコンポーネントは、guance-insert サービスと guance-select サービスを共有し、統一された書き込みおよびクエリインターフェースを提供します。
- GuanceDB for Metrics コンポーネントをデプロイすると、GuanceDB for Metrics Storage がデプロイされます。
コアコンポーネント¶
-
書き込みロードバランサー (guance-insert)
-
元のデータを受信します
- 一貫性ハッシュアルゴリズムを使用してデータをストレージノードに分散します
-
高可用性デプロイをサポートします
-
クエリエンジン (guance-select)
-
DQL および PromQL クエリ言語をサポートします
- すべてのストレージノードからデータを取得し、計算します
-
最終的なクエリ結果を返します
-
ストレージノード (guance-storage)
-
share nothing アーキテクチャを採用しています
- ノード間の通信はなく、中央の調整もありません
- 水平スケーリングをサポートします
前提条件¶
- Helm バージョン要件:3.7+
- ストレージのパフォーマンスが要件を満たしていることを確認してください
- 十分なシステムリソースを確保することをお勧めします
デフォルトデプロイ設定情報¶
| サービス名 | アドレス | ポート |
|---|---|---|
| guance-insert | guance-insert.guancedb | 8480 |
| guance-select | guance-select.guancedb | 8481 |
容量計画¶
-
メモリ予約
-
すべてのコンポーネントで少なくとも 50% のメモリを予約してください
-
突発的な書き込みに対応し、OOM を回避するためです
-
CPU 予約
-
すべてのコンポーネントで少なくとも 50% の CPU を予約してください
-
突発的な書き込みによる書き込み遅延やクエリ遅延を回避するためです
-
ストレージ容量の予約
-
guance-storage ノードで 20% のストレージ容量を予約してください
-storage.minFreeDiskSpaceBytesパラメータで設定可能です
参考設定¶
100 万の時系列を例にします(10 秒ごとに書き込み、リアルタイム書き込み QPS 10 万/秒、クエリ QPS 100、データ保存期間 1 ヶ月):
| コンポーネント | CPU | メモリ | ディスク |
|---|---|---|---|
| guance-insert | 4c | 4G | - |
| guance-select | 8c | 8G | - |
| guance-storage | 16c | 96G | 500G |
注:実際のデプロイ時には、時系列数に応じてリソース規模を線形に調整できます。各コンポーネントはデフォルトで 2 つのインスタンスをサポートします。
GuanceDB エンジンデプロイメント¶
注意
GuanceDB for Metrics と GuanceDB for Logs のデプロイには順序関係があります。最初に GuanceDB for Metrics をデプロイし、Doris のデプロイが完了したら、Doris 情報を設定して GuanceDB for Logs をインストールできます。GuanceDB for Logs コンポーネントのみをデプロイしたい場合は、guance_storage.enabled=false を設定してください。
ストレージクラスの設定¶
OpenEBS 参考ドキュメント:OpenEBS デプロイ
パブリッククラウドを使用する場合は、パブリッククラウドのストレージブロックコンポーネントを参照してください。
以下の yaml 設定をデプロイします:
apiVersion: storage.k8s.io/v1
allowVolumeExpansion: true
kind: StorageClass
metadata:
annotations:
cas.openebs.io/config: |
- name: StorageType
value: "hostpath"
- name: BasePath
value: "/data"
name: guancedb-cs
provisioner: openebs.io/local
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
/dataディレクトリのディスク容量が十分であることを確認してください。
以下の yaml 設定をデプロイします:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: guancedb-cs
provisioner: diskplugin.csi.alibabacloud.com
parameters:
type: cloud_auto
fstype: ext4
# diskTags: "a:b,b:c"
encrypted: "false"
performanceLevel: PL1 # クラウドボックス使用時は PL0 に設定する必要があります。
provisionedIops: "40000"
burstingEnabled: "false"
volumeBindingMode: WaitForFirstConsumer
reclaimPolicy: Retain
allowVolumeExpansion: true
以下の yaml 設定をデプロイします:
---
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: guancedb-cs
parameters:
csi.storage.k8s.io/csi-driver-name: disk.csi.everest.io
csi.storage.k8s.io/fstype: ext4
everest.io/disk-volume-type: SSD ## ディスクタイプを変更
everest.io/passthrough: "true"
provisioner: everest-csi-provisioner
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
Chart のダウンロード¶
注意
values.yaml を Git で管理することを推奨します。values.yaml ファイルを Git 管理下に置くことで、設定変更の履歴を記録し、追跡やロールバックを容易にします。
chart パッケージをダウンロードします:
--untar は圧縮しないオプションです。デフォルトでは圧縮されます。
GuanceDB for Metrics の設定とインストール¶
- GuanceDB for Metrics を設定します
guancedb ディレクトリに移動し、values.yaml を編集します。
# グローバルストレージクラスを変更
global:
storageClass: 'guancedb-cs'
# scopedb スイッチをオフにする
scopedb:
enabled: false
guance_select:
...
# サービスレプリカ数
replicaCount: 3
image:
# オフライン環境の場合、イメージアドレスを変更します。必要がなければ変更しなくても構いません。
repository: pubrepo.guance.com/guancedb/guance-select
# guance-select コンテナをスケジュールするために nodeSelector と tolerations を変更します。必要がなければ変更しなくても構いません。
nodeSelector: {}
tolerations:
[]
# - key: "key"
# operator: "Equal|Exists"
# value: "value"
# effect: "NoSchedule|PreferNoSchedule"
guance_insert:
...
# サービスレプリカ数
replicaCount: 3
image:
# オフライン環境の場合、イメージアドレスを変更します。必要がなければ変更しなくても構いません。
repository: pubrepo.guance.com/guancedb/guance-insert
# guance-insert コンテナをスケジュールするために nodeSelector と tolerations を変更します。必要がなければ変更しなくても構いません。
nodeSelector: {}
tolerations:
[]
# - key: "key"
# operator: "Equal|Exists"
# value: "value"
# effect: "NoSchedule|PreferNoSchedule"
guance_storage:
...
# サービスレプリカ数
replicaCount: 2
image:
# オフライン環境の場合、イメージアドレスを変更します。必要がなければ変更しなくても構いません。
repository: pubrepo.guance.com/guancedb/guance-storage
# guance-storage コンテナをスケジュールするために nodeSelector と tolerations を変更します。必要がなければ変更しなくても構いません。
nodeSelector: {}
tolerations:
[]
# - key: "key"
# operator: "Equal|Exists"
# value: "value"
# effect: "NoSchedule|PreferNoSchedule"
- GuanceDB for Metrics コンポーネントをインストールします
helm upgrade -i guancedb oci://pubrepo.guance.com/guancedb/guancedb \
-n guancedb --create-namespace -f values.yaml
- 状態を確認します {#helm-check}
> kubectl get pod -n guancedb -l app.kubernetes.io/instance=guancedb
NAME READY STATUS RESTARTS AGE
guance-insert-0 1/1 Running 0 107s
guance-select-db5dfb66b-qsncr 1/1 Running 0 84s
guance-storage-0 1/1 Running 0 44s
guance-storage-1 1/1 Running 0 28s
GuanceDB for Logs の設定とインストール¶
注意
既に GuanceDB for Metrics コンポーネントをデプロイしている場合、GuanceDB for Logs をインストールしても新しいサービスは追加されず、既存のサービスの起動パラメータが追加されるだけです。
- GuanceDB for Logs を設定します
guancedb ディレクトリに移動し、values.yaml を編集します。
注意
values.yaml は GuanceDB for Metrics を設定するためのファイルです。values.yaml が失われた場合は、helm get values -n guancedb guancedb > values.yaml を実行して取得できます。
...
doris:
# GuanceDB for Logs を有効化
enabled: true
# Doris FE ノードを追加
feIPs: []
# ["xx.xx.xx.xx","xx.xx.xx.xx"]
# Doris root パスワード
rootPassword: ''
# Doris 一般ユーザーパスワード
userReadPassword: ''
# キャッシュデータのメモリサイズ
cacheSizeLimit: 4Gi
guance_throttler:
# 有効化
enabled: true
...
- GuanceDB for Logs をインストールします
helm upgrade -i guancedb oci://pubrepo.guance.com/guancedb/guancedb \
-n guancedb --create-namespace -f values.yaml
- 状態を確認します {#helm-check-logs}
> kubectl get pod -n guancedb -l app.kubernetes.io/instance=guancedb
NAME READY STATUS RESTARTS AGE
guance-insert-0 1/1 Running 0 107s
guance-select-db5dfb66b-qsncr 1/1 Running 0 84s
guance-storage-0 1/1 Running 0 44s
guance-storage-1 1/1 Running 0 28s
アンインストール¶
その他¶
コンポーネントパラメータの変更¶
- values.yaml を編集します
guance_storage:
...
# ここに storage パラメータを追加できます
extraArgs:
retentionFilters.config: http://kodo.forethought-kodo:9527/v1/workspace_retention
envflag.enable: 'true'
loggerFormat: json
loggerMaxArgLen: '10000'
loggerTimezone: Asia/Shanghai
guance_insert:
...
# ここに insert パラメータを追加できます
extraArgs:
envflag.enable: 'true'
loggerFormat: json
loggerMaxArgLen: '10000'
loggerTimezone: Asia/Shanghai
guance_select:
# ここに select パラメータを追加できます
...
extraArgs:
envflag.enable: 'true'
loggerFormat: json
loggerMaxArgLen: '10000'
loggerTimezone: Asia/Shanghai
http.disableResponseCompression: 'true'
search.denyPartialResponse: true
search.maxQueryDuration: 110s
slowQueryDuration: 1ms
streamaggr.selectVerify: 'true'
- デプロイを更新します:
helm upgrade -i guancedb oci://pubrepo.guance.com/guancedb/guancedb \
-n guancedb --create-namespace -f values.yaml
サービスパラメータ説明¶
Guance Select パラメータ説明¶
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
| -blockcache.missesBeforeCaching | int | 2 | キャッシュブロックがキャッシュに入れられるまでのキャッシュミス回数。値を大きくすると indexdb/dataBlocks キャッシュサイズが減少する可能性がありますが、CPU とディスク読み取り操作が増加します。 |
| -cacheDataPath | string | "/tmp/guance-select" | キャッシュファイルのディレクトリパス。空の場合はキャッシュを保存しません。 |
| -cacheExpireDuration | duration | 30m0s | メモリキャッシュ内のアイテムが、指定された期間アクセスされないと削除されます。値を小さくするとメモリ使用量が減少しますが、CPU 使用量が増加します。 |
| -dedup.minScrapeInterval | duration | 1ms | 各時系列について、指定された離散間隔内で最後のサンプルのみを保持し、重複を防ぎます。 |
| -denyQueryTracing | bool | クエリトレース機能を無効にするかどうか。 | |
| -doris.coldDataTierOnly | bool | コールドストレージのみを使用します。 | |
| -doris.disableBFOnNewTables | bool | 新しいテーブルでブルームフィルターを使用しません。 | |
| -doris.disableUnicodeTokenizer | bool | Unicode トークナイザーの代わりに中国語トークナイザーを使用します。 | |
| -doris.enableBFOnOldTables | bool | 古いテーブルでブルームフィルターを使用します。 | |
| -doris.enableFileCacheTTL | bool | クラウドデータベース SelectDB バージョンのデータキャッシュを使用します。 | |
| -doris.enableWarmDataTier | bool | ホット+コールドストレージではなく、ホット+ウォームストレージを使用します。 | |
| -doris.indexCacheTTL | duration | 30m0s | Doris インデックスキャッシュの有効期限。 |
| -doris.onlyQueryFE | bool | 有効にすると、バックエンド(be)から直接データをクエリしません。 | |
| -doris.onlyWriteFE | bool | 有効にすると、バックエンド(be)に直接データを書き込みません。 | |
| -doris.replicationFactor | int | 1 | Doris テーブルのレプリカ数。 |
| -doris.storageResource | string | "s3_default" | ストレージポリシーで使用されるリソース名。 |
| -doris.variantSchemaMode | string | サポートされる値:'none'、'minimal'、'full'。 | |
| -dorisCluster | string | "default_cluster" | Doris クラスタ名。 |
| -dorisFENode | array | Doris FE ノードアドレスリスト(カンマ区切り)。 | |
| -dorisHTTPPort | int | 8030 | Doris HTTP ポート。 |
| -dorisMySQLPort | int | 9030 | Doris MySQL ポート。 |
| -dorisPassword | string | Doris パスワード。 | |
| -dorisUsername | string | "root" | Doris ユーザー名。 |
| -enableTCP6 | bool | IPv6 でのリスニングとダイヤルを有効にするかどうか。デフォルトでは IPv4 のみ使用します。 | |
| -envflag.enable | bool | 環境変数からパラメータを読み取ることを許可するかどうか。コマンドライン引数が優先されます。 | |
| -envflag.prefix | string | 環境変数のプレフィックス。環境変数の読み取りが有効な場合にのみ有効です。 | |
| -filestream.disableFadvise | bool | fadvise() システムコールを無効にするかどうか。大きなファイルを読み取る際に CPU 使用量を削減できますが、通常は無効にしないことをお勧めします。 | |
| -flagsAuthKey | value | /flags エンドポイントの認証キー。ファイルまたは URL からの読み取りをサポートします。 | |
| -fs.disableMmap | bool | データファイルの読み取りに mmap() の代わりに pread() を使用するかどうか。デフォルトでは 64 ビットアーキテクチャで mmap() を、32 ビットで pread() を使用します。 | |
| -globalReplicationFactor | int | 1 | vmstorage グループ内の各サンプルのレプリカ数。高可用性をサポートします。 |
| -http.connTimeout | duration | 2m0s | HTTP 接続タイムアウト。タイムアウト後に接続を閉じます。0 は閉じないことを意味します。 |
| -http.disableResponseCompression | bool | HTTP 応答の圧縮を無効にして CPU を節約するかどうか。デフォルトでは圧縮が有効で帯域幅を節約します。 | |
| -http.header.csp | string | Content-Security-Policy ヘッダーを設定します。推奨:"default-src 'self'"。 | |
| -http.header.frameOptions | string | X-Frame-Options ヘッダーを設定します。 | |
| -http.header.hsts | string | Strict-Transport-Security ヘッダーを設定します。推奨:'max-age=31536000; includeSubDomains'。 | |
| -http.idleConnTimeout | duration | 1m0s | HTTP アイドル接続タイムアウト。 |
| -http.maxGracefulShutdownDuration | duration | 7s | HTTP サーバーのグレースフルシャットダウンの最大時間。 |
| -http.pathPrefix | string | すべての HTTP パスにプレフィックスを追加します。プロキシパスに便利です。 | |
| -http.shutdownDelay | duration | HTTP サーバーシャットダウン前の遅延。この間 /health は非 OK を返し、ロードバランサーがリクエストを切り替えるのに役立ちます。 | |
| -httpAuth.password | value | HTTP 基本認証パスワード。ファイルまたは URL からの読み取りをサポートします。 | |
| -httpAuth.username | string | HTTP 基本認証ユーザー名。空の場合は認証が無効になります。 | |
| -httpListenAddr | array | HTTP リスニングアドレスリスト。複数の値またはカンマ区切りをサポートします。 | |
| -httpListenAddr.useProxyProtocol | array | 指定されたリスニングアドレスでプロキシプロトコルを有効にするかどうか。有効にすると、通常の /metrics エンドポイントを提供できなくなります。 | |
| -insert.maxFutureTimeDrift | duration | 1h0m0s | 現在時刻にこの値を加えた値よりも未来のタイムスタンプを持つイベントを拒否します。 |
| -insert.maxPastTimeDrift | duration | 現在時刻からこの値を引いた値よりも過去のタイムスタンプを持つイベントを拒否します。 | |
| -insertNode | array | Guance-insert ノードアドレスリスト(カンマ区切り)。 | |
| -internStringCacheExpireDuration | duration | 6m0s | 文字列インターンキャッシュの有効期限。 |
| -internStringDisableCache | bool | 文字列インターンキャッシュを無効にするかどうか。無効にするとメモリは減少しますが、CPU 使用量が増加します。 | |
| -internStringMaxLen | int | 500 | インターンされる文字列の最大長。値を小さくするとメモリは減少しますが、CPU 使用量が増加します。 |
| -loggerDisableTimestamps | bool | false | ログのタイムスタンプ書き込みを無効にするかどうか。 |
| -loggerErrorsPerSecondLimit | int | 0 | 1 秒あたりのエラーログ制限。制限を超えたエラーは抑制されます。0 は無制限を意味します。 |
| -loggerFormat | string | "default" | ログ形式。"default" または "json" を選択可能。 |
| -loggerJSONFields | string | JSON 形式ログのフィールド名を変更します(例:"ts:timestamp,msg:message")。 | |
| -loggerLevel | string | "INFO" | ログの最低レベル。INFO、WARN、ERROR、FATAL、PANIC をサポートします。 |
| -loggerMaxArgLen | int | 1000 | 単一ログパラメータの最大長。超えた部分は前後置換で表示されます。 |
| -loggerOutput | string | "stderr" | ログ出力先。stderr と stdout をサポートします。 |
| -loggerTimezone | string | "UTC" | ログタイムスタンプに使用されるタイムゾーン。有効な IANA タイムゾーン名である必要があります。 |
| -loggerWarnsPerSecondLimit | int | 0 | 1 秒あたりの警告ログ制限。制限を超えた警告は抑制されます。0 は無制限を意味します。 |
| -memory.allowedBytes | size | 0 | VictoriaMetrics キャッシュが使用できるシステムメモリサイズ。設定すると -memory.allowedPercent を上書きします。 |
| -memory.allowedPercent | float | 60 | VictoriaMetrics キャッシュが使用できるシステムメモリのパーセンテージ。 |
| -metrics.exposeMetadata | bool | false | /metrics ページで TYPE と HELP のメタデータを公開するかどうか。 |
| -metricsAuthKey | value | /metrics エンドポイントの認証キー。ファイルまたは URL からの読み取りをサポートします。 | |
| -pprofAuthKey | value | /debug/pprof/* エンドポイントの認証キー。ファイルまたは URL からの読み取りをサポートします。 | |
| -prevCacheRemovalPercent | float | 0.1 | 前回のキャッシュ内でサービスリクエストの割合がこの値を下回った場合、キャッシュエントリが削除されます。メモリ使用効率は向上しますが、CPU 使用量が増加します。 |
| -pushmetrics.disableCompression | bool | false | メトリクスプッシュ時のリクエストボディ圧縮を無効にするかどうか。 |
| -pushmetrics.extraLabel | array | メトリクスプッシュ時に追加するラベル(例:instance="foo")。 | |
| -pushmetrics.header | array | メトリクスプッシュ時に追加する HTTP リクエストヘッダー。 | |
| -pushmetrics.interval | duration | 10s | メトリクスプッシュの間隔。 |
| -pushmetrics.url | array | メトリクスプッシュ先の URL リスト。 | |
| -queryPermitRatio | float | 1 | 許可されるクエリリクエストの割合。 |
| -replicationFactor | array | 1 | 各サンプルのレプリカ数。key:value 形式をサポートします。 |
| -retentionFilters.cleanInterval | duration | 360h | 期限切れデータをクリーンアップする間隔。 |
| -retentionFilters.config | string | 保持フィルタ設定ファイルのパス。 | |
| -retentionFilters.configCheckInterval | duration | 1h | 保持フィルタ設定ファイルの変更検出間隔。 |
| -scopeDB.dbName | string | "scopedb" | ScopeDB データベース名。 |
| -scopeDB.dumpIngestBody | bool | false | 失敗時に書き込み内容を出力するかどうか。 |
| -scopeDB.ensureJob | bool | false | 確実なジョブ機能を有効にするかどうか。 |
| -scopeDB.indexCacheTTL | duration | 5m | ScopeDB インデックスキャッシュの TTL。 |
| -scopeDB.maxConcurrentIndexRequests | int | 32 | 最大同時インデックスリクエスト数。 |
| -scopeDB.node | array | ScopeDB ノードアドレスリスト。 | |
| -scopeDB.nodegroup.ctl | string | "query-meta" | コントロールプレーンノードグループ名。 |
| -scopeDB.nodegroup.detailQuery | string | "detail-query" | 非集約クエリノードグループ名。 |
| -scopeDB.nodegroup.job | string | "job" | ジョブ実行ノードグループ名。 |
| -scopeDB.nodegroup.largeQuery | string | "large-query" | 大規模クエリノードグループ名。 |
| -scopeDB.nodegroup.query | string | "query" | 通常クエリノードグループ名。 |
| -scopeDB.nodegroup.systemQuery | string | "system-query" | "func" や "kodo" などのリファラーからのシステムクエリノードグループ名。 |
| -scopeDB.nodesUpdateInterval | duration | 10s | ノード更新間隔。 |
| -scopeDB.onlyUseBootstrapNodes | bool | false | ブートストラップノードのみを使用するかどうか。 |
| -scopeDB.password | string | ScopeDB パスワード。 | |
| -scopeDB.port | uint | 6543 | ScopeDB ポート。 |
| -scopeDB.storage.accessKeyID | string | ScopeDB ストレージアクセスキー ID。 | |
| -scopeDB.storage.bucket | string | ScopeDB ストレージバケット。 | |
| -scopeDB.storage.endpoint | string | ScopeDB ストレージサービスエンドポイント。 | |
| -scopeDB.storage.prefix | string | ScopeDB ストレージプレフィックス。 | |
| -scopeDB.storage.region | string | ScopeDB ストレージリージョン。 | |
| -scopeDB.storage.secretAccessKey | string | ScopeDB ストレージシークレットアクセスキー。 | |
| -scopeDB.storage.type | string | ScopeDB ストレージタイプ。 | |
| -scopeDB.username | string | ScopeDB ユーザー名。 | |
| -search.cacheTimestampOffset | duration | 5m | クエリ応答データの最大時間オフセット。クロック同期の問題による応答の欠落を回避します。 |
| -search.compatibleMode | bool | false | Prometheus 互換モードを有効にします。 |
| -search.debugThrottler | bool | false | スロットラーのデバッグを行います。 |
| -search.denyPartialResponse | bool | false | データの一貫性を優先して部分応答を拒否するかどうか。 |
| -search.disableCache | bool | false | 応答キャッシュを無効にします。過去データのバックフィルに適しています。 |
| -search.disableImplicitConversion | bool | false | 暗黙的なサブクエリ変換関連のクエリを無効にします。 |
| -search.dorisColdQueryCPULimit | int | 4 | コールドデータクエリの SQL 変数 CPU 制限。 |
| -search.dorisDisableADBC | bool | false | ADBC ではなく Thrift を優先します。 |
| -search.dorisDisableSampling | bool | false | サンプリングを無効にします。 |
| -search.dorisEnableSmallColdGroup | bool | false | 小規模なコールドクエリに専用のワーカグループを使用します。 |
| -search.dorisLargeColdQueryRowCount | int | 非推奨。search.minRowsForLargeQuery を使用してください。 | |
| -search.dorisMaxCursorRows | int | 50000000 | カーソルクエリの最大スキャン行数。 |
| -search.dorisMaxLiteralArraySize | int | 1000 | 配列リテラルの最大要素数。 |
| -search.dorisMaxOrderingRows | int | カスタム順序クエリの最大スキャン行数。 | |
| -search.dorisMaxRowsForOrder | int | 非時間列の ORDER BY で使用する最大行数。 | |
| -search.dorisMaxSamplingRows | int | 非推奨。search.numRowsToSample を使用してください。 | |
| -search.dorisThrottlerURL | string | スロットラー API アドレス。 | |
| -search.latencyOffset | duration | 30s | データポイントが収集されてからクエリ結果に表示可能になるまでの遅延時間。クエリパラメータ latency_offset で上書き可能です。小さすぎるとクエリ結果の最後のデータポイントが不完全になる可能性があります。 |
| -search.logImplicitConversion | bool | 暗黙的なサブクエリ変換のクエリを記録するかどうか。詳細は 暗黙的変換の説明 を参照してください。-search.disableImplicitConversion で無効にできます。 | |
| -search.logQueryMemoryUsage | size | 524288000 (500MB) | 指定されたメモリ使用量を超えるクエリを記録します。大規模クエリの検出と最適化に役立ちます。デフォルトでは無効です。KB、MB、GB などの単位をサポートします。 |
| -search.maxConcurrentRequestsPerTenant | int | 5 | テナントあたりの最大同時クエリリクエスト数。高すぎると CPU とメモリリソースが逼迫します。 |
| -search.maxExportDuration | duration | 720h (30日) | /api/v1/export インターフェースの最大呼び出し時間。 |
| -search.maxGroups | int | 100000 | クエリ結果で許可される最大グループ数。 |
| -search.maxLabelsAPIDuration | duration | 5s | /api/v1/labels、/api/v1/label/.../values、/api/v1/series インターフェースの最大応答時間。 |
| -search.maxLimit | int | 10000 | クエリ結果で許可される最大行数。 |
| -search.maxLookback | duration | 動的検出 | Prometheus の -search.lookback-delta と同義。max_lookback パラメータで上書き可能です。クエリのルックバック時間ウィンドウに影響します。 |
| -search.maxMemoryPerQuery | size | 0 | 単一クエリで許可される最大メモリ。超過すると実行が拒否されます。KB、MB、GB などの単位をサポートします。 |
| -search.maxMetrics | int | 10000000 | 非推奨。-search.maxShowUniqueTimeseries と -search.maxQueryUniqueTimeseries に移行してください。 |
| -search.maxPointsPerTimeseries | int | 30000 | /api/v1/query_range が返す単一時系列あたりの最大データポイント数。主にグラフ描画クライアントのポイント数を制限します。 |
| -search.maxPointsSubqueryPerTimeseries | int | 100000 | サブクエリが各時系列に対して生成する最大データポイント数。詳細は関連ブログを参照してください。 |
| -search.maxQueryDuration | duration | 30s | クエリの最大実行時間。 |
| -search.maxQueryLen | size | 16384 (16KB) | クエリ文の最大長。KB、MB などの単位をサポートします。 |
| -search.maxQueryUniqueTimeseries | int | 300000 | /api/v1/query クエリで選択可能な最大ユニーク時系列数。メモリ使用量を制限します。 |
| -search.maxQueueDuration | duration | 10s | 最大同時リクエスト数制限に達した場合のリクエストの最大待機時間。 |
| -search.maxResponseSeries | int | 0 (無制限) | /api/v1/query と /api/v1/query_range が返す最大時系列数。0 は無制限を意味します。 |
| -search.maxSamplesPerQuery | int | 1000000000 | 単一クエリがスキャンする最大サンプル数。大規模クエリによるリソース枯渇を防ぎます。 |
| -search.maxSamplesPerSeries | int | 30000000 | 各時系列がスキャンする最大サンプル数。 |
| -search.maxSeriesPerAggrFunc | int | 1000000 | 集約関数が生成できる最大時系列数。 |
| -search.maxShowUniqueTimeseries | int | 10000000 | show 関数が表示できる最大時系列数。メモリ使用量を制限します。 |
| -search.maxStalenessInterval | duration | 動的に計算 | スターリネス計算の最大時間間隔。デフォルトではサンプルの中間隔に基づいて自動計算されます。 |
| -search.maxStatusRequestDuration | duration | 5m0s | /api/v1/status/* リクエストの最大応答時間。 |
| -search.maxStepForPointsAdjustment | duration | 1m0s | /api/v1/query_range インターフェースで、現在時刻から latencyOffset 未満のポイントを調整する際の最大 step。 |
| -search.maxWorkersPerQuery | int | 2 | 単一クエリで使用可能な最大 CPU コア数。パフォーマンス調整のために変更可能。物理 CPU コア数を超えることはできません。 |
| -search.minRowsForLargeQuery | int | 10000000 | 大規模クエリの最小スキャン行数。 |
| -search.minStalenessInterval | duration | スターリネス計算の最小時間間隔。サンプリング間隔の不規則性によるグラフの切れ目を除去するために使用されます。 | |
| -search.minTimeRangeForLargeQuery | duration | 12h0m0s | 大規模クエリの最小時間範囲。 |
| -search.minWindowForInstantRollupOptimization | duration | 3h | ルックバックウィンドウ付きの即時クエリに対してキャッシュ最適化を有効にする最小ウィンドウ値。 |
| -search.noStaleMarkers | bool | false | データベースに Prometheus スターリンマーカーがない場合、true に設定すると CPU リソースを節約できます。 |
| -search.queryStats.lastQueriesCount | int | 20000 | /api/v1/status/top_queries で追跡する最近のクエリ数。0 は無効を意味します。 |
| -search.queryStats.minQueryDuration | duration | 1ms | 統計に記録される最小クエリ時間しきい値。この時間未満のクエリは無視されます。 |
| -search.resetRollupResultCacheOnStartup | bool | false | 起動時にロールアップ結果キャッシュをリセットするかどうか。 |
| -search.rowsToSample | int | 10000000 | サンプリングクエリの最大スキャン行数。 |
| -search.rowsToSampleForFacet | int | 10000000 | show_x_field または distinct クエリの最大スキャン行数。 |
| -search.scopeDB.firstCursorScanRows | int | 10000000 | カーソルページネーションクエリ時の最初のスキャン最大行数。 |
| -search.scopeDB.logQuery | bool | true | scopeDB のクエリ文を記録するかどうか。 |
| -search.scopeDB.maxLiteralArraySize | int | 1000 | 配列リテラルの最大要素数。 |
| -search.scopeDB.maxRowsForOrder | int | 100000 | 非時間列の order by 最大行数。 |
| -search.scopeDB.maxTimeRange | duration | クエリの最大時間範囲。 | |
| -search.setLookbackToStep | bool | false | lookback を step パラメータに固定するかどうか。クエリモデルを InfluxDB に近づけます。有効にすると -search.maxLookback と -search.maxStalenessInterval は無視されます。 |
| -search.skipSlowReplicas | bool | false | クエリ時にレプリケーションファクター内で最も遅い vmstorage ノードをスキップするかどうか。クエリ速度が向上する可能性がありますが、データが不完全になるリスクがあります。 |
| -search.treatDotsAsIsInRegexps | bool | false | 正規表現でドット文字をフィルタリングするかどうか。このオプションは非推奨です。graphite 構文の使用を推奨します。 |
| -slowQueryDuration | duration | 1s | この時間を超えるクエリはスロークエリとして記録されます。 |
| -storageNode | array | guance-storage ノードアドレス配列。カンマ区切りまたは複数回指定。 | |
| -streamaggr.cleanupInterval | duration | 10m0s | 期限切れクエリのクリーンアップ間隔。 |
| -streamaggr.dataBlocksCacheSize | int | 157286400 (150MB) | データブロックキャッシュサイズ。 |
| -streamaggr.ignoreContinuousCheck | bool | false | 連続性チェックを無視するかどうか。 |
| -streamaggr.indexBlocksCacheSize | int | 52428800 (50MB) | インデックスブロックキャッシュサイズ。 |
| -streamaggr.queryRetentionPeriod | duration | 168h0m0s (7日) | クエリ保持期間。 |
| -streamaggr.retentionMonths | int | 6 | ストリーム集約データの保持月数。 |
| -streamaggr.selectVerify | bool | false | ストリーム集約結果を検証するかどうか。 |
| -tls | array | なし | 指定された -httpListenAddr に対して TLS(HTTPS)を有効にするかどうか。このパラメータを設定する場合は、-tlsCertFile と -tlsKeyFile も同時に設定する必要があります。カンマ区切りまたは複数回設定をサポートします。空の値は false とみなされます。 |
| -tlsCertFile | array | なし | -httpListenAddr に対応する TLS 証明書ファイルのパス。RSA 証明書は低速なため、代わりに ECDSA 証明書の使用を推奨します。証明書ファイルは毎秒自動的に再読み取りされ、動的に更新できます。複数の値をサポートします。 |
| -tlsCipherSuites | array | なし | オプションの TLS 暗号スイートリスト。TLS 有効時の HTTPS リクエストに使用されます。複数の値をサポートします。詳細なサポートリストは以下を参照:https://pkg.go.dev/crypto/tls#pkg-constants |
| -tlsKeyFile | array | なし | -httpListenAddr に対応する TLS 鍵ファイルのパス。鍵ファイルは毎秒自動的に再読み取りされ、動的に更新できます。複数の値をサポートします。 |
| -tlsMinVersion | array | なし | TLS の最低バージョン制限(オプション)。TLS10、TLS11、TLS12、TLS13 をサポートします。複数の値をサポートします。 |
| -version | パラメータなし | なし | VictoriaMetrics のバージョン情報を表示します。 |
| -vmstorageDialTimeout | duration | 3s | vmselect が vmstorage との RPC 接続を確立する際のタイムアウト。詳細は -vmstorageUserTimeout を参照。 |
| -vmstorageUserTimeout | duration | 3s | vmselect と vmstorage 間の RPC 接続のネットワークタイムアウト(Linux のみ)。値を低くすると、ネットワーク障害時の最大クエリ時間が短縮されます。詳細は TCP_USER_TIMEOUT の説明を参照。 |
| -zipkin.batchSize | int | 100 | 1 回のバッチ送信で送信する最大 Span 数。 |
| -zipkin.bufferSize | int | 10000 | バッファリングする最大 Span 数。 |
| -zipkin.endpoint | string | なし | Zipkin コレクターのエンドポイント URL(例:http://localhost:9529)。 |
| -zipkin.flushPeriod | duration | 1s | 最大フラッシュ間隔。 |
| -zipkin.serviceName | string | guance-select | Zipkin Span で使用されるサービス名。 |
Guance Insert パラメータ説明¶
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
| -blockcache.missesBeforeCaching | int | 2 | キャッシュブロックがキャッシュに入れられるまでのキャッシュミス回数。値を大きくするとキャッシュサイズが減少する可能性がありますが、CPU とディスク読み取りが増加します。 |
| -cacheExpireDuration | duration | 30m0s | メモリキャッシュ内のデータが、アクセスされずに一定期間経過すると削除されます。値を小さくするとメモリ使用量が減少しますが、CPU 使用率が増加します。 |
| -denyQueryTracing | なし | なし | クエリトレース機能を無効にするかどうか。詳細:https://docs.victoriametrics.com/#query-tracing |
| -disableInflux | なし | true | Influx 形式のサポートを無効にするかどうか。 |
| -disableRerouting | なし | true | データの再ルーティングを無効にするかどうか。一部の vmstorage の書き込み速度が遅い場合に再ルーティングが発生する可能性があります。この機能を無効にすると、ローリング再起動時のアクティブ時系列を減らすことができます。 |
| -disableReroutingOnUnavailable | なし | なし | vmstorage ノードが利用不可の場合に再ルーティングを無効にするかどうか。無効にすると、ノードが利用不可の場合にデータ書き込みが停止し、再起動やシーケンスの急激な変更時の影響を軽減できます。 |
| -doris.cacheDataPath | string | /data/file-queue | キャッシュファイルのパス。 |
| -doris.coldDataTierOnly | なし | なし | コールドデータストレージ層のみを使用します。 |
| -doris.debugIndexName | string | default | デバッグログを追加する indexName。 |
| -doris.debugMeasurement | string | なし | デバッグログを追加する measurement。 |
| -doris.debugNamespace | string | なし | デバッグログを追加する namespace。 |
| -doris.debugTenantID | uint | なし | デバッグログを追加するテナント ID(accountID)。 |
| -doris.disableBFOnNewTables | なし | なし | 新しいテーブルでブルームフィルターを有効にしません。 |
| -doris.disableKeepAlives | なし | なし | stream load で keep-alive を無効にします。 |
| -doris.disableUnicodeTokenizer | なし | なし | Unicode トークナイザーの代わりに Chinese トークナイザーを使用します。 |
| -doris.enableBFOnOldTables | なし | なし | 古いテーブルでブルームフィルターを有効にします。 |
| -doris.enableFileCacheTTL | なし | なし | クラウドデータベース SelectDB データキャッシュを有効にします:https://help.aliyun.com/document_detail/2638759.html |
| -doris.enableWarmDataTier | なし | なし | ホット+コールドモードの代わりにホット+ウォームストレージモードを有効にします。 |
| -doris.forceFlushInterval | duration | 30s | 非イベントデータの強制フラッシュ間隔。 |
| -doris.indexCacheTTL | duration | 30m0s | doris インデックスキャッシュの TTL。 |
| -doris.loadToSingleTablet | なし | なし | stream load リクエストで load_to_single_tablet ヘッダーを使用します。 |
| -doris.maxCacheSize | size | 0 | 非推奨。fileQueue.maxTotalSize を使用してください。キャッシュデータの総バイト数の上限。 |
| -doris.maxConcurrentInserts | int | なし | 非推奨。fileQueue.workers を使用してください。 |
| -doris.maxFieldCount | size | 512 | 各 measurement で許可される最大フィールド数。KB、MB、GB などの単位をサポートします。 |
| -doris.maxFieldSize | size | 33554432 | 単一フィールドの最大バイトサイズ。KB、MB、GB などの単位をサポートします。 |
| -doris.maxSizePerRequest | size | 0 | 非推奨。fileQueue.maxFileSize を使用してください。1 回の解析における単一行の最大サイズ。 |
| -doris.onlyQueryFE | なし | なし | 有効にすると、FE ノードからのみデータをクエリし、BE に直接アクセスしません。 |
| -doris.onlyWriteFE | なし | なし | 有効にすると、FE ノードにのみデータを書き込み、BE に直接書き込みません。 |
| -doris.replicationFactor | int | 1 | Doris テーブルのレプリケーションファクター。 |
| -doris.sampleIndexName | string | なし | sample インデックス名。 |
| -doris.sampleInsertRatio | int | なし | sample 書き込み比率。 |
| -doris.sampleInterval | value | 1s | sample 間隔時間。s/m/h/d/w/y を単位としてサポートします。デフォルトは月単位。 |
| -doris.sampleNamespace | string | なし | sample 名前空間。 |
| -doris.sampleTenantID | string | なし | sample テナント ID。 |
| -doris.storageResource | string | s3_default | Doris で使用されるストレージポリシーのリソース名。 |
| -doris.variantSchemaMode | string | なし | スキーマモード。'none'、'minimal'、'full' をサポートします。 |
| -dorisCluster | string | default_cluster | Doris クラスタ名。 |
| -dorisFENode | array | なし | Doris-FE ノードアドレス(複数はカンマ区切り)。 |
| -dorisHTTPPort | int | 8030 | Doris の HTTP ポート。 |
| -dorisMySQLPort | int | 9030 | Doris の MySQL ポート。 |
| -dorisPassword | string | なし | Doris 接続パスワード。 |
| -dorisUsername | string | root | Doris 接続ユーザー名。 |
| -dropSamplesOnOverload | なし | なし | vmstorage ノードが過負荷または利用不可の場合、クラスタの可用性を維持するためにサンプルを破棄するかどうか。この操作はレプリケーション前に実行されるため、注意して使用してください。 |
| -enableTCP6 | なし | なし | IPv6 でのリスニングとダイヤルを有効にするかどうか。デフォルトでは IPv4 のみ有効。 |
| -envflag.enable | なし | なし | 環境変数からパラメータを読み取ることを許可するかどうか。コマンドライン引数が優先されます。詳細:https://docs.victoriametrics.com/#environment-variables |
| -envflag.prefix | string | なし | 環境変数のプレフィックス(-envflag.enable と併用する必要があります)。 |
| -fileQueue.maxFileSize | size | 104857600 | file queue 内の単一ファイルの最大サイズ(デフォルト 100MB)。 |
| -fileQueue.maxTotalSize | size | 3758096384 | file queue の総サイズ上限(デフォルト 3.5GB)。 |
| -fileQueue.workers | int | 8 | ScopeDB または Doris への同時挿入の最大スレッド数。 |
| -filedb.maxFileSize | int | 10485760 | filedb の最大ファイルサイズ(デフォルト 10MB)。 |
| -filestream.disableFadvise | なし | なし | fadvise() システムコールを無効にするかどうか。大きなファイルの読み取り時に、最近アクセスされたデータが OS キャッシュから追い出されるのを防ぐために使用されます。 |
| -flagsAuthKey | value | なし | /flags インターフェースの認証キー。ファイルまたは URL から読み取り可能。 |
| -fs.disableMmap | なし | なし | mmap() を無効にし、pread() を使用してデータファイルを読み取るかどうか。64 ビットシステムではデフォルトで mmap() が有効。 |
| -gcolumnCompressLevel | int | なし | guance column プロトコルの圧縮レベル。値が大きいほど圧縮率は高いが CPU を消費。負の値は CPU 使用量を減らすがネットワーク転送量が増加。 |
| -http.connTimeout | duration | 2m0s | HTTP 接続タイムアウト。ロードバランサーがトラフィックを均等に分散するのに役立ちます。0 はタイムアウトなし。 |
| -http.disableResponseCompression | なし | なし | HTTP 応答の圧縮を無効にして CPU を節約するかどうか。デフォルトでは圧縮が有効でネットワーク帯域幅を節約。 |
| -http.header.csp | string | なし | Content-Security-Policy ヘッダーの値を設定。推奨値:"default-src 'self'"。 |
| -http.header.frameOptions | string | なし | X-Frame-Options ヘッダーの値を設定。 |
| -http.header.hsts | string | なし | Strict-Transport-Security ヘッダーの値を設定。推奨値:"max-age=31536000; includeSubDomains"。 |
| -http.idleConnTimeout | duration | 1m0s | アイドル HTTP 接続のタイムアウト。 |
| -http.maxGracefulShutdownDuration | duration | 7s | HTTP サービスのグレースフルシャットダウンの最大待機時間。高負荷サーバーではより大きな値が必要な場合があります。 |
| -http.pathPrefix | string | なし | すべての HTTP パスのプレフィックス。例:/foo/bar に設定すると、すべてのパスがこれで始まり、リバースプロキシに便利。 |
| -http.shutdownDelay | duration | なし | HTTP サービスシャットダウン前の遅延時間。この間、/health インターフェースは非 OK を返し、ロードバランサーにトラフィックの切り替えを通知。 |
| -httpAuth.password | value | なし | HTTP Basic Auth パスワード。ユーザー名が空の場合は有効になりません。ファイルまたは URL からの読み込みをサポート。 |
| -httpAuth.username | string | なし | HTTP Basic Auth ユーザー名。空の場合は有効になりません。-httpAuth.password と併用する必要があります。 |
| -httpListenAddr | array | なし | HTTP サービスリスニングアドレス。複数のアドレスをサポート。 |
| -httpListenAddr.useProxyProtocol | array | false | -httpListenAddr で受信した接続にプロキシプロトコルを使用するかどうか。有効にすると、HTTP サーバーは /metrics エンドポイントを提供できなくなります。代わりに -pushmetrics.url を使用してメトリクスをプッシュしてください。カンマ区切りまたは複数回設定をサポート。空の値は false。 |
| -influx.defaultBatchLinesCount | size | 16 | InfluxDB 解析時の各バッチのデフォルト行数。単位サフィックス:KB、MB、GB、TB、KiB、MiB、GiB、TiB。 |
| -influx.defaultBatchSize | size | 1048576 | InfluxDB 解析時の各バッチのデフォルトバイトサイズ。単位サフィックス:KB、MB、GB、TB、KiB、MiB、GiB、TiB。 |
| -insert.maxFutureTimeDrift | duration | 1h0m0s | データ挿入時に、イベントのタイムスタンプが現在時刻にこの値を加えたものより未来の場合、拒否されます。 |
| -insert.maxPastTimeDrift | duration | データ挿入時に、イベントのタイムスタンプが現在時刻からこの値を引いたものより過去の場合、拒否されます。 | |
| -insertNode | array | guance-insert ノードのアドレスを指定。複数はカンマ区切り。引用符または括弧で囲まれた値をサポート。 | |
| -internStringCacheExpireDuration | duration | 6m0s | インターンされた文字列キャッシュの有効期限。詳細:https://en.wikipedia.org/wiki/String_interning |
| -internStringDisableCache | false | インターンされた文字列キャッシュを無効にするかどうか。メモリ使用量を削減する可能性がありますが、CPU 使用率が増加します。 | |
| -internStringMaxLen | int | 500 | インターンされる文字列の最大長。小さい値を設定するとメモリ使用量が削減される可能性がありますが、CPU 使用率が増加します。 |
| -loggerDisableTimestamps | false | ログのタイムスタンプ記録を無効にするかどうか。 | |
| -loggerErrorsPerSecondLimit | int | 1 秒あたりに出力を許可する ERROR ログ数。超過したログは抑制されます。0 は無制限。 | |
| -loggerFormat | string | default | ログ形式。default、json から選択可能。 |
| -loggerJSONFields | string | JSON ログのフィールド名を変更。例:"ts:timestamp,msg:message"。サポートされるフィールド:ts、level、caller、msg。 | |
| -loggerLevel | string | INFO | ログ出力の最低レベル。INFO、WARN、ERROR、FATAL、PANIC から選択可能。 |
| -loggerMaxArgLen | int | 1000 | 単一ログパラメータの最大長。超過したパラメータは前後を切り詰めて表示(例:'arg_start..arg_end')。 |
| -loggerOutput | string | stderr | ログ出力先。stderr、stdout をサポート。 |
| -loggerTimezone | string | UTC | ログのタイムスタンプに使用するタイムゾーン。IANA 標準形式(例:America/New_York、Etc/GMT+3、Local)である必要があります。 |
| -loggerWarnsPerSecondLimit | int | 1 秒あたりに出力を許可する WARN ログ数。超過したログは抑制されます。0 は無制限。 | |
| -maxConcurrentInserts | int | 24 | 許可される最大同時挿入リクエスト数。デフォルト値はほとんどの状況で適切です。ネットワークが遅い場合は適宜増やしてください。 |
| -maxInsertRequestSize | size | 134217728 | 1 回の gcolumn 挿入リクエストの最大バイトサイズ。単位サフィックス:KB、MB、GB、TB、KiB、MiB、GiB、TiB。 |
| -maxLabelValueLen | int | 16384 | 受信する時系列のラベル値の最大長。超過部分は切り捨てられ、同時に /metrics ページの vm_too_long_label_values_total メトリクスが増加します。 |
| -maxLabelsPerTimeseries | int | 256 | 各時系列で許可される最大ラベル数。超過したラベルは破棄され、対応する /metrics ページのメトリクス vm_metrics_with_dropped_labels_total が増加します。 |
| -memory.allowedBytes | size | 0 | VictoriaMetrics キャッシュが占有できるシステムメモリの上限(バイト)。この値が 0 でない場合、-memory.allowedPercent を上書きします。小さすぎるとキャッシュミス率が増加し、大きすぎると OS のページキャッシュに影響を与える可能性があります。 |
| -memory.allowedPercent | float | 60 | VictoriaMetrics キャッシュが占有できるシステムメモリのパーセンテージ。小さすぎると CPU とディスク IO が増加し、大きすぎるとページキャッシュに影響を与える可能性があります。 |
| -metrics.exposeMetadata | false | /metrics ページで TYPE と HELP のメタデータを公開するかどうか。一部のシステム(Google Cloud Managed Prometheus など)ではこの情報が必要です。 | |
| -metricsAuthKey | value | /metrics エンドポイントの認証キー。authKey クエリパラメータで渡されます。ファイルまたは URL からのキー読み取りをサポート。 | |
| -pprofAuthKey | value | /debug/pprof/* の認証キー。authKey クエリパラメータで渡されます。ファイルまたは URL からのキー読み取りをサポート。 | |
| -prevCacheRemovalPercent | float | 0.1 | 古いキャッシュのヒット率がこの値を下回った場合に削除されます。値が高いほどメモリ使用量は減少しますが、CPU 使用量が増加する可能性があります。 |
| -pushmetrics.disableCompression | false | 各 -pushmetrics.url へのメトリクスプッシュ時のリクエストボディ圧縮を無効にするかどうか。 | |
| -pushmetrics.extraLabel | array | 各 -pushmetrics.url にプッシュする追加ラベル。例:-pushmetrics.extraLabel='instance="foo"'。カンマ、引用符、括弧をサポート。 |
|
| -pushmetrics.header | array | 各 -pushmetrics.url へのプッシュリクエスト時に送信する HTTP ヘッダー。例:Authorization: Basic foobar。カンマ、引用符、括弧をサポート。 |
|
| -pushmetrics.interval | duration | 10s | 各 -pushmetrics.url へのメトリクスプッシュ間隔。 |
| -pushmetrics.url | array | /metrics ページデータのプッシュ先アドレスを指定。デフォルトではプッシュしません。複数のアドレスと複雑な構文をサポート。 | |
| -relabelConfig | string | リライトルール設定ファイルのパス(ローカルまたは http アドレス)を指定。SIGHUP シグナルを受信すると自動的にリロードされます。詳細:https://docs.victoriametrics.com/#relabeling | |
| -replicationFactor | int | 1 | データのレプリカ数。つまり、各データが異なる -storageNode にコピーされる数。この値が 1 より大きい場合、vmselect で重複除去のために -dedup.minScrapeInterval=1ms を設定する必要があります。 |
| -retentionFilters.cleanInterval | duration | 360h0m0s | 期限切れデータをクリーンアップする間隔。 |
| -retentionFilters.config | string | 保持ポリシー設定ファイルのパス。 | |
| -retentionFilters.configCheckInterval | duration | 1h0m0s | 保持ポリシー設定ファイルの更新を確認する間隔。 |
| -rpc.disableCompression | false | vminsert から vmstorage へのデータ送信時の圧縮を無効にするかどうか。無効にすると CPU 使用量は減少しますが、ネットワーク帯域幅の使用量が増加します。 | |
| -scopeDB.dbName | string | scopedb | ScopeDB データベース名。 |
| -scopeDB.dumpIngestBody | false | 挿入失敗時にリクエストボディ内容を出力するかどうか。 | |
| -scopeDB.ensureJob | false | ensure job を有効にするかどうか。 | |
| -scopeDB.indexCacheTTL | duration | 5m0s | ScopeDB インデックスキャッシュの生存時間。 |
| -scopeDB.maxConcurrentIndexRequests | int | 32 | ScopeDB で許可される最大同時インデックスリクエスト数。 |
| -scopeDB.maxFieldCount | size | 512 | 各インデックスの最大フィールド数。 |
| -scopeDB.maxFieldSize | size | 33554432 | 単一 gcolumn フィールドの最大バイト数。 |
| -scopeDB.node | array | ScopeDB ノードのアドレスリスト。複数の形式をサポート。 | |
| -scopeDB.nodegroup.ctl | string | ingest-meta | コントロールプレーンで使用する ScopeDB ノードグループ。 |
| -scopeDB.nodegroup.ingest | string | ingest | データ書き込みに使用する ScopeDB ノードグループ。 |
| -scopeDB.nodesUpdateInterval | duration | 10s | ScopeDB ノード情報の更新間隔。 |
| -scopeDB.onlyUseBootstrapNodes | bool | false | ブートストラップノードのみを使用するかどうか。 |
| -scopeDB.password | string | ScopeDB のアクセスパスワード。 | |
| -scopeDB.port | uint | 6543 | ScopeDB のアクセスポート。 |
| -scopeDB.username | string | ScopeDB のユーザー名。 | |
| -search.debugThrottler | bool | false | スロットラーのデバッグ。 |
| -search.denyPartialResponse | bool | false | 部分応答を拒否するかどうか(一貫性を優先し、可用性を犠牲にします)。 |
| -search.dorisColdQueryCPULimit | int | 4 | コールドデータクエリで使用する Doris CPU 制限。 |
| -search.dorisDisableADBC | bool | false | ADBC を無効にするかどうか(Thrift を優先)。 |
| -search.dorisDisableSampling | bool | false | サンプリングを無効にするかどうか。 |
| -search.dorisEnableSmallColdGroup | bool | false | 小規模なコールドクエリに専用のワーカグループを有効にする。 |
| -search.dorisMaxCursorRows | int | 50000000 | カーソルクエリでスキャンする最大行数。 |
| -search.dorisMaxLiteralArraySize | int | 1000 | リテラル配列の最大要素数。 |
| -search.dorisMaxOrderingRows | int | カスタム順序のクエリでスキャンする最大行数。 | |
| -search.dorisMaxRowsForOrder | int | 非時間列でソートする最大行数。 | |
| -search.dorisThrottlerURL | string | Throttler の API アドレス。 | |
| -search.logQueryMemoryUsage | size | 524288000 | 指定されたメモリ使用量を超えるクエリを記録。 |
| -search.maxExportDuration | duration | 720h0m0s | /api/v1/export リクエストの最大持続時間。 |
| -search.maxGroups | int | 100000 | クエリ結果で許可される最大グループ数。 |
| -search.maxLabelsAPIDuration | duration | 5s | /api/v1/labels、/api/v1/label/.../values、/api/v1/series リクエストの最大持続時間。 |
| -search.maxLimit | int | 10000 | クエリ結果で許可される最大行数。 |
| -search.maxMemoryPerQuery | size | 0 | 単一クエリで許可される最大メモリ。超過するとクエリは拒否されます。 |
| -search.maxQueryDuration | duration | 30s | クエリ実行の最大持続時間。 |
| -search.maxStatusRequestDuration | duration | 5m0s | /api/v1/status/* リクエストの最大持続時間。 |
| -search.minTimeRangeForLargeQuery | duration | 12h0m0s | 大規模クエリがスキャンする最小時間範囲。 |
| -search.scopeDB.firstCursorScanRows | int | 10000000 | カーソルページネーションクエリでスキャンする行数。 |
| -search.scopeDB.logQuery | bool | true | ScopeDB クエリ文を記録するかどうか。 |
| -search.scopeDB.maxLiteralArraySize | int | 1000 | リテラル配列の最大要素数。 |
| -search.scopeDB.maxRowsForOrder | int | 100000 | 非時間列でソートする最大行数。 |
| -search.scopeDB.maxTimeRange | duration | クエリの最大時間範囲。 | |
| -sortLabels | bool | false | ストレージに書き込むラベルをソートするかどうか。メモリ使用量を削減しますが、書き込みパフォーマンスが低下する可能性があります。 |
| -storageNode | array | guance-storage ノードアドレスリスト。複数の形式をサポート。 | |
| -streamaggr.cleanupInterval | duration | 10m0s | 期限切れクエリのクリーンアップ間隔。 |
| -streamaggr.dataBlocksCacheSize | int | 157286400 | データブロックキャッシュサイズ(バイト)。 |
| -streamaggr.ignoreContinuousCheck | bool | false | 連続チェックを無視するかどうか。 |
| -streamaggr.indexBlocksCacheSize | int | 52428800 | インデックスブロックキャッシュサイズ(バイト)。 |
| -streamaggr.insertVerify | bool | false | streamaggr 検証モードを有効にする。 |
| -streamaggr.queryRetentionPeriod | duration | 168h0m0s | クエリ保持期間。 |
| -streamaggr.replay | bool | false | streamaggr リプレイモードを有効にする。 |
| -streamaggr.retentionMonths | int | 6 | ストリーム集約データの保持月数。 |
| -streamaggrDataPath | string | データ保存パス。 | |
| -tls | array | 指定された httpListenAddr に対して TLS を有効にするかどうか。-tlsCertFile と -tlsKeyFile の設定が必要。 | |
| -tlsCertFile | array | TLS 証明書ファイルのパス。動的更新をサポート。 | |
| -tlsCipherSuites | array | オプションの TLS 暗号スイートリスト。 | |
| -tlsKeyFile | array | TLS 鍵ファイルのパス。動的更新をサポート。 | |
| -tlsMinVersion | array | TLS の最小バージョン(TLS10、TLS11、TLS12、TLS13)。 | |
| -usePromCompatibleNaming | bool | false | サポートされていない Prometheus 文字をアンダースコアに置き換えるかどうか。 |
| -version | bool | false | VictoriaMetrics バージョン情報を表示。 |
| -vmstorageDialTimeout | duration | 3s | vminsert から vmstorage への RPC 接続確立タイムアウト。 |
| -vmstorageUserTimeout | duration | 3s | vminsert から vmstorage へのネットワークタイムアウト(Linux 専用)。 |
| -zipkin.batchSize | int | 100 | 1 バッチで送信する最大 span 数。 |
| -zipkin.bufferSize | int | 10000 | バッファリングする最大 span 数。 |
| -zipkin.endpoint | string | Zipkin コレクターのエンドポイント URL。 | |
| -zipkin.flushPeriod | duration | 1s | 最大フラッシュ間隔。 |
| -zipkin.serviceName | string | guance-insert | Zipkin Span で使用されるサービス名。 |
Guance Storage パラメータ説明¶
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
| -bigMergeConcurrency | int | なし | 非推奨:このパラメータは機能しなくなりました。 |
| -blockcache.missesBeforeCaching | int | 2 | キャッシュブロックがキャッシュに入れられるまでのキャッシュミス回数。値を大きくすると indexdb/dataBlocks キャッシュサイズが減少する可能性がありますが、CPU とディスク読み取り操作が増加します。 |
| -cacheExpireDuration | duration | 30m0s | メモリキャッシュ内でアクセスされていないエントリがこの時間経過後に削除されます。値を低くするとメモリ使用量が減少する可能性がありますが、CPU 使用量が増加します。詳細は -prevCacheRemovalPercent を参照。 |
| -dedup.minScrapeInterval | duration | なし | 各時系列について、指定された離散間隔内で最後のサンプルのみを保持します。0 より大きい値を設定する必要があります。重複除去ドキュメントを参照。 |
| -denyQueriesOutsideRetention | bool | false | 設定された -retentionPeriod 範囲外のデータへのクエリを拒否するかどうか。有効にすると、/api/v1/query_range は期間外のクエリに対して 503 エラーを返します。 |
| -denyQueryTracing | bool | false | クエリトレース機能を無効にするかどうか。クエリトレースドキュメントを参照。 |
| -enableTCP6 | bool | false | IPv6 でのリスニングとダイヤルを有効にするかどうか。デフォルトでは IPv4 のみ有効。 |
| -envflag.enable | bool | false | 環境変数からパラメータを読み取ることを有効にするかどうか。コマンドライン引数が優先されます。有効にしない場合、コマンドラインからのみ読み取られます。環境変数ドキュメントを参照。 |
| -envflag.prefix | string | なし | -envflag.enable が有効な場合の環境変数プレフィックス。 |
| -filestream.disableFadvise | bool | false | 大きなファイルの読み取り時に fadvise() システムコールを無効にするかどうか。この呼び出しは、最近アクセスされたデータがシステムキャッシュから追い出されるのを防ぎます。一部のケースでは無効にすることで CPU 使用量を削減できます。 |
| -finalMergeDelay | duration | なし | 非推奨:このパラメータは機能しなくなりました。 |
| -flagsAuthKey | value | なし | /flags エンドポイントの認証キー。authKey クエリパラメータで渡す必要があります。ファイルまたは HTTP(S) URL からのキー値の読み取りをサポート。 |
| -forceFlushAuthKey | value | なし | /internal/force_flush ページに必要な認証キー。ファイルまたは HTTP(S) URL からの読み取りをサポート。 |
| -forceMergeAuthKey | value | なし | /internal/force_merge ページに必要な認証キー。ファイルまたは HTTP(S) URL からの読み取りをサポート。 |
| -fs.disableMmap | bool | false | データファイルの読み取りに mmap() の代わりに pread() を使用するかどうか。64 ビットアーキテクチャではデフォルトで mmap()、32 ビットアーキテクチャではデフォルトで pread()。mmap() は小さなデータブロックの読み取りで高速です。 |
| -http.connTimeout | duration | 2m0s | -httpListenAddr への接続タイムアウト時間。ロードバランサーがリクエストを均等に分散するのに役立ちます。0 の値はタイムアウトを無効にします。 |
| -http.disableResponseCompression | bool | false | HTTP 応答の圧縮を無効にするかどうか。デフォルトでは圧縮が有効でネットワーク帯域幅を節約します。無効にすると CPU を節約できます。 |
| -http.header.csp | string | "default-src 'self'" | HTTP ヘッダー Content-Security-Policy を設定します。推奨値は "default-src 'self'"。 |
| -http.header.frameOptions | string | なし | HTTP ヘッダー X-Frame-Options を設定します。 |
| -http.header.hsts | string | "max-age=31536000; includeSubDomains" | HTTP ヘッダー Strict-Transport-Security を設定します。推奨値は例の通り。 |
| -http.idleConnTimeout | duration | 1m0s | HTTP アイドル接続のタイムアウト時間。 |
| -http.maxGracefulShutdownDuration | duration | 7s | HTTP サーバーのグレースフルシャットダウンの最大待機時間。高負荷サーバーではこの値を大きくすることを推奨します。 |
| -http.pathPrefix | string | なし | すべての HTTP パスにプレフィックスを追加します。例えばプロキシ経由でアクセスする場合のパスプレフィックス。関連ドキュメントを参照。 |
| -http.shutdownDelay | duration | なし | HTTP サーバーシャットダウン前の遅延。この間 /health は非 OK 状態を返し、ロードバランサーがリクエストを切り替えるのに役立ちます。 |
| -httpAuth.password | value | なし | HTTP 基本認証パスワード。ユーザー名が設定されていない場合、認証は無効になります。ファイルまたは HTTP(S) URL からの読み取りをサポート。 |
| -httpAuth.username | string | なし | HTTP 基本認証ユーザー名。設定されていない場合、認証は無効になります。 |
| -httpListenAddr | array | なし | HTTP リスニングアドレス。カンマまたは複数回のパラメータで指定可能。複雑な形式をサポート。 |
| -httpListenAddr.useProxyProtocol | array | false | 指定されたリスニングアドレスでプロキシプロトコルを有効にするかどうか。有効にすると、通常の /metrics エンドポイントを使用できなくなります。HAProxy ドキュメントを参照。 |
| -inmemoryDataFlushInterval | duration | 5s | メモリデータをディスクに永続化する間隔。異常シャットダウンに備えてデータを保存します。間隔が大きいほどフラッシュメモリの寿命は延びますが、小さいほどディスク IO 負荷が高くなります。最小 1 秒。 |
| -insert.maxQueueDuration | duration | 1m0s | 最大同時挿入に達した場合の、挿入リクエストのキュー内最大待機時間。 |
| -internStringCacheExpireDuration | duration | 6m0s | 文字列インターンキャッシュの有効期限。文字列インターン機構を参照。 |
| -internStringDisableCache | bool | false | 文字列インターンキャッシュを無効にするかどうか。無効にするとメモリは減少しますが、CPU 使用量が増加します。 |
| -internStringMaxLen | int | 500 | 文字列インターンの最大長。低い値はメモリを節約しますが、CPU 使用量が増加します。 |
| -logNewSeries | bool | false | 新しい時系列のログを記録するかどうか。デバッグ専用で、パフォーマンスに影響を与える可能性があります。 |
| -loggerDisableTimestamps | bool | なし | ログのタイムスタンプ書き込みを無効にするかどうか。 |
| -loggerErrorsPerSecondLimit | int | 0 | 1 秒あたりに許可される最大 ERROR ログ数。この値を超えるエラーログは抑制されます。0 は無制限。 |
| -loggerFormat | string | "default" | ログ形式。選択可能な値:default、json(デフォルトは "default")。 |
| -loggerJSONFields | string | なし | JSON 形式のログでフィールド名を変更します。例:"ts:timestamp,msg:message" は "ts" を "timestamp" に、"msg" を "message" に変更します。サポートされるフィールド:ts、level、caller、msg。 |
| -loggerLevel | string | "INFO" | 最低ログレベル。選択可能な値:INFO、WARN、ERROR、FATAL、PANIC(デフォルトは "INFO")。 |
| -loggerMaxArgLen | int | 1000 | 単一ログパラメータの最大長。この長さを超えるパラメータは、前後部分が 'arg_start..arg_end' のように切り詰めて表示されます。前後部分の長さは -loggerMaxArgLen / 2 を超えません。 |
| -loggerOutput | string | "stderr" | ログ出力先。サポートされる値:stderr、stdout(デフォルトは "stderr")。 |
| -loggerTimezone | string | "UTC" | ログのタイムスタンプに使用するタイムゾーン。タイムゾーンは有効な IANA タイムゾーン名(例:America/New_York、Europe/Berlin、Etc/GMT+3、Local)である必要があります(デフォルトは "UTC")。 |
| -loggerWarnsPerSecondLimit | int | 0 | 1 秒あたりに許可される最大 WARN ログ数。この値を超える警告ログは抑制されます。0 は無制限。 |
| -maxConcurrentInserts | int | 4 | 最大同時挿入リクエスト数。クライアントのネットワークが遅い場合は増やすことができます。デフォルト値は CPU コア数に基づいて設定され、一般的に適切です。詳細は -insert.maxQueueDuration を参照。 |
| -memory.allowedBytes | size | 0 | VictoriaMetrics キャッシュが占有できるシステムメモリサイズ(バイト)。0 以外の値を設定すると -memory.allowedPercent を上書きします。値が低すぎるとキャッシュミス率が増加し、CPU とディスク IO が増加します。KB、MB、GB などの単位サフィックスをサポート。 |
| -memory.allowedPercent | float | 60 | VictoriaMetrics キャッシュが占有できるシステムメモリのパーセンテージ。詳細は -memory.allowedBytes を参照。低すぎるとキャッシュミス率が増加し、高すぎるとディスク IO が増加する可能性があります。 |
| -metrics.exposeMetadata | bool | なし | /metrics ページで TYPE と HELP のメタデータを公開するかどうか。一部のシステム(Google Cloud Managed Prometheus など)ではこの情報が必要です。 |
| -metricsAuthKey | string | なし | /metrics インターフェースの認証キー。authKey クエリパラメータで渡され、httpAuth.* 設定よりも優先されます。ファイルまたは HTTP/HTTPS URL から読み取り可能。 |
| -pprofAuthKey | string | なし | /debug/pprof/* インターフェースの認証キー。authKey クエリパラメータで渡され、httpAuth.* 設定よりも優先されます。ファイルまたは HTTP/HTTPS URL から読み取り可能。 |
| -precisionBits | int | 64 | 各値の保存精度ビット数。ビット数が低いほど圧縮率は高くなりますが、精度の損失が大きくなります(デフォルト 64)。 |
| -prevCacheRemovalPercent | float | 0.1 | 現在のキャッシュのサービスリクエスト割合がこの値を下回った場合、前回のキャッシュからエントリが削除されます。この値を上げるとメモリ使用量は減少しますが、CPU 使用量が増加します。詳細は -cacheExpireDuration を参照。 |
| -pushmetrics.disableCompression | bool | なし | すべての -pushmetrics.url にプッシュするリクエストボディの圧縮を無効にするかどうか。 |
| -pushmetrics.extraLabel | array | なし | すべての -pushmetrics.url にプッシュするメトリクスに追加のラベルを追加します。例:-pushmetrics.extraLabel='instance="foo"'。配列と複数回の設定をサポート。 |
| -pushmetrics.header | array | なし | すべての -pushmetrics.url に送信する HTTP リクエストヘッダー。例:-pushmetrics.header='Authorization: Basic foobar'。配列と複数回の設定をサポート。 |
| -pushmetrics.interval | duration | 10s | すべての -pushmetrics.url にメトリクスをプッシュする間隔。 |
| -pushmetrics.url | array | なし | メトリクスをプッシュするリモート URL リスト。デフォルトではプッシュしません。 |
| -retentionFilters.cleanInterval | duration | 360h | 期限切れデータをクリーンアップする間隔。 |
| -retentionFilters.config | string | なし | 保持フィルタ設定ファイルのパス。 |
| -retentionFilters.configCheckInterval | duration | 1h | 保持フィルタ設定ファイルの変更確認間隔。 |
| -retentionPeriod | value | 1 | データ保持期間。この期間を超えたデータは自動的に削除されます。単位 s、m、h、d、w、y をサポート。 |
| -retentionTimezoneOffset | duration | 0 | indexdb ローテーションのタイムゾーンオフセット。0 は UTC 4 時を意味します。 |
| -rpc.disableCompression | bool | false | vmstorage から vmselect へのデータ圧縮を無効にするかどうか。無効にすると CPU は減少しますが、ネットワーク帯域幅が増加します。 |
| -search.maxConcurrentRequests | int | 4 | vmstorage が処理できる最大の vmselect 同時リクエスト数。 |
| -search.maxQueueDuration | duration | 10s | リクエストの最大待機時間。 |
| -search.maxTagKeys | int | 100000 | 1 回の検索で返される最大タグキー数。 |
| -search.maxTagValues | int | 100000 | 1 回の検索で返される最大タグ値数。 |
| -search.maxUniqueTimeseries | int | 0 | クエリ時にスキャン可能な最大ユニーク時系列数。0 は無制限。 |
| -smallMergeConcurrency | int | (非推奨) | 非推奨。現在は機能しません。 |
| -snapshotAuthKey | string | なし | /snapshot* ページのアクセス認証キー。ファイルまたは URL からの読み取りをサポート。 |
| -snapshotCreateTimeout | duration | (非推奨) | 非推奨。機能しません。 |
| -snapshotsMaxAge | value | 0 | この時間を超えたスナップショットを自動的に削除します。単位 s、m、h、d、w、y をサポート。 |
| -storage.cacheSizeIndexDBDataBlocks | size | 0 | indexdb/dataBlocks キャッシュの最大サイズ。 |
| -storage.cacheSizeIndexDBIndexBlocks | size | 0 | indexdb/indexBlocks キャッシュの最大サイズ。 |
| -storage.cacheSizeIndexDBTagFilters | size | 0 | indexdb/tagFiltersToMetricIDs キャッシュの最大サイズ。 |
| -storage.cacheSizeStorageTSID | size | 0 | storage/tsid キャッシュの最大サイズ。 |
| -storage.maxDailySeries | int | 0 | 24 時間以内に追加可能な最大ユニーク系列数。超過した系列は破棄され、ログに記録されます。 |
| -storage.maxHourlySeries | int | 0 | 1 時間以内に追加可能な最大ユニーク系列数。超過した系列は破棄され、ログに記録されます。 |
| -storage.maxSeriesPerSecond | int | 2000 | 1 秒あたりに作成可能な最大系列数。制限を超えると破棄され、ログに記録されます。 |
| -storage.minFreeDiskSpaceBytes | size | 10000000 | ストレージパスに残す最小ディスク容量。これを下回るとストレージはデータの受信を停止します。 |
| -storage.vminsertConnsShutdownDuration | duration | 25s | vminsert 接続をグレースフルにシャットダウンするために必要な時間。シャットダウン速度を制御して負荷変動を軽減します。 |
| -storageDataPath | string | "vmstorage-data" | データ保存パス。 |
| -tls | array | [] | 指定された HTTP リスニングアドレスに対して TLS を有効にするかどうか。証明書と鍵ファイルの同時設定が必要。 |
| -tlsCertFile | array | [] | TLS 証明書ファイルのパス。動的更新をサポート。 |
| -tlsCipherSuites | array | [] | TLS 暗号スイートリスト。 |
| -tlsKeyFile | array | [] | TLS 鍵ファイルのパス。動的更新をサポート。 |
| -tlsMinVersion | array | [] | TLS の最低バージョン要件。TLS10、TLS11、TLS12、TLS13 をサポート。 |
| -version | bool | false | VictoriaMetrics のバージョンを表示。 |
| -vminsertAddr | string | ":8400" | vminsert サービスリスニングアドレス。 |
| -vmselectAddr | string | ":8401" | vmselect サービスリスニングアドレス。 |
