nebula-stats服务启动失败

dashboard社区版(1.1.1版本)的nebula-stat服务启动失败,修改配置文件后启动,报:
0819 20:36:33.590030 21467 main.go:92] Providing metrics at :9200/metrics
I0819 20:36:33.828367 21467 exporter.go:90] Start collect
I0819 20:36:33.828391 21467 exporter.go:155] Collect nebula:METAD metad0:19559 Metrics
I0819 20:36:33.828399 21467 exporter.go:155] Collect nebula:GRAPHD graphd0:19669 Metrics
I0819 20:36:33.828403 21467 exporter.go:155] Collect nebula:STORAGED storaged0:19779 Metrics
panic: label value “\xf8\xe7d\x02\x00\x00\x00\x00\x02\x00\x00\x001976@Aa\x9e)\u007f\x00\x00PAa\x9e)\u007f\x00\x00PAa\x9e)\u007f\x00\x009” is not valid UTF-8

goroutine 37 [running]:
github.com/prometheus/client_golang/prometheus.MustNewConstMetric(...)
/Users/liuxinchao/go/pkg/mod/github.com/prometheus/client_golang@v1.9.0/prometheus/value.go:107
github.com/vesoft-inc/nebula-stats-exporter/exporter.(*NebulaExporter).CollectMetrics(0x0, {0xc000332eb8, 0x7}, {0xc000332f20, 0x0}, {0x13442dc, 0xe}, {0xc000332e18, 0x6}, {0xc00066c000, …}, …)
/Users/liuxinchao/github.com/kqzh/nebula-stats-exporter/exporter/exporter.go:133 +0x7a5
github.com/vesoft-inc/nebula-stats-exporter/exporter.(*NebulaExporter).collect.func1()
/Users/liuxinchao/github.com/kqzh/nebula-stats-exporter/exporter/exporter.go:167 +0x25a
created by github.com/vesoft-inc/nebula-stats-exporter/exporter.(*NebulaExporter).collect
/Users/liuxinchao/github.com/kqzh/nebula-stats-exporter/exporter/exporter.go:160 +0x391

你好,可以贴一下exporter config.yaml的配置吗,看起来是配置里有特殊字符引起的

[root@10-62-0-52 nebula-stats-exporter]# cat config.yaml
clusters:

  • name: nebula
    instances:
    • name: metad0
      endpointIP: 10.62.0.52
      endpointPort: 19559
      componentType: metad
    • name: graphd0
      endpointIP: 10.62.0.227
      endpointPort: 19669
      componentType: graphd
    • name: storaged0
      endpointIP: 10.62.0.244
      endpointPort: 19779
      componentType: storaged

我只改了ip,没有手动编辑别的内容

可以换成这个格式的配置试试?为本地测了下是没问题的

clusters:
  - name: nebula
    instances:
      - name: metad0
        endpointIP: 10.62.0.52
        endpointPort: 19559
        componentType: metad

好像有人建议用“strings.ToValidUTF8来解决:
“Yea, that seems like something we should sanitize between the kernel and client_golang. We could use strings.ToValidUTF8 to wrap the label values.”

试了,也不行,同样的报错

看来不是配置方面的问题,可以贴下你使用的nebula版本吗,还有storaged的stats → 10.62.0.244:19779/stats

版本:nebula-graph-3.1.0.el7.x86_64.rpm
dashboard版本:nebula-dashboard-1.1.1.x86_64.tar.gz

奇怪的是,这个版本我部署了两套环境(仿真和生产)。生产环境的没问题,这个问题只在仿真环境存在。

可以提供一下storage endportIP: endpointPort/stats的数据吗 类似 10.62.0.244:19779/stats 我怀疑是exporter自动打的一些label值有问题

storage_stat.txt (21.1 KB)

stats是正常的,可以升级下exporter看看,exporter目前是向下兼容的,可以直接用最新版本,nebula-stats-exporter-linux-amd64-v3.1.0

好,我试试

也不行,同样的报错

graphd的stat好像有问题。但是我看乱码的那些space ID,都不是我们添加的space。
graphd_stat.txt (66.6 KB)

把Graphd上的”–enable_space_level_metrics“ 设置为false,stat-exporter就可以启动了; 之前是设置为true。
这是bug吧?

了解,space后面跟的应该是space_name,看起来是字符集问题导致的,你可以先把graphd的config --enable_space_level_metrics 设为false,这样graphd就不会暴露space级别的指标,应该能暂时解决

嗯嗯,是的,可以提供下集群现有的space吗,可以请 @jievince 看看

嗯,我现在就是这么干的。
字符集的问题的话,是要在graphd上设置吗?我看你们这些服务,默认的字符集都是utf8吧?