我对 promtail 和 Loki 有疑问,在我的服务器中,我几乎有 10 个 docker 容器在 Prod 和 Dev Environments 上运行。因为我是 Grafana 的新手,所以我想抓取这 10 个 docker 容器日志,并使用 Loki Datasource 在 Grafana 中查看它。
到目前为止我做了什么?
场景 1:使用 loki 和 Promtail 配置文件 Step1:登录 Grafana 云并使用新的 API 密钥创建 Loki 配置
Step2:将以下配置文件粘贴到 /etc/promtail/config.yaml
'server:
# port for the healthcheck
http_listen_port: 0
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
client:
url: https://<user>:<password>@logs-prod-us-central1.grafana.net/api/prom/push
scrape_configs:
- job_name: local
static_configs:
- targets:
- localhost
labels:
job: mrp
__path__: /var/lib/docker/containers/*/*log'
Step3:运行 docker run promtail 命令
docker run --name promtail --volume "$PWD/promtail:/etc/promtail" --volume "/var/lib/docker/containers:/var/lib/docker/containers/" grafana/promtail:master -config.file=/etc/promtail/config.yaml -log.level=debug
第 4 步:我可以查看日志,但在该文件中找不到容器名称、图像名称或任何内容 - 似乎是纯文本。--> 你能帮我解决这个问题吗
场景 2:尝试使用日志驱动程序
第 1 步:在我的服务器中安装日志驱动程序第 2 步:将 docker 粘贴到 /etc/docker/daemon.json 中的命令下方
{
"debug" : true,
"log-driver": "loki",
"log-opts": {
"loki-url": "https://<user_id>:<password>@logs-us-west1.grafana.net/loki/api/v1/push",
"loki-batch-size": "400"
}
}
第 3 步:我需要重新启动 docker 以使守护进程生效,如果这样做,我可能会丢失正在运行的容器,它们将进入兴奋状态 --> 这是一种阻止程序
请帮我解决这个问题提前谢谢