时间段度量基数有线行为

时间:2016-02-22 09:00:42

标签: kibana kibana-4 timelion

我正在玩timelion,kibana的插件。 大多数功能在我的数据集上工作正常,除了一个: 基数

在timelion的博客节目

中的演示
import { EJSON } from 'meteor/ejson';

function getOptions(self) {
  const opts = [];
  if (self.global) opts.push('g');
  if (self.ignoreCase) opts.push('i');
  if (self.multiline) opts.push('m');
  return opts.join('');
}

RegExp.prototype.clone = function clone() {
  return new RegExp(this.source, getOptions(this));
};

RegExp.prototype.equals = function equals(other) {
  if (!(other instanceof RegExp)) return false;
  return EJSON.stringify(this) === EJSON.stringify(other);
};

RegExp.prototype.typeName = function typeName() {
  return 'RegExp';
};

RegExp.prototype.toJSONValue = function toJSONValue() {
  return { regex: this.source, options: getOptions(this) };
};

EJSON.addType('RegExp', value => new RegExp(value.regex, value.options));

在我的数据集中,我有一个类似的情况:logs和city_name,我想用city_name替换用户,所以这是我试过的:

.es(*), .es(metric=cardinality:user)

但是第二个图表行中的值都是零,即使我尝试过:

.es(*), .es(metric=cardinality:geoip.city_name)

仍然是相同的结果。 但是当我尝试类似的领域时:

.es(metric=cardinality:geoip.city_name)

效果很好,像"纬度","经度"也适用,但其他字符串提交,如" region_name"," country_name"," timezone"结果都是0。

我能看到的唯一区别是不同的数据类型: 使用float和ip的类型效果很好 字符串类型无法正常工作

我的问题是,是否可以使用字符串字段作为基数。

1 个答案:

答案 0 :(得分:1)

经过深入研究后,结果显示不应分析基数计算所针对的字段,这就是字符串归档失败的原因。 简单地用geoip.ip替换geoip.ip解决了我的问题。