NetApp Kubernetes Monitoring Operatorの設定オプション
。 "NetApp Kubernetes Monitoring Operator" インストールと設定はカスタマイズできます。
次の表に、AgentConfigurationファイルで使用できるオプションを示します。
コンポーネント | オプション | 説明 |
---|---|---|
エージェント |
オペレータがインストールできるすべてのコンポーネントに共通の設定オプション。これらは「グローバル」オプションと見なすことができます。 |
|
dockerrepo |
Cloud Insights Dockerリポジトリと比較して、お客様のプライベートDockerリポジトリからイメージをプルするためのdockerRepoオーバーライド。デフォルトはCloud Insights Dockerリポジトリです |
|
dockerImagePullSecretの略 |
オプション:顧客のプライベートリポジトリのシークレット |
|
クラスタ名 |
すべてのお客様のクラスタ間でクラスタを一意に識別するフリーテキストフィールド。これは、Cloud Insights テナント全体で一意である必要があります。デフォルトでは、UIで[Cluster Name]フィールドに入力します |
|
プロキシ |
プロキシを設定する場合はオプションです。これは通常、顧客の法人代理店です。 |
|
テレグラフ |
オペレータのTelegrafインストールをカスタマイズできる設定オプション |
|
collectionInterval |
指標収集間隔(秒)(最大=60秒) |
|
dsCpuLimit |
Telegraf DSのCPU制限 |
|
dsMemLimit |
Telegraf DSのメモリ制限 |
|
dsCpuRequest |
Telegraf DSのCPU要求 |
|
dsMemRequest |
Telegraf DSのメモリ要求 |
|
rsCpuLimit |
Telegraf RSのCPU制限 |
|
rsMemLimit |
Telegraf RSのメモリ制限 |
|
rsCpuRequest |
Telegraf RSのCPU要求 |
|
rsMemRequest |
テレグラフRSのメモリ要求 |
|
DockerMountPointの略 |
dockerMountPointパスのオーバーライド。これは、クラウドファウンドリなどのKubernetesプラットフォームでの非標準のDockerインストール用です |
|
DockerUnixSocketの略 |
dockerUnixSocketパスのオーバーライド。これは、クラウドファウンドリなどのKubernetesプラットフォームでの非標準のDockerインストール用です。 |
|
crioSockPath |
crioSockPathパスのオーバーライド。これは、クラウドファウンドリなどのKubernetesプラットフォームでの非標準のDockerインストール用です。 |
|
runPrivileged |
特権モードでTelegrafコンテナを実行します。KubernetesノードでSELinuxが有効になっている場合は、このをtrueに設定します |
|
バッチサイズ |
を参照してください "Telegraf設定ドキュメント" |
|
BufferLimit |
を参照してください "Telegraf設定ドキュメント" |
|
RoundIntervalの略 |
を参照してください "Telegraf設定ドキュメント" |
|
collectionJitter |
を参照してください "Telegraf設定ドキュメント" |
|
精度 |
を参照してください "Telegraf設定ドキュメント" |
|
flushInterval(フラッシュ間隔) |
を参照してください "Telegraf設定ドキュメント" |
|
FlushJitter(フラッシュジッタ |
を参照してください "Telegraf設定ドキュメント" |
|
outputTimeout |
を参照してください "Telegraf設定ドキュメント" |
|
dockerMetricCollectionEnabled |
Dockerの指標を収集する。デフォルトでは、この値はtrueに設定されており、オンプレミスのDockerベースのKubernetes環境でDocker指標が収集されます。Dockerのメトリック収集を無効にするには、falseに設定します。 |
|
dsTolerations |
Telegraf-DS追加の許容値。 |
|
rsTolerations |
Telegraf-RS追加許容値。 |
|
kube-state-metricsの略 |
Operatorのkube状態メトリックのインストールをカスタマイズできる設定オプション |
|
cpuLimit |
kube-state-metricsデプロイメントのCPU制限 |
|
memLimit |
kube-state-metrics展開のメモリ制限 |
|
cpuRequest |
kube state metrics deploymentのCPU要求 |
|
MemRequestの略 |
KUBE状態メトリクス展開のためのMEM要求 |
|
リソース |
キャプチャするリソースをカンマで区切ったリスト。 |
|
許容範囲 |
kube-state-metrics追加の許容値。 |
|
ラベル |
kube-state-metricsでキャプチャするリソースをカンマで区切ったリスト 例:cronjobs=[*]、daemonsets=[*]、deployments=[*]、ingresses=[*]、jobs=[*]、namespaces=[*]、nodes=[*]、 persistentvolumeclaims=[*]、persistentvolumes=[*]、pods=[*]、ReplicaSets=[*]、resourcequotas=[*]、services=[*]、statefulsets=[*] |
|
ログ |
オペレータのログ収集とインストールをカスタマイズできる設定オプション |
|
readFromHead |
true / false。fluentビットがheadからログを読み取る必要があります |
|
タイムアウト |
タイムアウト(秒) |
|
DNSMode(DNSMode) |
TCP / UDP、DNSのモード |
|
Fluent-bit-tolerationsの略 |
FLUENT-BIT-DSの追加許容値。 |
|
event-exporter-tolerationsの略 |
イベントエクスポータの追加許容値。 |
|
ワークロードマップ |
作業負荷マップの収集とオペレータのインストールをカスタマイズできる設定オプション |
|
cpuLimit |
ネットオブザーバーDSのCPU制限 |
|
memLimit |
ネットオブザーバDSのメモリ制限 |
|
cpuRequest |
ネットオブザーバーDSのCPU要求 |
|
MemRequestの略 |
ネットオブザーバーDSのMEM要求 |
|
metricAggregationInterval |
メトリック集約間隔(秒単位) |
|
bpfPollIntervalの略 |
BPFポーリング間隔(秒単位) |
|
enableDNSLookup |
trueまたはfalse、DNSルックアップを有効にします |
|
L4 -公差 |
NET-OBSERVER-L4-DS追加許容値。 |
|
runPrivileged |
true/false - KubernetesノードでSELinuxが有効になっている場合は、runPrivilegedをtrueに設定します。 |
|
変更管理 |
Kubernetes Change Management and Analysisの構成オプション |
|
cpuLimit |
change-observer-watch-rsのCPU制限 |
|
memLimit |
change-observer-watch-rsのメモリ制限 |
|
cpuRequest |
change-observer-watch-rsのCPU要求 |
|
MemRequestの略 |
change-observer-watch-rsのMEM要求 |
|
failureDeclarationIntervalMins |
ワークロードの導入に失敗した場合に障害が発生したとマークされる間隔(分) |
|
deployAggrIntervalSeconds |
ワークロード導入を実行中のイベントが送信される頻度 |
|
nonWorkloadAggrIntervalSeconds |
ワークロード以外の導入環境を組み合わせて送信する頻度 |
|
termsToRedact |
値が編集される環境名およびデータマップで使用される一連の正規表現 |
|
AdditionalKindsToWatch |
コレクターが監視するデフォルトの種類のセットから、監視する追加の種類のコンマ区切りリスト |
|
kindsToIgnoreFromWatch |
コレクタが監視するデフォルトの種類のセットから、監視対象から無視する種類のコンマ区切りのリスト |
|
logRecordAggrIntervalSeconds |
コレクタからCIにログレコードを送信する頻度 |
|
ウォッチトレランス |
change-observer-watch-ds追加の許容値。省略された単一行形式のみ。 |
サンプルのAgentConfigurationファイル
次に、AgentConfigurationファイルの例を示します。
apiVersion: monitoring.netapp.com/v1alpha1 kind: AgentConfiguration metadata: name: netapp-monitoring-configuration namespace: "NAMESPACE_PLACEHOLDER" labels: installed-by: nkmo-NAMESPACE_PLACEHOLDER spec: # # You can modify the following fields to configure the operator. # # Optional settings are commented out and include default values for reference # # To update them, uncomment the line, change the value, and apply the updated AgentConfiguration. agent: # # [Required Field] A uniquely identifiable user-friendly clustername. # # clusterName must be unique across all clusters in your Cloud Insights environment. clusterName: "CLUSTERNAME_PLACEHOLDER" # # Proxy settings. The proxy that the operator should use to send metrics to Cloud Insights. # # Please see documentation here: https://docs.netapp.com/us-en/cloudinsights/task_config_telegraf_agent_k8s.html#configuring-proxy-support # proxy: # server: # port: # noproxy: # username: # password: # isTelegrafProxyEnabled: # isFluentbitProxyEnabled: # isCollectorsProxyEnabled: # # [Required Field] By default, the operator uses the CI repository. # # To use a private repository, change this field to your repository name. # # Please see documentation here: https://docs.netapp.com/us-en/cloudinsights/task_config_telegraf_agent_k8s.html#using-a-custom-or-private-docker-repository dockerRepo: 'DOCKER_REPO_PLACEHOLDER' # # [Required Field] The name of the imagePullSecret for dockerRepo. # # If you are using a private repository, change this field from 'docker' to the name of your secret. {{ if not (contains .Values.config.cloudType "aws") }}# {{ end -}} dockerImagePullSecret: 'docker' # # Allow the operator to automatically rotate its ApiKey before expiration. # tokenRotationEnabled: '{{ .Values.telegraf_installer.kubernetes.rs.shim_token_rotation }}' # # Number of days before expiration that the ApiKey should be rotated. This must be less than the total ApiKey duration. # tokenRotationThresholdDays: '{{ .Values.telegraf_installer.kubernetes.rs.shim_token_rotation_threshold_days }}' telegraf: # # Settings to fine-tune metrics data collection. Telegraf config names are included in parenthesis. # # See https://github.com/influxdata/telegraf/blob/master/docs/CONFIGURATION.md#agent # # The default time telegraf will wait between inputs for all plugins (interval). Max=60 # collectionInterval: '{{ .Values.telegraf_installer.agent_resources.collection_interval }}' # # Maximum number of records per output that telegraf will write in one batch (metric_batch_size). # batchSize: '{{ .Values.telegraf_installer.agent_resources.metric_batch_size }}' # # Maximum number of records per output that telegraf will cache pending a successful write (metric_buffer_limit). # bufferLimit: '{{ .Values.telegraf_installer.agent_resources.metric_buffer_limit }}' # # Collect metrics on multiples of interval (round_interval). # roundInterval: '{{ .Values.telegraf_installer.agent_resources.round_interval }}' # # Each plugin waits a random amount of time between the scheduled collection time and that time + collection_jitter before collecting inputs (collection_jitter). # collectionJitter: '{{ .Values.telegraf_installer.agent_resources.collection_jitter }}' # # Collected metrics are rounded to the precision specified. When set to "0s" precision will be set by the units specified by interval (precision). # precision: '{{ .Values.telegraf_installer.agent_resources.precision }}' # # Time telegraf will wait between writing outputs (flush_interval). Max=collectionInterval # flushInterval: '{{ .Values.telegraf_installer.agent_resources.flush_interval }}' # # Each output waits a random amount of time between the scheduled write time and that time + flush_jitter before writing outputs (flush_jitter). # flushJitter: '{{ .Values.telegraf_installer.agent_resources.flush_jitter }}' # # Timeout for writing to outputs (timeout). # outputTimeout: '{{ .Values.telegraf_installer.http_output_plugin.timeout }}' # # telegraf-ds CPU/Mem limits and requests. # # See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ dsCpuLimit: '{{ .Values.telegraf_installer.telegraf_resources.ds_cpu_limits }}' dsMemLimit: '{{ .Values.telegraf_installer.telegraf_resources.ds_mem_limits }}' dsCpuRequest: '{{ .Values.telegraf_installer.telegraf_resources.ds_cpu_request }}' dsMemRequest: '{{ .Values.telegraf_installer.telegraf_resources.ds_mem_request }}' # # telegraf-rs CPU/Mem limits and requests. rsCpuLimit: '{{ .Values.telegraf_installer.telegraf_resources.rs_cpu_limits }}' rsMemLimit: '{{ .Values.telegraf_installer.telegraf_resources.rs_mem_limits }}' rsCpuRequest: '{{ .Values.telegraf_installer.telegraf_resources.rs_cpu_request }}' rsMemRequest: '{{ .Values.telegraf_installer.telegraf_resources.rs_mem_request }}' # # telegraf additional tolerations. Use the following abbreviated single line format only. # # Inspect telegraf-rs/-ds to view tolerations which are always present. # # Example: '{key: taint1, operator: Exists, effect: NoSchedule},{key: taint2, operator: Exists, effect: NoExecute}' # dsTolerations: '' # rsTolerations: '' # # Set runPrivileged to true if SELinux is enabled on your Kubernetes nodes. # runPrivileged: 'false' # # Collect NFS IO metrics. # dsNfsIOEnabled: '{{ .Values.telegraf_installer.kubernetes.ds.shim_nfs_io_processing }}' # # Collect kubernetes.system_container metrics and objects in the kube-system|cattle-system namespaces for managed kubernetes clusters (EKS, AKS, GKE, managed Rancher). Set this to true if you want collect these metrics. # managedK8sSystemMetricCollectionEnabled: '{{ .Values.telegraf_installer.kubernetes.shim_managed_k8s_system_metric_collection }}' # # Collect kubernetes.pod_volume (pod ephemeral storage) metrics. Set this to true if you want to collect these metrics. # podVolumeMetricCollectionEnabled: '{{ .Values.telegraf_installer.kubernetes.shim_pod_volume_metric_collection }}' # # Declare Rancher cluster as managed. Set this to true if your Rancher cluster is managed as opposed to on-premise. # isManagedRancher: '{{ .Values.telegraf_installer.kubernetes.is_managed_rancher }}' # kube-state-metrics: # # kube-state-metrics CPU/Mem limits and requests. By default, when unset, kube-state-metrics has no CPU/Mem limits nor request. # cpuLimit: # memLimit: # cpuRequest: # memRequest: # # Comma-separated list of metrics to enable. # # See metric-allowlist in https://github.com/kubernetes/kube-state-metrics/blob/main/docs/cli-arguments.md # resources: 'cronjobs,daemonsets,deployments,ingresses,jobs,namespaces,nodes,persistentvolumeclaims,persistentvolumes,pods,replicasets,resourcequotas,services,statefulsets' # # Comma-separated list of Kubernetes label keys that will be used in the resources' labels metric. # # See metric-labels-allowlist in https://github.com/kubernetes/kube-state-metrics/blob/main/docs/cli-arguments.md # labels: 'cronjobs=[*],daemonsets=[*],deployments=[*],ingresses=[*],jobs=[*],namespaces=[*],nodes=[*],persistentvolumeclaims=[*],persistentvolumes=[*],pods=[*],replicasets=[*],resourcequotas=[*],services=[*],statefulsets=[*]' # # kube-state-metrics additional tolerations. Use the following abbreviated single line format only. # # No tolerations are applied by default # # Example: '{key: taint1, operator: Exists, effect: NoSchedule},{key: taint2, operator: Exists, effect: NoExecute}' # tolerations: '' # # Settings for the Events Log feature. # logs: # # If Fluent Bit should read new files from the head, not tail. # # See Read_from_Head in https://docs.fluentbit.io/manual/pipeline/inputs/tail # readFromHead: "true" # # Network protocol that Fluent Bit should use for DNS: "UDP" or "TCP". # dnsMode: "UDP" # # Logs additional tolerations. Use the following abbreviated single line format only. # # Inspect fluent-bit-ds to view tolerations which are always present. No tolerations are applied by default for event-exporter. # # Example: '{key: taint1, operator: Exists, effect: NoSchedule},{key: taint2, operator: Exists, effect: NoExecute}' # fluent-bit-tolerations: '' # event-exporter-tolerations: '' # # Settings for the Network Performance and Map feature. # workload-map: # # net-observer-l4-ds CPU/Mem limits and requests. # # See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ # cpuLimit: '500m' # memLimit: '500Mi' # cpuRequest: '100m' # memRequest: '500Mi' # # Metric aggregation interval in seconds. Min=30, Max=120 # metricAggregationInterval: '60' # # Interval for bpf polling. Min=3, Max=15 # bpfPollInterval: '8' # # Enable performing reverse DNS lookups on observed IPs. # enableDNSLookup: 'true' # # net-observer-l4-ds additional tolerations. Use the following abbreviated single line format only. # # Inspect net-observer-l4-ds to view tolerations which are always present. # # Example: '{key: taint1, operator: Exists, effect: NoSchedule},{key: taint2, operator: Exists, effect: NoExecute}' # l4-tolerations: '' # # Set runPrivileged to true if SELinux is enabled on your Kubernetes nodes. # # Note: In OpenShift environments, this is set to true automatically. # runPrivileged: 'false' # change-management: # # change-observer-watch-rs CPU/Mem limits and requests. # # See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ # cpuLimit: '500m' # memLimit: '500Mi' # cpuRequest: '100m' # memRequest: '500Mi' # # Interval in minutes after which a non-successful deployment of a workload will be marked as failed # failureDeclarationIntervalMins: '30' # # Frequency at which workload deployment in-progress events are sent # deployAggrIntervalSeconds: '300' # # Frequency at which non-workload deployments are combined and sent # nonWorkloadAggrIntervalSeconds: '15' # # A set of regular expressions used in env names and data maps whose value will be redacted # termsToRedact: '"pwd", "password", "token", "apikey", "api-key", "jwt"' # # A comma separated list of additional kinds to watch from the default set of kinds watched by the collector # # Each kind will have to be prefixed by its apigroup # # Example: 'authorization.k8s.io.subjectaccessreviews' # additionalKindsToWatch: '' # # A comma separated list of kinds to ignore from watching from the default set of kinds watched by the collector # # Each kind will have to be prefixed by its apigroup # # Example: 'networking.k8s.io.networkpolicies,batch.jobs' # kindsToIgnoreFromWatch: '' # # Frequency with which log records are sent to CI from the collector # logRecordAggrIntervalSeconds: '20' # # change-observer-watch-ds additional tolerations. Use the following abbreviated single line format only. # # Inspect change-observer-watch-ds to view tolerations which are always present. # # Example: '{key: taint1, operator: Exists, effect: NoSchedule},{key: taint2, operator: Exists, effect: NoExecute}' # watch-tolerations: ''----