问题标签 [prometheus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
logging - 使用一些指标导出器 + Prometheus + Grafana 监控日志文件
我需要监控非常不同的日志文件中的错误、成功状态等。我需要使用 Prometheus 获取相应的指标并在 Grafana 中显示 + 设置一些警报。Prometheus + Grafana 还可以,我已经在不同的导出器(如 node_exporter 或 mysql_exporter 等)中大量使用它们。在新的 Grafana 4.x 中发出警报也效果很好。
但是我很难找到合适的导出器/程序,它可以“即时”分析日志文件并从中提取指标。
到目前为止,我尝试过:
- mtail ( https://github.com/google/mtail ) - 有效,但现有版本无法轻松监控更多文件 - 通常它无法将特定 mtail 程序(用于分析的收据)绑定到某些特定日志文件 + 我无法轻松添加日志文件名称到标签
- grok_exporter ( https://github.com/fstab/grok_exporter ) - 有效,但我只能提取有限的信息 + 一个实例只能监控一个日志文件,这意味着我必须在更多端口上启动更多实例并配置它们在普罗米修斯 - 这使得太多新的失败点
- fluentd prometheus 导出器(https://github.com/kazegusuri/fluent-plugin-prometheus) - 有效,但看起来我只能提取非常简单的指标,我无法对日志文件中的行进行任何高级正则表达式分析
这里有没有人有一个真正运行的解决方案,可以使用“一些导出器”+ Prometheus + Grafana 从日志文件中监控高级指标?或者代替导出一些程序,我可以使用 Prometheus 推送网关从中获取结果。谢谢。
prometheus - 如何在普罗米修斯重新标记步骤中替换标签?
我正在使用基于 prometheus 文件的服务发现。但是,当拉入我的服务器列表时,我意识到我的服务的指标端点/prometheus
不是/metrics
我已经看到我可以使用重新标记来解决这个问题。
如何使用重新标记添加标签?
kubernetes - 如何在 kubernetes 环境中扩展 prometheus
我已经到了需要将我的普罗米修斯拆分成更小部分的时刻。我一直在这里读到它,但它并没有说明在 kubernetes 中的扩展。以下是我的设置:
并且大约有 50 个命名空间会产生数千个指标,而当前使用一个 prometheus 的设置是不够的。所以我决定把它分成三个实例,比如:
但是不久之后,我意识到这些指标是由kubernetes_sd_config 抓取的,并且无法判断我想通过哪个普罗米修斯实例来抓取哪些指标,或者我错了。一种解决方案是将 Kubernetes 集群拆分为更小的集群,但目前工作量太大。
所以我的问题是,是否有可能告诉 prometheus 我只想抓取kube 状态指标、节点导出器或原生 kubernetes 指标?
prometheus - prometheus alertmanager 向 DL 组发送邮件
在配置 alertmanager 以向 DL 组成员发送邮件时需要帮助。Alertmanager 正在为单个电子邮件地址工作,但在组电子邮件中失败。从 alertmanager 日志中没有发现错误。
ansible - 通过 ansible 监控 Atomic 主机服务
有没有办法使用 ansible 或 prometheus 持续监控一些主机级服务 docker、kubelet、kube-proxy、flanneld 等?
我不想在我的 Atomic 中安装任何东西。
django - 带有缓存的 Django 模型 count()
我有一个带有 Apache Prometheus 监控和模型的 Django 应用程序,名为Sample
.
我想监控 Sample.objects.count() 指标并将这个值缓存到具体的时间间隔,以避免数据库中昂贵的 COUNT(*) 查询。
从本教程 https://github.com/prometheus/client_python#custom-collectors 我读到我需要编写自定义收集器。
实现这一目标的最佳方法是什么?django 有什么方法可以获取Sample.objects.count()
缓存值并在 K 秒后更新它?我也在我的应用程序中使用 Redis。我应该把这个值存储在那里吗?我应该创建单独的线程来更新Sample.objects.count()
缓存值吗?
prometheus - 如何提醒容器重新启动?
我喜欢使用 Prometheus 和 cAdvisor 监控容器,以便在容器重新启动时收到警报。我想知道是否有人对此有示例 Prometheus 警报。
java - 将执行程序队列大小导出到 Prometheus 的最简单方法
我正在将现有的服务指标迁移到 Prometheus,我正在尝试找到导出现有执行程序指标的最干净的方法:
例如,如果我想公开:
我可以有一个计量器,在向执行者提交新任务时递增,并在完成时递减。但是,这会改变当前的度量行为(并且需要进行相当多的重构)。
相反,如果我将其转换为收集器,那么我会遇到 Prometheus 抱怨#HELP
同一指标存在重复块的事实。(发生这种情况是因为我有多个执行者并且正在使用标签将它们分开)。
go - Sorting Alertmanager email templates in Go templating
I'm trying to customize an Email template from AlertManager that uses a Go html template that prints a list of alerts using the following construct :
It gets inserted into the template like this :
Alert being defined like this :
I would like to do the sorting on the StartsAt field.
I tried using the sort function but it wasn't available in the email template.
I'm getting
Any ideas on how I can get it to sort on StartsAt ?