我是Grafana的新手,从简单的应用程序开始,每秒都会写入数据:
internal class Program
{
private static Logger Logger { get; } = LogManager.GetCurrentClassLogger();
private static void Main(string[] args)
{
Logger.Info("Starting");
Do1();
Logger.Info("Press enter to exit");
Console.ReadKey();
}
private static void Do1()
{
Metrics.Configure(new MetricsConfig
{
StatsdServerName = "metrics.globogames.local",
Prefix = "dev.MetricsTest"
});
var rand = new Random();
for (var i = 0; i < 100000; i++)
{
var val = rand.Next(10000);
Logger.Info(val);
Metrics.GaugeAbsoluteValue("gauge-absolute6", val);
Thread.Sleep(1000);
}
}
}
我使用 Statsd C#Client 来发送数据。因此,我希望每秒钟在我的度量标准“gauge-absolute6”中看到。但我明白这一点:
图表仅包含每分钟的值!如果我使用导出到CSV,我看到相同的图片:
sep=;
Series;Time;Value
stats.gauges.dev.MetricsTest.gauge-absolute6;2018-01-31T07:40:00.000Z;5482
stats.gauges.dev.MetricsTest.gauge-absolute6;2018-01-31T07:41:00.000Z;4344
stats.gauges.dev.MetricsTest.gauge-absolute6;2018-01-31T07:42:00.000Z;7286
stats.gauges.dev.MetricsTest.gauge-absolute6;2018-01-31T07:43:00.000Z;2527
stats.gauges.dev.MetricsTest.gauge-absolute6;2018-01-31T07:44:00.000Z;1744
我的代码,Grafana或我的指标中存在问题吗?
如何查看值的图表每秒?
UPD :
从
更改我的carbon / storage-schemas.conf后[default_1min_for_1day]
pattern = .*
retentions = 60s:1d
[statsd]
pattern = ^stats.*
retentions = 10s:1d,1m:7d,10m:1y
到
[statsd]
pattern = ^stats.*
retentions = 10s:1d,1m:7d,10m:1y
[default_1min_for_1day]
pattern = .*
retentions = 60s:1d
它每隔10秒就会显示出来。但我仍然需要每1秒,所以我尝试这样做
[statsd]
pattern = ^stats.*
retentions = 1s:1d,1m:7d,10m:1y
和diagramm完全消失了!
UPD2 : 我还尝试将StatsD flushInterval:1000 添加到statsd / localConfig.js:
{
graphitePort: 2003
, graphiteHost: "localhost"
, port: 8125
, graphite: {
legacyNamespace: false
}
, flushInterval: 1000
}
是否可以设置期间1 ?
答案 0 :(得分:2)
好的,有我的解决方案。
首先,非常好的回答here
很快:是的,你可以设置1秒钟的时间:
为此,你必须改变2个配置。
1.1。添加规则
[statsd]
pattern = ^stats.*
retentions = 1s:1d,1m:7d,10m:1y
1.2。这种冲击必须在统治所有之前:
[carbon]
pattern = ^carbon\.
retentions = 60:90d
[statsd]
pattern = ^stats.*
retentions = 1s:1d,1m:7d,10m:1y
[default_1min_for_1day]
pattern = .*
retentions = 60s:1d
2.statsd / localConf.js
2.1。添加(或更改)闪光间隔
, flushInterval: 1000
像这样:
{
graphitePort: 2003
, graphiteHost: "localhost"
, port: 8125
, graphite: {
legacyNamespace: false
}
, flushInterval: 1000
}
3。 flushInterval 必须在statsd部分中 EQUAL 保留最小值