标签:#<标签:0x00007fc41b8d9320>#​​<标签:0x00007fc41b8d9258>#<标签:0x00007fc41b8d9168>#<标签:0x00007fc41b8d9078>

19463331伟德国际Home Assistant加载项:Promtail

GitHub释放项目阶段执照

支持aarch64架构支持AMD64架构支持ARMHF架构支持ARMv7架构支持I386架构

Promtail.是船舶将本地日志内容送到私人的代理Loki.实例或格拉纳兰云。它通常部署到每台具有所需应用程序的计算机。

:Information_source:此插件需要主管版本2021.03.8.因为它依赖于新的JOURIDAD能力刚刚添加。这是当前稳定的释放,截至4/5。如果您还没有更新,请确保首先更新。

打开Home Ass19463331伟德国际istant实例,并显示预先填写的特定存储库URL的添加附加存储库对话框。打开您的Home A19463331伟德国际ssistant实例并显示Supervisor加载项的仪表板。

关于

默认情况下,此插件版本的Promtail将从Systemd Journal尾部日志。这将包括来自所有Addons,Supervisor,Home Assistant,本地日志文件的所有日志19463331伟德国际/分享/ ssl.如果您有特定的附加组件,则将其日志代替文件而不是stdout.

我如何使用它?

Promtail是一种被称为应用程序监控的PLG堆栈的核心部分 -Promtail.Loki.格拉纳纳。我相信很多你已经熟悉GradaMana数据分析和可视化工具社区附加或者在你生命中的一些其他方面使用。

但Grafana也是系统监控的核心。同一家公司还拥有Loki和Promtail,用于从系统中收集和聚合日志和其他指标。然后Grafana可以从Loki中拉到这些信息,以便您可以探索,分析和创建指标和警报。Grafana不是唯一可以从Loki读取的工具,但它通常在这个堆栈中使用,因为它旨在融合在一起。

基本上你可能想要设置的过程是这样的:

  1. 破车尾刮掉你的日志,喂给洛基
  2. Loki聚合和索引并使其API可用
  3. 将Loki添加为Grafana并探索的数据源

伟大的!在哪里的Loki?

还在这个存储库中!你可以找到它这里

还有什么我需要知道的吗?

在制作任何复杂的刮板之前,我建议阅读Loki最佳实践指导。还学习logql.它可以做些什么。刮阶段更少。

除此之外自述www.19463331.com涵盖所有选项。如果您需要帮助,您可以:

  • 在这里评论
  • 打开A.问题在存储库中
  • 寻求帮助#附加组件渠道哈德不和谐(我是CentralCommand#0913那里)。

同样大的感谢@大量的让我知道与杂志这样做的正确方法。提供日记刮削配置,这就是此加载项的用途是现在的默认擦除配置。

HA相关扫描配置示例伟德国际官方app下载苹果版

JOURIDAD支持被释放用于附件,我必须纯粹使用额外的刮块配置,查看日志文件其他插件抽出。我现在不再使用这些JOURIDAD支持存在,但我认为我会分享他们。我认为需要配置额外扫描配置的人可能会发现在他们的处置时有一些其他公平相关的例子(除了Promtail Docs中的内容)有用。伟德国际官方app下载苹果版

CADDY 2访问日志

你可以得到CADDY 2.记录所有访问权限文件你的选择,然后用Promtail刮掉它。将这样的内容添加到您的Caddyfile:

:443 {log {output file /sl/caddy/logs/caddy.log {roll_size 20mib roll_keep_keep_for 168h}}}}

然后,您可以添加如下Scrape配置:

-  Job_Name:Caddy Pipeline_stages: -  JSON:表达式:Level STATUS_CODE:STATUS HOST:REQUEST.HOST时间:TS  - 标签:Strame_code:host: - 时间戳:源:时间格式:UNIX static_configs: - 目标: -  localhost标签:工作:Caddy __Path __:/sl/caddy/logs/caddy.log

这个是结构化的,所以它很好,但其他人更加强硬。

zigbee2mqtt日志

zigbee2mqtt附加组件将其所有日志转化为名为的文件夹日志在它的文件夹中(/ share / zigbee2mqtt / log默认)。这包括它发布的每个MQTT消息。它没有结构化,但它是可削弱的,这是测试时使用的配置:

- job_name: zigbee2mqtt pipeline_stages:正则表达式:表情:“^ (? P <流程> \ S +) \ S + P(? <时间> \ d {4} (?: - \ \ d) {2} \ \ d (?:: \ \ d) {2}): \ S + P(? < >内容。*)的美元-正则表达式:表达式:“^ (?)P < mqtt_event > MQTT发布):\ s +。*$' source: content - labels: stream: mqtt_event: static_configs: - targets: - localhost labels: job: zigbee2mqtt __path__: /share/zigbee2mqtt/log/*/log*.txt
19463331伟德国际家庭助理日志文件

从那以后,这实际上不会再起作用/ config.没有被加顿映射。但我认为这是一个很好的参考,因为弄清楚了有点棘手。这多数顶部的位导致它将堆栈迹线吸收到它们中生成的日志线中。否则将使用堆栈跟踪的每行作为单独的日志条目读取这些日志,这真的很难。

-  Job_Name:homeassistant pipeline_stages: -  multilein:nightline:'^ \ d {4}(?: -  \ d \ d){2} \ d \ d(?:: \ d \ d){2}' - 正则表达式:表达:'^(?s)(?p 
1就像

@Centralcommand.:派对_face:伟大的工作,并感谢您花时间实现这一目标。一旦第稳定监督员在稳定的监督员中,我期待着基于基于Portainer的安装迁移到这一点。

1就像

所以我意识到主管和助理的日志和日记上的不一样。问题在于错误。当HA或supervisor遇到异常时,它会在回溯中每一行写出一个日志条目。这最终在Grafana看起来真的很恶心,因为追溯的每条线都是分开显示的。它颠倒了顺序,像这样:

当我在测试时home-asistant.log.文件我能够用一个解决这个问题多数指示。但现在我真的不确定如何与杂志一起做到这一点。我真的不能让它认识到多数根本指示。即使我已经从一个单一工作中出现了所有日志条目以来,它没有真正的方法可以不同地处理一些日志。

我将不得不思考这个问题。这是你解决的事情,或者你常常与目前令人困惑的回溯生活吗?

啊哈!算出来。这匹配指令允许您为日志的不同子集设置单独的管道。和多数工作正常,但我在彩色代码的开始时缺少逃生序列。因此,在管道阶段将主管和HA日志修复:

pipeline_stages: - 匹配:选择器:'{container_name =〜“homeassistant | hassio_supervisor”}“阶段: -  multilein:nightline:'^ \ x {001b} \ [\ d + m \ d {4}(?: -  \ d\ d){2} \ s + \ d \ d(?:: \ d \ d){2} \ s +'

前进并更新默认配置,以便人们可以使用它。

1就像

这效果很好!我用这个取代了基于自定义Portainer的东西。

我调整了管道阶段配置,以从日志线中提取更多数据。我也使用appdaemon,并从中获取信息。

-  MultiLine:DirectLine:'^ \ d {4}(?: -  \ d \ d){2} \ d \ d(?:: \ d \ d){2}' - 匹配:选择器:'{container_name =“HomeAssistant”}“阶段: -  Regex:表达式:'^。*(?P  [\ d-] +)(?p  [\ d:] +)(?p  [\w] +)\((?p  [\ w] +)\)\ [(?p  [\ w \。] +)\](?p 。+)' - 标签:date_local:time_local:locy:ha_component:消息: - 匹配:选择器:'{container_name =“addon_a0d7b954_appdaemon”}'阶段: - 正则表达式:表达式:'^(?p  [\ d-] +)(?p  [\ d:\。] +)(?p  [\ w] +)(?p  [\ w \。] +):(?p 。+)' - 标签:date_local:time_local:level:appdaemon_component:消息:

好的!虽然有些东西可以了解该配置。当我开始尝试我所做的第一件事时,我深入地挖掘了肮脏的东西,将所有的碎片解析成标签。但随后在某些时候我找到了Loki的最佳实践指导和意识到我将用动态标签为自己创造问题,特别是来自无限价值的人。我实际上最终删除了所有仔细制作的正面表达,并在那点返回你的配置lol。似乎很好地转化为标签,只是查询Grafana的文本内容。

所以你的上面等级很好。Ha_Component.appdaemon_component.可能很好,肯定应该少于1000个价值,我想象那些非常有用。线程我不确定,我没有看到很多独特的价值观,但我不知道界限是什么,也不确定我什么时候能够这样搜索。

date_local.time_local.我肯定会考虑删除作为标签。相反,我认为你应该能够做什么时间戳舞台从该日期/时间值设置日志条目的时间戳。信息我强烈建议删除,因为它是非常长的且完全活跃的。相反,你可以使用输出阶段要将邮件的内容重置为仅限该部分并删除已处理到标签的比特。

这完美无缺。我已经更新了我的配置。谢谢你的提示!

1就像

再会!

我刚刚将Promtail和Loki Addons升级到最新版本。但是,两者都拒绝在升级后开始。我从更改所做的更改为Apparmor看到了更改,这些似乎是问题的原因。

我粘贴了下面的HA日志的相关位。这是关于PROMTAIL,但Loki提供了相同的错误。

21-04-13 07:26:57信息(syncworker_3)[supervisor.docker.interface]更新图像ghcr.io/mdegat01/promtail/amd64:1.3.1至ghcr.io/mdegat01/promtail/amd64:1.5.121-04-13 07:26:57信息(syncworker_3)[supervisor.docker.interface]下载Docker Image GHCR.IO/MDEGAT01/PROMTail/amd64,标签1.5.1。21-04-13 07:27:04信息(syncworker_3)[supervor.docker.interface]停止addon_39bd2704_promtail应用程序21-04-13 07:27:05信息(syncworker_3)[supervisor.docker.interface]清洁addon_39bd2704_promtail应用程序21-04-13 07:27:05信息(mainthread)[supervisor.addons]加载件'39bd2704_promtail'成功更新21-04-13 07:27:05信息(syncworker_1)[supervisor.docker.interface]清理图像:['ghcr.io/mdegat01/promtail/amd64:1.3.1'] 21-04-13 07:27:05信息(mainthread)[supervisor.host.apparmor]添加/更新apparmor个人资料:39bd2704_promtail 21-04-13 07:27:05信息(mainthread)[supervisor.host.services]重新加载本地服务hassio-apparmor.service 21-04-13 07:27:06错误(syncworker_7)[synciSor.docker]无法启动addon_39bd2704_promtail:500服务器HTTP + Docker错误://localhost/v1.41/containers/84d36db00bff465de12016f21aef106c1a5cfcc4f4a888389a58e8065503d8bb9/start:内部服务器错误(“oci运行时创建失败:container_linux.go:370:启动续AINER过程导致:Process_Linux.go:459:Container Init引起:Appl Apparmor Profile:AppArmor无法应用个人资料:写入/ proc / self / attr / exec:没有这样的文件或目录:未知“)

有什么想法吗?

这很奇怪,看起来它根本无法应用个人资料。你的设置是什么样的?你是在何洛斯还是监督?

好的,我看到了一个有关的Apparmor相关问题amd64。我没有看到同一个,但我现在要去上班并推出更新。虽然Apparmor配置文件实际上不会安装,但我无法重现您的问题。我需要一些关于你的系统的信息,我认为尝试弄清楚那里发生了什么。

顺便说一句,只是为了检查,在Supervisor标签中它没有说“不支持的系统”对吗?需要询问,因为我担心主管的东西,而不是基于消息和一些谷歌曲。但是先需要更多信息。

好的,我现在正在推动一个更新,在我通过其中一些工作时删除自定义apparmor配置文件amd64问题。我不确定为什么在此之前没有出现,但它表现得非常不同。

我实际上拥有一个不同的存储库,其中包含我所有的插件的beta版本这里。我将在那里迭代并发布更新,当我这样做时,我会告诉你@大量的并要求您安装它以确保在释放到稳定之前工作正常。Beta版本是完全独立的插件,因此可以携带并运行它们没有对主要版本的影响。

确实是的。我在Ubuntu 20.04 LTS上运行监督HA,不幸的是“不支持”(几年前首次在Ubuntu顶部的首次出现HA时,它没有清楚地说)。所说,我从来没有对其他附加组成的问题,即使我在任何给定的时间在其中〜20次运行。

FWIW似乎最新版本Bump(Apparmor删除)现在修复了这个问题

我并不感到惊讶。我在文档中看到有一种方法可www.19463331.com以为插件添加一个自定义的外观配置文件,他们推荐它以提高安全性。我做的第一件事是寻找其他插件使用这个功能的例子,我发现很少有。伟德国际官方app下载苹果版事实上,在核心插件和社区插件之间,只有一个是自定义的外观配置文件-DNSMASQ.。我猜你也可能有一个问题安装那个问题。

所以我确实更新了测试版。我用更新的apparmor个人资料运行它amd64测试机器有一段时间,所以它应该在理论上工作,但现在我认为有一个更基本的问题。当您在不受支持的系统消息中单击“了解更多”时,它会说什么?Apparmor提到的一件东西吗?