【问题标题】:Can't find Graphite metrics using Cubism.js无法使用 Cubism.js 找到 Graphite 指标
【发布时间】:2012-12-19 14:35:04
【问题描述】:

以下命令按预期返回指标:

curl "http://graphite.metrics:8080/metrics/find?format=completer&query=server*.cache"

{"metrics": [
  {"is_leaf": "1", "path": "server1200.cache", "name": "cache"},
  {"is_leaf": "1", "path": "server1201.cache", "name": "cache"},
  {"is_leaf": "1", "path": "server1202.cache", "name": "cache"},
  {"is_leaf": "1", "path": "server1203.cache", "name": "cache"}, 
  {"is_leaf": "1", "path": "server1205.cache", "name": "cache"}
 ]
}

如果我使用 Cubism.js 尝试相同的查询,我会收到“无法找到指标”:

var context = cubism.context()
                    .serverDelay(60 * 1000) 
                    .step(60 * 1000)
                    .size(1440); 

var graphite = context.graphite("http://graphite.metrics:8080");  
graphite.find("metricXX*", function(error, results){
  alert(error);
});

如果 Cubism.js 在内部执行相同的请求,为什么它找不到指标?

【问题讨论】:

    标签: graphite cubism.js


    【解决方案1】:

    毕竟这不是 Cubism.js 的错误。其实是跨站HTTP请求。

    我在 Chrome 中启用了 Web Developer Extension 并注意到以下消息:

    Access-Control-Allow-Origin 不允许来源

    并修复了在 Node.js 中添加以下代码:

    var server = http.createServer(function (req, res) {
    
      res.setHeader("Access-Control-Allow-Origin", "*");
      res.setHeader("Access-Control-Allow-Headers", "X-Requested-With");
    
      proxy.proxyRequest(req, res);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多