使用 Grafana 管理 SonarQube KPI
文章目錄
需求
一般來講, 我們會直接在 SonarQube 上面看各 project 的各項 KPI 如下
Project 的 build history 的部分也可以直接看到
在 Grafana 上面顯示 SonarQube KPI
不過也有人做出來一些 SonarQube exporter, 可以把 SonarQube 的 KPI 轉放到 Grafana.
方案1
- Exporter: https://github.com/dmeiners88/sonarqube-prometheus-exporter: 他是做成 SonarQube plugin, 但他只支援 5 個 KPI, 而且最後一次更新是 2018/11/9. 他有支援 SonarQube 7, 不太確定有沒有支援 8 或 9, 就算了.
方案2
- Exporter: https://github.com/nthienan/sonarqube-exporter
- Grafana dashboard: 同上, 請在首頁找 dashboard overview.json 和 dashboard details.json
- 請產生一個 SonarQube token, 可參考 https://docs.sonarqube.org/latest/user-guide/user-token/
- 啟動方式
- 直接跑的指令如下
1docker run --expose 9102 -p 9102:9102 nthienan/sonarqube-exporter sqe -p 9102 --url http://sonar.x.x.x:9000 --user-token xxxxxxxxxxx --ignore-ssl-verification --log-level DEBUG
- docker-compose.yml 的方式如下
1sonarqube-exporter: 2container_name: sonarqube-exporter 3image: nthienan/sonarqube-exporter 4ports: 5- 9102:9102 6expose: 7- 9102 8command: ' sqe --url http://sonar.x.x.x:9000 --user-token xxxxxxxxxxx --ignore-ssl-verification --log-level DEBUG ' 9environment: 10- TZ=Asia/Taipei 11depends_on: 12- sonarqube
- 直接跑的指令如下
- prometheus.yml 請設定如下
1- job_name: 'sonarqube' 2 scrape_interval: 5s 3 metrics_path: '/metrics' 4 static_configs: 5 - targets: ['xxx.xxx.xxx.xxx:9102']
成果
-
重開程式完後, 試著 re-build project, 就可以到 Grafana 看結果了, 如下
-
他也有另一個 detail 的 dashboard 可以看更細的資訊, 包含歷史趨勢圖等, 這圖資料還不多, 以後再來更新.