/
모니터링

이 문서는 SonarQube v6.4 기반의 문서로 아카이브 되었습니다.
최신 문서를 참조하십시오.

모니터링

Table of Contents

SonarQube 서버는 JMX MBeans의 정보를 통해 내부적으로 어떤 일이 일어나고 있는지 시각화하는 기능을 제공합니다. 엘라스틱서치(ElasticSerarch, ES)는 SonarQube의 데이터를 검색하는 데 사용되며, 다양한 도구들을 사용해 ES 모니터링을 제공합니다.

Exposed JMX MBeans

ClassLoader, OS, 메모리 및 쓰레드에 관한 정보를 제공하는 전통적인 Java MBeans이외에, 추가로 아래 4개의 MBeans에 접근할 수 있습니다:

  • ComputeEngine
  • Database
  • ElasticSearch
  • SonarQube

위 4개 MBean은 모두 읽기 전용이며, 해당 MBeans의 제이터를 실시간으로 수정하거나 초기화할 수는 없습니다.

ComputeEngineTasks MBean

Attribute Name

Description

ProcessingTime

직전 SonarQube 서버 재시작 이후 백그라운드 태스크를 실행하는 데 소요된 시간(ms). 측정값은 계속 증가하며, SonarQube가 재시작시 초기화 됩니다.

이 지표는 다음 상황에서 매우 강력합니다:

  • SuccessCount, ErrorCount 지표와 조합해 하나의 Background Task를 처리하는 데 필요한 평균 시간을 구하는 경우
  • SonarQube가 1일 중 얼마나 많은 시간을 Background Tasks를 처리에 사용하는가를 구하는 경우, ProcessingTime은 SonarQube 서버에 걸리는 부하 정보를 전달합니다.
ErrorCountSonarQube가 재시작한 이후, 실패한 백그라운드 태스크의 수
PendingCountSonarQube가 재시작한 이후, 처리 대기 중인 백그라운드 태스크의 수
InProgressCount현재 처리중인 백그라운드 태스크의 수. SonarQube는 한 순간에 하나의 Task만 처리하므로 값은 1 혹은 0입니다.
SuccessCount

SonarQube가 재시작한 이후 ,성공한 백그라운드 태스크의 수

WorkerCount동시에 처리 가능한 백그라운드 태스크의 수

Note:

  • SonarQube가 재시작된 이후 처리된 Backgound Tasks의 총 수는 SuccessCount + ErrorCount 값과 같습니다.
  • 이 값들은 SonarQube를 재시작하면 초기화됩니다.

Database MBean

몇몇 속성들은 ComputeEngineServer와 WebServer 모두에서 사용 가능합니다.

Attribute Name

Description

MigrationStatus

가능한 값들: UPTODATE, REQUIRESUPGRADE, REQUIRESDOWNGRADE, FRESH_INSTALL(WebServer만 사용 가능함)


PoolActiveConnections활성화 된 데이터베이스 컨넥션 수
PoolIdleConnections활성화 대기 중인 데이터베이스 컨넥션 수
PoolInitialSize데이터베이스 컨넥션 풀의 최초 크기
PoolMaxActiveConnections활성화 가능한 데이터베이스 컨넥션의 최대 수
PoolMaxIdleConnections활성화 대기 가능한 데이터베이스 컨넥션의 최대 수
PoolMaxWaitMillis밀리초 단위
PoolRemoveAbandoned가능한 값들: true, false
PoolRemoveAbandonedTimeoutSeconds초 단위

ElasticSearch MBean

Attribute Name

Description

NumberOfNodesNumber of ES Nodes in your SonarQube installation.
State가능한 값: GREEN, YELLOW, RED

SonarQube MBean

Attribute Name

Description

LogLevel로그 레벨: INFO, DEBUG, TRACE
ServerId

SonarQube 서버 ID

Version

SonarQube qjwjs

JMX 활성화 하기

로컬 접속

SonarQube 서버와 여러분이 사용하는 도구가 같은 서버에서 실행되고 있는 경우에는, SonarQube MBeans를 표시할 수 없습니다.

원격 접속

JMX Beans에 대한 원격 접속을 활성화는 환경 설정의 예입니다.

WebServer 용:

# JMX WEB - 10443/10444
sonar.web.javaAdditionalOpts=-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.port=10443 -Dcom.sun.management.jmxremote.rmi.port=10444 -Dcom.sun.management.jmxremote.password.file=/opt/sonarsource/sonar/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/opt/sonarsource/sonar/conf/jmxremote.access

SearchServer 용:

sonar.search.javaAdditionalOpts=-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.port=19010 -Dcom.sun.management.jmxremote.rmi.port=19011 -Dcom.sun.management.jmxremote.password.file=/opt/sonarsource/sonar/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/opt/sonarsource/sonar/conf/jmxremote.access

ComputeEngine:

구체적인 javaAdditionalOpts 엔트리는 없으며, 간단하게 sonar.ce.javaOpts를 추가합니다.

  • jmxremote.access의 예:

    #
    # JMX Access Control file
    #
    reader readonly
    admin  readwrite \
                  create javax.management.monitor.*,javax.management.timer.*,com.sun.management.*,com.oracle.jrockit.* \
                  unregister
  • jmxremote.password의 예:

    #
    # JMX Access Password file
    #
    reader readerpassword
    admin  adminpassword

Note: 보안상 jmxremote.password 파일에 대한 접근권한은 chmod 600 혹은 chmod 400으로 수정합니다.

ElasticSearch 모니터링 방법

conf/sonar.properties에서 sonar.search.httpPort 속성을 설정합니다. 이 속성을 설정하면 대부분의 ES 모니터링 도구들이 요청하는 ElasticSerarch REST End-Point를 활성화합니다.

Elastic HQ를 사용해 다음과 같은 역할을 할 수 있습니다(Free, OS):

Related content

모니터링
모니터링
More like this
JMX MBeans
JMX MBeans
More like this
Architecture 및 Integration
Architecture 및 Integration
More like this
Architecture 및 Integration
Architecture 및 Integration
More like this
시스템 정보
시스템 정보
More like this
시스템 정보
시스템 정보
More like this

© 2017-2018 Moses Kim.

별도의 언급이 없는 한, 이 스페이스의 컨텐츠는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
SONARQUBE는 SonarSource SA의 트레이드 마크입니다. 모든 트레이트 마크 및 저작권은 각 소유자의 소유물입니다.

::: SonarQube 관련 문의 : 이메일 :::