我没有设置Hygieia仪表板。
Hygieia:https://github.com/gigaaks/Hygieia
尝试在本地设置或使用基于Docker的安装/设置的两种方法。
我成功地获得了mongoDB,它的API,UI模块启动并运行。 Hygieia主登录界面很好。我成功创建了登录用户并能够登录。
此时,我已经运行了mongoDB,API,UI部件并且是时候创建CAP One / Split Dashboard(Hygieia提供的模板)。当我提供创建新仪表板的值时,它会在服务器(vagrant / VirtualBox实例)上的API日志中或在Docker的容器中抛出以下错误。
我发现这个项目模块中存在很多问题,其中事情不正确,即一个模块中的数据库名称是仪表板,其他模块中的数据库名称是仪表板,另外,它是&#39 ; s期待dashboarddb。我在我的github repo / project中修复了这些问题并发起了一个已批准并将合并的pull请求。但是,以下错误告诉我Hygieia的UI文件并没有发送参数,而是在尝试创建仪表板时(mongoDB中)。参数是" type"并且由于UI(Hygieia GUI)没有发送它(根据它们在GitHUB中的最新代码),API失败抛出一个错误,说类型变量值被传递为NULL。当我通过使用 Postman 发送相同的 JSON RestAPI 查询来尝试 POST 操作时,我发现了相同的内容。
由于这个原因,我目前无法创建仪表板并开始使用Hygieia提供的收集器开箱即用(适用于Stash,GitHub,Jenkins,SonarQube等)。
您是否有人遇到过这个错误/问题的解决方法?
2016-04-01 02:40:40,357 WARN c.c.d.rest.RestApiExceptionHandler - Bad Request - bind exception:
org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'dashboardRequest' on field 'type': rejected value [null]; codes dashboardRequest.type,NotNull.type,NotNull.java.lang.String,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [dashboardRequest.type,type]; arguments []; default message [type]]; default message [may not be null]
at com.capitalone.dashboard.rest.RestApiExceptionHandler.handleMethodArgumentNotValid(RestApiExceptionHandler.java:55) [api.jar!/:2.0.0-SNAPSHOT]
at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler.handleException(ResponseEntityExceptionHandler.java:156) [spring-webmvc-4.1.7.RELEASE.jar!/:4.1.7.RELEASE]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_72-internal]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_72-internal]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_72-internal]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_72-internal]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) [spring-web-4.1.7.RELEASE.jar!/:4.1.7.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) [spring-web-4.1.7.RELEASE.jar!/:4.1.7.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) [spring-webmvc-4.1.7.RELEASE.jar!/:4.1.7.RELEASE]
答案 0 :(得分:0)
问题出现的原因是我使用Maven(mvn clean install; mvn docker:build)在本地构建的Hygieia模块docker镜像但是对于UI模块,因为我收到错误消息,我选择了来自captial one / hygieia-ui图像的图像。出于某种原因,它不起作用并显示上述错误(因为可能存在API级别更改)。
我必须运行以下操作才能将Hygieia仪表板启动并在本地计算机上运行:
git config --global --unset-all url.https
git config --global url."https://".insteadOf git://
npm config set prefix /usr/local
sudo npm install --color=false; sudo npm install -g bower gulp; sudo npm install bower install
mvn clean install; mvn docker:build
gulp serve
现在,一切都按照预期的方式创建仪表板(PS:您必须首先使用mongo命令行创建mongo db数据库,如Hygieia文档中所示)。
npm -g选项将全局安装bower和gulp。没有-g,它也会在本地安装。全局值实际上是指本地值。
对于基于docker的解决方案,我只使用了docker-comopose文件并启动并运行。
NodeJS(node) version: v5.10.0
NPM (Node pkg mgr) : 3.8.3
Bower version : 1.7.9
Gulp version : [08:18:42] CLI version 3.9.1,[08:18:42] Local version 3.9.1,
Maven version : Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
Java version :