;Grafana Kubernetes监控;如何;直接部署Grafana Agent;使用Grafana代理船Kubernetes日志

使用Grafana代理船Kubernetes日志

在本指南中,您将把Grafana Agent作为DaemonSet部署到Kubernetes集群中,并配置它为Kubernetes工作负载收集日志。然后将这些日志发送到Grafana Cloud中进行存储,并从托管的Grafana实例中进行查询。

注意:要了解如何收集Kubernetes事件、用事件注释仪表板等等,请参阅如何获得预配置的仪表板和警报

在开始之前

要完成本指南中的步骤,您应该有以下可用的:

  • Kubernetes集群基于角色的访问控制(RBAC)启用。
  • Grafana Cloud帐户。要创建帐户,请参见Grafana云点击免费开始
  • kubectl命令行工具安装在本地计算机上,配置为连接到集群。了解更多kubectl,请参阅Kubernetes文档

配置Grafana Agent

将以下脚本粘贴到您的shell中,并运行它来配置Grafana代理:

cat <<'EOF' | NAMESPACE=default /bin/sh -c 'kubectl apply -n $NAMESPACE -f -' kind: ConfigMap metadata: name: grafana-agent-logs apiVersion: v1 data: agent。yaml: | logs: configs:—name: default clients:—url: YOUR_LOKI_REMOTE_WRITE_URL basic_auth: username: YOUR_LOKI_USERNAME password: YOUR_LOKI_PASSWORD external_labels: cluster: YOUR_CLUSTER_NAME positions: filename: /tmp/positions。Yaml target_config: sync_period: 10s scrape_configs:—job_name: pod-logs kubernetes_sd_configs:—role: pod pipeline_stages:—docker: {} relabel_configs:—source_labels:—__meta_kubernetes_pod_node_name target_label: __host__ - action: labelmap regex: __meta_kubernetes_pod_label_(.+) - action:替换替换:$1 separator: / source_labels:—__meta_kubernetes_namespace - __meta_kubernetes_pod_name target_label: job - action:替换source_labels:—__meta_kubernetes_namespace target_label: namespace—action: replace source_labels:—__meta_kubernetes_pod_name target_label: pod—action: replace source_labels:—__meta_kubernetes_pod_container_name target_label: container—replace: /var/log/pods/*$1/*.log separator: / source_labels:—__meta_kubernetes_pod_container_name target_label: __path__ EOF

如果在上一步中将Agent部署到非默认Namespace中,则需要替换名称空间=违约在此命令中使用新的命名空间。也要确保替换开头的大写变量YOUR_ *有适当的证书。

您可以在云门户中找到您的云日志凭证。您的日志推送端点应该类似于以下内容:https://logs-prod-us-central1.grafana.net/loki/api/v1/push

注意:如果您的K8s集群不使用Docker作为容器运行时,请替换码头工人:{}中国国际广播电台:{}pipeline_stages部分。

配置代理跟踪Pod日志/var/log/pods/目录和设置工作圆荚体名称空间而且容器标签。。要了解更多关于重新标记步骤的信息,请参阅以下文档:

部署Grafana Agent资源

在这一步中,您将在集群中安装Grafana Agent及其所需的资源。

在shell中运行以下命令将Grafana Agent安装到默认的Kubernetes集群的命名空间:

manifest url =https://raw.githubusercontent.com/grafana/agent/release/production/kubernetes/agent-loki.yaml NAMESPACE=default /bin/sh -c "$(curl - ssl https://raw.githubusercontent.com/grafana/agent/release/production/kubernetes/install-bare.sh)"| kubectl应用-f -

这将在集群中安装一个Grafana Agent DaemonSet,并为代理配置RBAC权限。如果要将代理部署到不同的命名空间,请更改名称空间=违约变量,确保该Namespace已经存在。