NetApp Kubernetes 모니터링 오퍼레이터 구성 옵션
를 클릭합니다 "NetApp Kubernetes 모니터링 운영자" 설치 및 구성을 사용자 지정할 수 있습니다.
아래 표에는 AgentConfiguration 파일에 사용할 수 있는 옵션이 나와 있습니다.
구성 요소 | 옵션을 선택합니다 | 설명 |
---|---|---|
에이전트 |
운용자가 설치할 수 있는 모든 구성품에 공통으로 적용되는 구성 옵션. 이러한 옵션은 "글로벌" 옵션으로 간주할 수 있습니다. |
|
dockerRepo |
Cloud Insights Docker repo와 비교하여 dockerRepo를 재정의하여 고객의 프라이빗 Docker Repos에서 이미지를 가져올 수 있습니다. 기본값은 Cloud Insights Docker입니다 |
|
dockerImagePullSecret |
선택 사항: 고객의 비공개 리포의 비밀 |
|
클러스터 이름 |
모든 고객 클러스터에서 클러스터를 고유하게 식별하는 자유 텍스트 필드입니다. 이는 Cloud Insights 테넌트 전체에서 고유해야 합니다. 기본값은 고객이 "클러스터 이름" 필드의 UI에 입력하는 것입니다 |
|
프록시 |
프록시를 설정하는 선택 사항입니다. 일반적으로 고객의 기업 대리인입니다. |
|
텔레그라프 |
작업자의 Telegraf 설치를 사용자 정의할 수 있는 구성 옵션 |
|
수집 간격 |
메트릭 수집 간격(초)(최대 = 60초) |
|
dsCpuLimit 를 선택합니다 |
Telegraf DS의 CPU 제한 |
|
dsMemLimit |
Telegraf DS의 메모리 제한 |
|
dsCpuRequest 를 참조하십시오 |
Telegraf DS에 대한 CPU 요청 |
|
dsMemRequest입니다 |
Telegraf DS에 대한 메모리 요청 |
|
rsCpuLimit |
Telegraf RS의 CPU 제한 |
|
메모리 제한 |
Telegraf RS의 메모리 제한 |
|
rsCpuRequest 를 참조하십시오 |
Telegraf RS에 대한 CPU 요청 |
|
rsMemRequest입니다 |
Telegraf RS에 대한 메모리 요청 |
|
dockerMountPoint를 참조하십시오 |
dockerMountPoint 경로에 대한 재정의입니다. 이는 클라우드 파운드리 같은 k8s 플랫폼에 비표준 Docker 설치를 위한 것입니다 |
|
dockerUnixSocket 을 참조하십시오 |
dockerUnixSocket 경로에 대한 재정의입니다. 이는 클라우드 파운드리 같은 k8s 플랫폼에 비표준 Docker 설치를 위한 것입니다. |
|
crioSockPath를 참조하십시오 |
crioSockPath 경로에 대한 재정의입니다. 이는 클라우드 파운드리 같은 k8s 플랫폼에 비표준 Docker 설치를 위한 것입니다. |
|
runPrivileged(권한이 |
권한 모드에서 Telegraf 컨테이너를 실행합니다. k8s 노드에서 SELinux가 설정된 경우 이 값을 TRUE로 설정합니다 |
|
BatchSize(부atchSize) |
을 참조하십시오 "Telegraf 구성 문서" |
|
백혈구 한계 |
을 참조하십시오 "Telegraf 구성 문서" |
|
RoundInterval(라운드 간격 |
을 참조하십시오 "Telegraf 구성 문서" |
|
콜렉션 지터 |
을 참조하십시오 "Telegraf 구성 문서" |
|
정밀도 |
을 참조하십시오 "Telegraf 구성 문서" |
|
FlushInterval(플러시간격 |
을 참조하십시오 "Telegraf 구성 문서" |
|
플러시지터 |
을 참조하십시오 "Telegraf 구성 문서" |
|
출력 제한 시간 |
을 참조하십시오 "Telegraf 구성 문서" |
|
dockerMetricCollectionEnabled를 참조하십시오 |
Docker 메트릭을 수집합니다. 기본적으로 이 옵션은 true로 설정되어 있으며, Docker 기반 k8s 구축 시 Docker 메트릭이 수집됩니다. Docker 메트릭 수집을 해제하려면 FALSE로 설정합니다. |
|
dsTolerations 를 선택합니다 |
텔레그라프 - DS 추가 허용. |
|
RsTolerations를 선택합니다 |
Telegraf-RS 추가 허용. |
|
Kudbe-state-metrics를 나타냅니다 |
작업자의 kudbe 상태 메트릭 설치를 사용자 지정할 수 있는 구성 옵션입니다 |
|
cpuLimit |
kubbe-state-metrics 구축을 위한 CPU 제한입니다 |
|
MemLimit |
kubbe-state-metrics 구축을 위한 MEM 한도 |
|
cpuRequest입니다 |
kubbe 상태 메트릭 구축을 위한 CPU 요청입니다 |
|
MemRequest입니다 |
MEM은 kudo 상태 메트릭 배포를 요청합니다 |
|
리소스 |
캡처할 리소스의 쉼표로 구분된 목록입니다. 예: cronjobs, demonset, 배포, 링스, 작업, 네임스페이스, 노드, persistentvolumeclaims, persistentvolumes, dPOD, replicasets, resourcequotas, 서비스, statefulsets |
|
공차 |
Kudbe-state-metrics 추가 공약입니다. |
|
라벨 |
kuba-state-metrics가 캡처해야 하는 쉼표로 구분된 리소스 목록입니다 예: cronjobs=[*], demonsets=[*], 배포=[*], 링스=[*], 작업=[*], 네임스페이스=[*], 노드=[*], persistentvolumeclaims=[*], persistentvolumes=[*], pod=[*], replicasets=[*], resourcequotas=[*], services=[*], statefulsets=[*] |
|
로그 |
운용자의 로그 수집 및 설치를 사용자 정의할 수 있는 구성 옵션입니다 |
|
readFromHead(readFromHead |
참/거짓, 유창한 비트가 로그에서 로그를 읽어야 합니다 |
|
시간 초과 |
시간 초과(초 |
|
dnsMode를 선택합니다 |
TCP/UDP, DNS 모드 |
|
유창한 비트 내약성 |
Fluent-bit-DS 추가 허용. |
|
이벤트-수출자-내약성 |
이벤트-수출자 추가 허용. |
|
워크로드 맵 |
작업자의 작업량 맵 수집 및 설치를 사용자 정의할 수 있는 구성 옵션입니다 |
|
cpuLimit |
순 관찰자 DS에 대한 CPU 제한입니다 |
|
MemLimit |
순 관찰자 DS에 대한 MEM 한도 |
|
cpuRequest입니다 |
net observer DS에 대한 CPU 요청입니다 |
|
MemRequest입니다 |
net observer DS에 대한 MEM 요청 |
|
MetricAggregationInterval입니다 |
메트릭 집계 간격(초 |
|
bpfPollInterval입니다 |
BPF 폴링 간격(초 |
|
enableDNSLookup |
True/false, DNS 조회를 사용하도록 설정합니다 |
|
L4-공차 |
NET-observer-L4-DS 추가 허용 오차 |
|
runPrivileged(권한이 |
참/거짓 - Kubernetes 노드에서 SELinux가 활성화된 경우 runprivileged 를 true 로 설정합니다. |
|
변경 관리 |
Kubernetes 변경 관리 및 분석에 대한 구성 옵션 |
|
cpuLimit |
change-observer-watch-RS에 대한 CPU 제한값입니다 |
|
MemLimit |
change-observer-watch-RS에 대한 MEM 한계 |
|
cpuRequest입니다 |
change-observer-watch-RS에 대한 CPU 요청입니다 |
|
MemRequest입니다 |
change-observer-watch-RS에 대한 MEM 요청 |
|
FailureDeclarationIntervalMins 를 참조하십시오 |
실패한 워크로드 배포가 실패로 표시되는 간격(분)입니다 |
|
deployAggrIntervalSeconds입니다 |
작업 부하 배포 진행 중 이벤트가 전송되는 빈도입니다 |
|
비작업 로드 AggrIntervalSeconds입니다 |
비워크로드 구축이 결합되고 전송되는 빈도입니다 |
|
TERmsToRedact 를 참조하십시오 |
env 이름 및 데이터 맵에서 사용되는 정규식 집합으로, 값이 교정됩니다 |
|
AditionalKindsToWatch 를 참조하십시오 |
수집기에서 감시하는 기본 종류 집합에서 볼 수 있는 추가 종류의 쉼표로 구분된 목록 |
|
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: ''----