sonar 集群环境工作机制的深入理解
sonar 集群配置一般是一个master,和几个es 构成的集群环境,而master和es 机器的确定,就是由sonar.properties文件配置确定的。
sonar master properties主要 配置:
sonar.cluster.enabled=true
sonar.cluster.web.startupLeader=true
sonar.cluster.ce.disabled=false
sonar.cluster.search.disabled=false
sonar.cluster.web.disabled=false
sonar.cluster.search.master=true
sonar.cluster.search.hosts=10.37.124.178
sonar.search.clusterName=sq_search_cluster
sonar.cluster.search.nodeName=sonarqube178
jvmOps配置jvm 参数后面都要添加:-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7095 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.37.124.178
10.37.124.178就是master的IP
如:
sonar.web.javaOpts=-Xms4g -Xmx4g -Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=7095 -Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.37.124.178
sonar master 运行起来的后台进程:
[root@conf]#
[root@conf]# jps
12947 Jps
32213 SearchServer
32182 WrapperSimpleApp
32439 CeServer
32332 WebServer
[root@conf]#
官方对上面四个进程的说明:
SonarQube平台由四个部分组成:
一个 SonarQube服务器 启动3个主要过程:
面向开发人员的 Web服务器,管理者可以浏览质量快照并配置SonarQube实例
一个基于Elasticsearch 的 搜索服务器 来从UI恢复搜索
一个计算引擎服务器负责处理代码分析报告,并将其保存在数据库SonarQube
一个 SonarQube 数据库来存储:
SonarQube实例的配置(安全性,插件设置等)
项目,视图等的质量快照
安装在服务器上的多个 SonarQube插件,可能包括语言,SCM,集成,身份验证和管理插件
一台或多台SonarQube扫描仪 在您的生成/连续集成服务器上运行以分析项目
searchServer 是ElasticSearch集群服务,WrapperSimpleApp是基本的计算进程;WebServer 是sonar web服务,CeServer是什么服务呢?
CeServer :一台或多台SonarQube扫描仪 在您的生成/连续集成服务器上运行以分析项目
这个进程负责和扫描插件msbuild,maven-scanner,ant-scanner,gradle-scanner等进行数据扫描的交互,其中设计规则数据的交互,然后生成统计数据文件。
对于sonar 一台slave(es)配置:
sonar.cluster.enabled=true
sonar.cluster.web.startupLeader=false
sonar.cluster.ce.disabled=true
sonar.cluster.search.disabled=false
sonar.cluster.web.disabled=true
sonar.cluster.search.master=false
sonar.cluster.search.hosts=10.37.124.178
sonar.search.clusterName=sq_search_cluster
sonar.cluster.search.nodeName=sonarqube179
后台进程信息:
[root@conf]# jps
21558 SearchServer
21527 WrapperSimpleApp
8173 Jps
[root@conf]#
对扫描仪进程的官方说法:
分析期间
在分析过程中,从服务器请求数据,分析提供给分析的文件,并将结果数据以报告的形式发送回服务器,然后在服务器端进行异步分析。
分析报告排队并按顺序处理,因此在分析日志显示完成后很短的时间内,很可能在SonarQube项目中看不到更新的值。但是,您将能够知道发生了什么,因为图标将被添加到项目名称旁边。将鼠标悬停在上方以获取更多详细信息(如果使用适当的权限登录,则链接为链接)。
一旦处理完成,图标就会消失,但如果分析报告处理由于某种原因而失败,图标将会改变:
有关分析报告处理的更多详细信息,请参阅后台任务。
运行分析
首先,您应该直接下载 或通过Marketplace来安装要分析项目语言的插件 。
那么,你需要选择一种分析方法。以下是可用的:
用于MSBuild的SonarQube扫描仪:启动.Net项目的分析
适用于Maven的SonarQube扫描仪:以最少的配置从Maven启动分析
用于Gradle的SonarQube扫描仪:启动Gradle分析
用于Ant的SonarQube扫描仪:从Ant开始分析
Jenkins的SonarQube扫描仪:从Jenkins发布分析
SonarQube扫描仪:当没有其他分析仪适用时,从命令行启动分析
请注意,我们不建议在运行SonarQube分析的计算机上运行防病毒扫描程序,否则可能会导致不可预知的行为。
文章来源: blog.csdn.net,作者:隔壁老瓦,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/wxb880114/article/details/89947729
- 点赞
- 收藏
- 关注作者
评论(0)