Influxdb 使用XDB中的不同操作对事件计数进行建模

Influxdb 使用XDB中的不同操作对事件计数进行建模,influxdb,Influxdb,我有一个事件流,我正在将其索引到Elasticsearch中,我想使用InfluxDB在Grafana中记录这些事件的度量。流程是这样的: 事件以我想要跟踪的类型进入。事件可以是添加或删除有时,由于某些条件,我可能希望跳过本应添加的事件 如果事件是要添加的,我可能需要索引几个相关事件,并且我很想知道这些相关事件中有多少 离散类型的数量相对较少,我希望能够绘制事件总数以及添加s删除s和跳过s的总数,并按类型以及它们是否为主要事件或相关事件对其进行细分 这是一个使用Go kit/kit/metr

我有一个事件流,我正在将其索引到Elasticsearch中,我想使用InfluxDB在Grafana中记录这些事件的度量。流程是这样的:

  • 事件以我想要跟踪的类型进入。事件可以是添加删除有时,由于某些条件,我可能希望跳过本应添加的事件
  • 如果事件是要添加的,我可能需要索引几个相关事件,并且我很想知道这些相关事件中有多少
离散类型的数量相对较少,我希望能够绘制事件总数以及添加s删除s和跳过s的总数,并按类型以及它们是否为主要事件或相关事件对其进行细分

这是一个使用
Go kit/kit/metrics/influx
的Go服务,它将计数器建模为每个标记集计数的正增量,如下所示

counter := influxProvider.NewCounter("my_counter")
counter.Add(10)
counter.With("error", "false").Add(1)
counter.With("error", "true").Add(1)
counter.With("error", "false").Add(1)
counter.Add(50)
将在下次更新时发出以下在线协议:

my_counter count=60
my_counter,error=true count=1
my_counter,error=false count=2

什么是建模的好方法?最好对添加删除跳过进行单独测量,还是最好对类型动作和相关进行一次事件测量和标记?还是有更好的方法可以做到这一点?

我投票选择一种测量方法,并在类型、动作和相关信息上加上标签。对于少量的离散类型,它不会给数据添加高基数,但允许您在查询中对标记的任何组合进行分组

如果需要的话,您仍然可以随时根据需要为每个标记创建和填充一个度量值,或者使用连续查询自动填充它们

如果每个标签有一个测量值,那么之后就没有简单的方法返回到多标签测量