ocp 租户没有监控数据

链接:https://foreignfile.catl.com/outpublish.html?code=A9936333438b4493fa8fb4af294a2a324&lang=zh-cn#view
密码:B2942040

日志 发给你了,帮转发给研发,谢谢。

1 个赞

这个集群 之前处理过 ,按照这个帖子 ocp 监控exporter异常,无法拉取监控数据 - 社区问答- OceanBase社区-分布式数据库 里面的方法处理过,其中有一个脚本

#!/usr/bin/python

import base64
import httplib
import json
import sys


def main():
  host = sys.argv[1]
  userPswd = sys.argv[2]
  op = sys.argv[3].lower()
  c = httplib.HTTPConnection(host)
  header = {
    "Authorization": "Basic " + base64.b64encode(userPswd),
    "Content-Type": "application/json"
  }
  if op == "get":
    c.request("GET", "/api/v2/compute/hosts/moduleConfigChanges", None, header)
  else:
    fileName = sys.argv[4]
    content = ""
    if op == "set":
      content = sys.stdin.read()
    print("%s %s" % (op, fileName))
    q = {
      "changes": [{
      "operation": op,
      "scopeType": "global",
      "scope": "",
      "fileName": fileName,
      "content": content,
      }]
    }
    body = json.dumps(q)
    c.request("POST", "/api/v2/compute/hosts/moduleConfigChanges", body, header)
  r = c.getresponse()
  print(r.status)
  print(r.read())

if __name__ == '__main__':
  main()

我看日志报错invalid header auth 错误 是不是这个脚本导致的?

1 个赞

在附件中没有看到write: broken pipe 的报错了,只有Authorize: invalid header authorization的报错,这个我再看下,
目前还是和之前一样 有部分监控没有数据是吧?

2025-12-31T05:34:05.37197+08:00 ERROR [282775,] caller=common/middleware_auth.go:65:Authorize: invalid header authorization: , should contain 2 content. url: /metrics/ob/basic
2025-12-31T05:34:05.37205+08:00 ERROR [282775,39e93705c4d347da] caller=web/http_server.go:50:AuthorizeMiddleware: basic auth Authorize failed, err:OcpAgentError: code = 1101, message = Authentication failed for invalid header authorization fields:, url=/metrics/ob/basic
2025-12-31T05:34:05.40238+08:00 WARN [282775,2e58613c4d1b7636] caller=mysql/table_input.go:407:collectData: slow sql, name: custom_default_sql, duration: 34.495806ms (over 0s), sql: select 1
1 个赞

是的。还是没有监控数据

1 个赞

连接到 OCP Meta 租户后查看:

MySQL [(none)]> use ocp;
Database changed
MySQL [ocp]> select * from ocp_exporter_address where instance like '%xx.xxx.211.84%';

select * from ocp_exporter_address where instance like ‘%10.38.14.23%’ union all
select * from ocp_exporter_address where instance like ‘%10.38.14.24%’ union all
select * from ocp_exporter_address where instance like ‘%10.38.14.25%’

检查浏览器主机(访问OCP页面的主机)操作系统的时间与OCP主机、以及与OBServer主机的时间完全一致?浏览器主机的时间与后两者不能相差太大。

如果有 访问ocp 会有提示,目前没有这个提示

image
这个里面的密码 手动改过么?

目前看都是 10.38.37.221 这个IP请求接口失败,这个IP是什么?
OCP 自身的监控采集完全正常,只有 10.38.37.221 这个外部客户端因为没有认证信息而失败

不是这个集群的 地址,10.38.37.221 也不是 observer 的地址。

我记得是没有改过,怎么验证 这个?

那应该和这个报错无关,

这个问题是突然出现的吗?还说一直都有?
只有这一套集群没有监控数据?

这两个查下,ocp_monitor租户下

SELECT COUNT(*) FROM ob_hist_sql_audit_stat_1     WHERE create_time > DATE_SUB(NOW(), INTERVAL 1 HOUR);

SELECT COUNT(*) FROM ob_hist_sql_audit_stat_2     WHERE create_time > DATE_SUB(NOW(), INTERVAL 1 HOUR);