aws-logging-monitoring/monitoring/gke-metrics-agent.yaml (1,082 lines of code) (raw):

# Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # [START gkeonaws_monitoring_gke_metrics_agent_serviceaccount_gke_metrics_agent] apiVersion: v1 kind: ServiceAccount metadata: name: gke-metrics-agent namespace: kube-system # [END gkeonaws_monitoring_gke_metrics_agent_serviceaccount_gke_metrics_agent] --- # [START gkeonaws_monitoring_gke_metrics_agent_clusterrole_stackdriver_user:gke_metrics_agent] apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: stackdriver-user:gke-metrics-agent namespace: kube-system rules: - apiGroups: - "" resources: - nodes - services - endpoints - pods verbs: - get - list - watch - apiGroups: - '*' resources: - 'serviceaccounts/token' verbs: - 'create' # [END gkeonaws_monitoring_gke_metrics_agent_clusterrole_stackdriver_user:gke_metrics_agent] --- # [START gkeonaws_monitoring_gke_metrics_agent_clusterrolebinding_stackdriver_user:gke_metrics_agent] apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: stackdriver-user:gke-metrics-agent namespace: kube-system roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: stackdriver-user:gke-metrics-agent subjects: - kind: ServiceAccount name: gke-metrics-agent namespace: kube-system # [END gkeonaws_monitoring_gke_metrics_agent_clusterrolebinding_stackdriver_user:gke_metrics_agent] --- # [START gkeonaws_monitoring_gke_metrics_agent_daemonset_gke_metrics_agent] apiVersion: apps/v1 kind: DaemonSet metadata: name: gke-metrics-agent namespace: kube-system labels: app: gke-metrics-agent spec: selector: matchLabels: app: gke-metrics-agent managed-by: stackdriver template: metadata: labels: app: gke-metrics-agent managed-by: stackdriver spec: nodeSelector: kubernetes.io/os: linux containers: # Once gke-metrics-agent image is built with latest google client library that supports # workload identity, remove the addon sidecar. Ref: https://cloud.google.com/anthos/multicluster-management/fleets/workload-identity - name: stackdriver-gke-addon image: gcr.io/gke-multi-cloud-release/gke-addon-sidecar:gke_multicloud.docker_images_20210323_1546_RC00 imagePullPolicy: IfNotPresent command: - /app/cloud/kubernetes/multicloud/addonsidecar/gke_addon_sidecar - --http_server=localhost:9681 - --ksa_name=stackdriver - --ksa_namespace=kube-system - --token_audience=PROJECT_ID.svc.id.goog - --gcp_project_id=PROJECT_ID - --gcp_sts_audience=identitynamespace:PROJECT_ID.svc.id.goog:https://gkehub.googleapis.com/projects/PROJECT_ID/locations/global/memberships/CLUSTER_NAME - name: gke-metrics-agent image: gcr.io/gke-multi-cloud-release/gke-metrics-agent:0.3.12-gke.0 imagePullPolicy: IfNotPresent command: - /otelsvc - --config=/gke-metrics-agent/config.yaml - --log-level=INFO - --metrics-addr=0.0.0.0:8888 ports: - containerPort: 8888 resources: requests: cpu: 50m memory: 50Mi limits: cpu: 100m memory: 500Mi env: - name: GCE_METADATA_HOST value: 127.0.0.1:9681 - name: NODE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName - name: KUBELET_HOST valueFrom: fieldRef: fieldPath: status.hostIP - name: KUBERNETES_SERVICE_HOST value: kubernetes.default.svc.cluster.local volumeMounts: - mountPath: /gke-metrics-agent/ name: gke-metrics-agent-config serviceAccountName: gke-metrics-agent terminationGracePeriodSeconds: 60 tolerations: - key: "CriticalAddonsOnly" operator: "Exists" - key: node-role.gke.io/observability effect: NoSchedule volumes: - name: gke-metrics-agent-config configMap: name: gke-metrics-agent-config updateStrategy: rollingUpdate: maxUnavailable: 1 type: RollingUpdate # [END gkeonaws_monitoring_gke_metrics_agent_daemonset_gke_metrics_agent] --- # [START gkeonaws_monitoring_gke_metrics_agent_configmap_gke_metrics_agent_config] apiVersion: v1 kind: ConfigMap metadata: name: gke-metrics-agent-config namespace: kube-system labels: app: gke-metrics-agent data: config.yaml: |+ exporters: stackdriver/app-metrics: endpoint: monitoring.googleapis.com:443 metric: prefix: external.googleapis.com/prometheus skip_create_descriptor: false resource_mappings: - label_mappings: - source_key: project_id target_key: project_id - source_key: location target_key: location - source_key: cluster_name target_key: cluster_name - source_key: container_name target_key: container_name - source_key: namespace_name target_key: namespace_name - source_key: pod_name target_key: pod_name source_type: k8s_container target_type: k8s_container - label_mappings: - source_key: project_id target_key: project_id - source_key: location target_key: location - source_key: cluster_name target_key: cluster_name - source_key: namespace_name target_key: namespace_name - source_key: pod_name target_key: pod_name source_type: k8s_pod target_type: k8s_pod - label_mappings: - source_key: project_id target_key: project_id - source_key: location target_key: location - source_key: cluster_name target_key: cluster_name - source_key: node_name target_key: node_name source_type: k8s_node target_type: k8s_node stackdriver/metrics: endpoint: monitoring.googleapis.com:443 metric: prefix: kubernetes.io/anthos skip_create_descriptor: true resource_mappings: - label_mappings: - source_key: project_id target_key: project_id - source_key: location target_key: location - source_key: cluster_name target_key: cluster_name - source_key: container_name target_key: container_name - source_key: namespace_name target_key: namespace_name - source_key: pod_name target_key: pod_name source_type: k8s_container target_type: k8s_container - label_mappings: - source_key: project_id target_key: project_id - source_key: location target_key: location - source_key: cluster_name target_key: cluster_name - source_key: namespace_name target_key: namespace_name - source_key: pod_name target_key: pod_name source_type: k8s_pod target_type: k8s_pod - label_mappings: - source_key: project_id target_key: project_id - source_key: location target_key: location - source_key: cluster_name target_key: cluster_name - source_key: node_name target_key: node_name source_type: k8s_node target_type: k8s_node processors: infer_resource: resources: - labels: - name: project_id - name: location - name: cluster_name - name: container_name - name: pod_name - name: namespace_name type: k8s_container - labels: - name: project_id - name: location - name: cluster_name - name: pod_name - name: namespace_name type: k8s_pod - labels: - name: project_id - name: location - name: cluster_name - name: node_name type: k8s_node metric_to_resource: label_mapping: - source_metric_label: anthos_container target_resource_label: container_name - source_metric_label: anthos_pod target_resource_label: pod_name - source_metric_label: anthos_namespace target_resource_label: namespace_name - source_metric_label: anthos_node target_resource_label: node_name resource: labels: cluster_name: CLUSTER_NAME location: CLUSTER_LOCATION project_id: PROJECT_ID receivers: prometheus/app-metrics: config: global: scrape_interval: 1m scrape_configs: - job_name: prometheus-io-endpoints-pod-type kubernetes_sd_configs: - role: endpoints selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_service_annotation_prometheus_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_service_annotation_prometheus_io_path target_label: __metrics_path__ - action: replace regex: (https?) source_labels: - __meta_kubernetes_service_annotation_prometheus_io_scheme target_label: __scheme__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_service_annotation_prometheus_io_port target_label: __address__ - action: keep regex: $NODE_NAME source_labels: - __meta_kubernetes_endpoint_node_name - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: drop regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: (.+) source_labels: - __meta_kubernetes_endpoint_port_name - job_name: prometheus-io-endpoints-container-type kubernetes_sd_configs: - role: endpoints selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_service_annotation_prometheus_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_service_annotation_prometheus_io_path target_label: __metrics_path__ - action: replace regex: (https?) source_labels: - __meta_kubernetes_service_annotation_prometheus_io_scheme target_label: __scheme__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_service_annotation_prometheus_io_port target_label: __address__ - action: keep regex: $NODE_NAME source_labels: - __meta_kubernetes_endpoint_node_name - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - action: keep regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: (.+) source_labels: - __meta_kubernetes_endpoint_port_name - job_name: prometheus-io-pods-pod-type kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_pod_annotation_prometheus_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_pod_annotation_prometheus_io_path target_label: __metrics_path__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_pod_annotation_prometheus_io_port target_label: __address__ - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: drop regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - job_name: prometheus-io-pods-container-type kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_pod_annotation_prometheus_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_pod_annotation_prometheus_io_path target_label: __metrics_path__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_pod_annotation_prometheus_io_port target_label: __address__ - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - action: keep regex: (.+) source_labels: - __meta_kubernetes_pod_container_name prometheus/metrics: config: global: scrape_interval: 1m scrape_configs: - job_name: gke-monitoring-io-endpoints-http-pod-type kubernetes_sd_configs: - role: endpoints metric_relabel_configs: - action: replace source_labels: - namespace target_label: exported_namespace - action: labeldrop regex: namespace relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_path target_label: __metrics_path__ - action: replace regex: (https?) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scheme target_label: __scheme__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_service_annotation_monitoring_gke_io_port target_label: __address__ - action: keep regex: $NODE_NAME source_labels: - __meta_kubernetes_endpoint_node_name - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: drop regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: (.+) source_labels: - __meta_kubernetes_endpoint_port_name - action: keep regex: (^$|^http$) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scheme - job_name: gke-monitoring-io-endpoints-http-container-type kubernetes_sd_configs: - role: endpoints metric_relabel_configs: - action: replace source_labels: - namespace target_label: exported_namespace - action: labeldrop regex: namespace relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_path target_label: __metrics_path__ - action: replace regex: (https?) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scheme target_label: __scheme__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_service_annotation_monitoring_gke_io_port target_label: __address__ - action: keep regex: $NODE_NAME source_labels: - __meta_kubernetes_endpoint_node_name - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - action: keep regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: (.+) source_labels: - __meta_kubernetes_endpoint_port_name - action: keep regex: (^$|^http$) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scheme - job_name: gke-monitoring-io-pods-http-pod-type kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_path target_label: __metrics_path__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_pod_annotation_monitoring_gke_io_port target_label: __address__ - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: drop regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: (^$|^http$) source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_scheme - job_name: gke-monitoring-io-pods-http-container-type kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_path target_label: __metrics_path__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_pod_annotation_monitoring_gke_io_port target_label: __address__ - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - action: keep regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: (^$|^http$) source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_scheme - job_name: gke-monitoring-io-endpoints-https-none-pod-type kubernetes_sd_configs: - role: endpoints metric_relabel_configs: - action: replace source_labels: - namespace target_label: exported_namespace - action: labeldrop regex: namespace relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_path target_label: __metrics_path__ - action: replace regex: (https?) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scheme target_label: __scheme__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_service_annotation_monitoring_gke_io_port target_label: __address__ - action: keep regex: $NODE_NAME source_labels: - __meta_kubernetes_endpoint_node_name - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: drop regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: (.+) source_labels: - __meta_kubernetes_endpoint_port_name - action: keep regex: ^https$ source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scheme - action: drop regex: ^(monitoring-ca|seesaw-ca)$ source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_tls_config scheme: https - job_name: gke-monitoring-io-endpoints-https-none-container-type kubernetes_sd_configs: - role: endpoints metric_relabel_configs: - action: replace source_labels: - namespace target_label: exported_namespace - action: labeldrop regex: namespace relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_path target_label: __metrics_path__ - action: replace regex: (https?) source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scheme target_label: __scheme__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_service_annotation_monitoring_gke_io_port target_label: __address__ - action: keep regex: $NODE_NAME source_labels: - __meta_kubernetes_endpoint_node_name - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - action: keep regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: (.+) source_labels: - __meta_kubernetes_endpoint_port_name - action: keep regex: ^https$ source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_scheme - action: drop regex: ^(monitoring-ca|seesaw-ca)$ source_labels: - __meta_kubernetes_service_annotation_monitoring_gke_io_tls_config scheme: https - job_name: gke-monitoring-io-pods-https-none-pod-type kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_path target_label: __metrics_path__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_pod_annotation_monitoring_gke_io_port target_label: __address__ - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: drop regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: ^https$ source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_scheme - action: drop regex: ^(monitoring-ca|seesaw-ca)$ source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_tls_config scheme: https - job_name: gke-monitoring-io-pods-https-none-container-type kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: true source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_scrape - action: replace regex: (.+) source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_path target_label: __metrics_path__ - action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $$1:$$2 source_labels: - __address__ - __meta_kubernetes_pod_annotation_monitoring_gke_io_port target_label: __address__ - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - action: keep regex: (.+) source_labels: - __meta_kubernetes_pod_container_name - action: keep regex: ^https$ source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_scheme - action: drop regex: ^(monitoring-ca|seesaw-ca)$ source_labels: - __meta_kubernetes_pod_annotation_monitoring_gke_io_tls_config scheme: https - job_name: cadvisor kubernetes_sd_configs: - role: node selectors: - field: metadata.name=$NODE_NAME role: node metric_relabel_configs: - action: keep regex: (/|/kubepods.*|/system.slice/kubelet.service|/system.slice/docker.service|/system.slice/node-problem-detector.service|/system.slice/systemd-journald.service|/system.slice/containerd.service) source_labels: - id relabel_configs: - action: replace regex: ([^:]+)(?::\d+)? replacement: $$1:10255 source_labels: - __address__ target_label: __address__ - replacement: /metrics/cadvisor target_label: __metrics_path__ - action: replace source_labels: - __meta_kubernetes_node_name target_label: anthos_node scheme: http - job_name: core-dns kubernetes_sd_configs: - role: endpoints scheme: http relabel_configs: - action: replace regex: ([^:]+)(?::\d+)? replacement: $$1:9153 source_labels: - __address__ target_label: __address__ - action: keep regex: kube-system source_labels: - __meta_kubernetes_namespace - action: keep regex: kube-dns source_labels: - __meta_kubernetes_service_name - action: keep regex: $NODE_NAME source_labels: - __meta_kubernetes_endpoint_node_name - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - job_name: kube-state-metrics kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: replace regex: ([^:]+)(?::\d+)? replacement: $$1:8080 source_labels: - __address__ target_label: __address__ - action: keep regex: kube-state-metrics source_labels: - __meta_kubernetes_pod_label_k8s_app - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - action: keep regex: kube-state-metrics source_labels: - __meta_kubernetes_pod_container_name scheme: http - job_name: kubelet kubernetes_sd_configs: - role: node selectors: - field: metadata.name=$NODE_NAME role: node relabel_configs: - action: replace regex: ([^:]+)(?::\d+)? replacement: $$1:10255 source_labels: - __address__ target_label: __address__ - action: replace source_labels: - __meta_kubernetes_node_name target_label: anthos_node scheme: http - job_name: stackdriver-log-forwarder kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod metrics_path: /api/v1/metrics/prometheus relabel_configs: - action: keep regex: kube-system source_labels: - __meta_kubernetes_namespace - action: keep regex: stackdriver-log-forwarder source_labels: - __meta_kubernetes_pod_container_name - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - job_name: stackdriver-metadata-agent kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: kube-system source_labels: - __meta_kubernetes_namespace - action: keep regex: stackdriver-metadata-agent source_labels: - __meta_kubernetes_pod_label_app - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - job_name: gke-metrics-agent scheme: http kubernetes_sd_configs: - role: pod selectors: - field: spec.nodeName=$NODE_NAME role: pod relabel_configs: - action: keep regex: kube-system source_labels: - __meta_kubernetes_namespace - action: keep regex: gke-metrics-agent source_labels: - __meta_kubernetes_pod_container_name - action: replace source_labels: - __meta_kubernetes_pod_name target_label: anthos_pod - action: replace source_labels: - __meta_kubernetes_pod_container_name target_label: anthos_container - action: replace source_labels: - __meta_kubernetes_namespace target_label: anthos_namespace use_start_time_metric: false service: pipelines: metrics/app-metrics: exporters: - stackdriver/app-metrics processors: - resource - metric_to_resource - infer_resource receivers: - prometheus/app-metrics metrics/metrics: exporters: - stackdriver/metrics processors: - resource - metric_to_resource - infer_resource receivers: - prometheus/metrics # [END gkeonaws_monitoring_gke_metrics_agent_configmap_gke_metrics_agent_config]