0

我想知道是否有人将Tasseo用于他们的 Graphite 仪表板。我遇到了一些我不太明白的问题。基本上,Tasseo 轮询 Graphite 服务器以获取统计信息 - 如果您在 Graphite 服务器上启用了身份验证(http base auth),那么您必须将环境变量导出GRAPHITE_URLGRAPHITE_AUTH运行 tasseo 的环境,即。如果您将 tasseo 作为 runit 服务运行,那么您的运行脚本应如下所示:

#!/bin/sh                                                                        

exec 2>&1                                                                        
export GRAPHITE_URL="https://graphite-url"                                      
export GRAPHITE_AUTH="user:password"                                
cd /app                                                                          
exec chpst -u tasseo bundle exec rackup -o 127.0.0.1 -p 5000 -s thin 

但我注意到的是,如果我没有在另一个选项卡中运行 Tasseo 的同一浏览器中对 Graphite 进行身份验证(通过运行,我的字面意思是运行,因为 Tasseo 只是一个完全内置在 javascript 中的 sinatra 应用程序,即它在您的浏览器),然后我无法显示任何图表。一旦我在同一个浏览器中对 Graphite 进行身份验证,一切正常。Tasseo 正在使用 CORS,即。它从 JavaScript 中轮询 Graphite,所以它可能会用它做点什么。

最烦人的是,每次我重新启动 tasseo 应用服务器时我都必须这样做 :-( 所以当我重新启动 tasseo 时,我必须重新加载 Graphite 页面 - 我假设这是重新验证?我也注意到,即使当我重新加载 Graphite 选项卡,Tasseo 工作了一段时间,然后过了一段时间(没有确切的措施)它停止工作 - 在 Chrome 的开发控制台中,我可以看到OPTIONS对 Graphite 的请求失败 - 所以GET请求也必须。任何想法?

4

1 回答 1

0

如果有人在设置 Tasseo 时遇到这个问题,那么请确保您在 Graphite 服务器上使用自签名证书,那么他们必须受到运行 Tasseo 的 CORS java 脚本的浏览器的信任。否则,您会注意到上面描述的内容 - 一旦您将这些自签名证书设置为受信任,一切都会像魅力一样工作!

于 2013-01-22T01:33:28.700 回答