问题标签 [chronograf]
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.
influxdb - 如何在 InfluxDB 2.0 仪表板上获取查询变量?
我阅读了文档https://docs.influxdata.com/influxdb/v2.0/visualize-data/variables/
我认为这将是小菜一碟。
我看一下名为的现有查询变量bucket
:
它返回以下数据:
该bucket
变量有效,我可以在任何仪表板的单元格查询中引用它v.bucket
。
在此示例的基础上,我制作了以下查询:
返回此数据:
我将它保存为一个名为 的查询变量account
。
然后我在仪表板单元格查询中使用它,如下所示:
但这不会返回任何数据。仪表板视图上帐户变量的下拉菜单是空的。
如果我用v.account
变量后面的查询返回的值之一替换上面的内容:
这可以按预期工作并显示一个漂亮的图表。
我在这里想念什么?
解决方案:您不能在变量定义中使用变量。
我
在变量定义中替换
start: v.timeRangeStart, stop: v.timeRangeStop
为:
start: -1d
influxdb - 基于 influxdb 中其他模板变量的动态模板变量值 - chronograf
我有两个模板变量,我希望从下拉列表中选择第一个模板变量后,第二个模板变量应该是基于第一个变量值的动态。
让我用一个例子来说明这个场景:假设我有这个数据:
数据=>系统=10 个
标签=> appName="a", appVersion="1.1"
数据=>系统=12 个
标签=> appName="b", appVersion="2.1"
我已经定义了两个模板变量:appName:和:appVersion: 并且我使用这个元查询获取它们的值
SHOW TAG VALUES ON "db_name" FROM "measurement_name" WITH KEY = appName
SHOW TAG VALUES ON "db_name" FROM "measurement_name" WITH KEY = appVersion
现在每当我选择 :appName: = 'a' 时,我希望 :appVersion: 在下拉列表中只显示“1.1”值。但是 :appVersion: 显示值“1.1”和“2.1”。当我们选择 appName=a 时,我们知道“2.1”值是无用的。
我以为我可以用它来定义:appVersion:
SHOW TAG VALUES ON "db_name" FROM "measurement_name" WITH KEY = appVersion WHERE appName = :appName:
但这不起作用
请帮助我在 chronograf 中实现这种动态/相关变量
ssh - 如何监视日志(Linux)文件并计算字符串出现的次数(如登录尝试失败)以将其添加到 InfluxDB?
我想要什么:我希望能够在 Grafana 或 Chronograf(或任何 InfluxDB 前端)中查看图表,其中包含有关特定字符串何时出现在日志文件中的信息。该图将有两个轴:
- 水平(X):时间
- 垂直 (Y):字符串的出现次数(在此特定时间点)。
这些图表的一些具体示例可以是(Linux 服务器):
- 获取 SSH 登录尝试失败的次数(在安全日志中检查“无效用户的密码失败”)
- 获取 Nginx 日志中 404 个 HTTP 代码的数量。
想法:我已经尝试了几件事,但我找不到任何好的解决方案。
我的第一个想法是使用Rsyslog:
- 将日志添加到 Syslog(或直接在 Syslog 中登录)
- 创建一个 /opt/increase.sh 脚本,该脚本执行 curl -XPOST 到 Influx 添加值“1”。
- 使用 omprog 监控 Syslog,并在每次消息匹配“无效用户的密码失败”(或您想要的字符串)时调用 increase.sh。
我喜欢这个解决方案的地方:
- 您几乎可以实时获得发生次数。
- 非常颗粒状。每个计数的元素都有自己的时间戳。
我不喜欢的:
- 如果我得到足够多的事件(假设一秒钟内发生 20 次),一个执行 + 一个请求对系统来说看起来很重。它可以扩展到我基本上窒息的地步。
第二个想法:计算最后 X 分钟内出现的次数。在这种情况下,我将有一个脚本(occurrences.sh):
- 打印所有日志文件并获取最近 X 分钟内出现的次数(我们假设所有日志条目都有一个 DateTime 值),并计算它们。
- 发送此值,以及有关何时调用occurrences.sh 的时间戳(这将通过 Cron 作业或 Telegraf 执行文件完成)。
我喜欢这个解决方案的地方:
- 如果您有 1 次出现 1000 无关紧要,您向数据库发送单个请求,系统负载/性能不会受到影响。
我不喜欢它的地方:
- 很难更改何时调用脚本(您需要每 X 分钟调用一次并且只读取最后 X 分钟),以避免出现两次读取相同值等错误。
- 你失去了粒度。如果您每 10 分钟阅读一次,并且出现 1000 次,则可能是每分钟 100 次,或者在同一秒内全部出现。你不会知道的。
所以我不确定哪种解决方案会更好,或者如果有人有其他想法或知道任何其他工具,那就太棒了。
谢谢!
telegram - Chronograf - 如何为每个接口的吞吐量绘制图表
到目前为止,我只使用 telegraf 和 chronograf 为网络交换机上的一个接口提取和绘制统计数据。现在我想收集所有接口的所有统计数据并单独绘制它们。这是我的电报配置。
现在在 Choronograf 中,我想知道我的查询应该是什么样子。我使用资源管理器选择“telegraf.autogen -> interface -> host (my_sw) -> ifHCInOctets”,但我认为它显示了所有接口的计数器的总数。这是自动生成的查询
如何编写查询,以便它将每个接口分别绘制在一个具有不同颜色的图形上?我知道我可以为每个界面添加一个选项卡,但我希望有更好的方法来做到这一点。谢谢!地番
influxdb-2 - Chronograf 仪表板迁移到 influxdb2
我目前正在将旧的 TICK 堆栈更新为 influxdb2。我还想在 influxdb 2.1.1 中重用我的 Chronograf 1.9.1 仪表板,但 json 导出似乎不兼容。
是否有仪表板数据的转换器,还是我需要手动重新创建仪表板?