sonar 集群环境工作机制的深入理解

举报
隔壁老汪 发表于 2022/06/25 00:52:33 2022/06/25
【摘要】 sonar 集群配置一般是一个master,和几个es 构成的集群环境,而master和es 机器的确定,就是由sonar.properties文件配置确定的。 sonar master properties主要 配置: sonar.cluster.enabled=true sonar.cluster.web.startupLead...

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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。