使用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/
目录和设置工作
,圆荚体
,名称空间
而且容器
标签。。要了解更多关于重新标记步骤的信息,请参阅以下文档:
- Promtail
- Grafana代理logs_config(Grafana Agent使用嵌入式Promtail)
部署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已经存在。
相关的Grafana云资源
《普罗米修斯》和《格拉夫纳云》简介
普罗米修斯要接管监控世界了!在本次网络研讨会中,我们将首先快速介绍开源项目,它是监控现代云原生系统的事实上标准。
如何用Grafana Cloud建立和可视化大规模的合成监控
学习如何使用Kubernetes, Grafana Loki和Grafana Cloud的合成监控功能来设置您的基础设施的检查。
使用Grafana Cloud来提高制造工厂的效率
本节GrafanaCONline将讲述Grafana如何帮助一家拥有75年历史的制造公司提高产品质量和设备维护。