Skip to content

Interactive and pluggable dashboards from different data sources, plug and play style for your team.

License

Notifications You must be signed in to change notification settings

halisonfernandes/guru-dash-4teams

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Get Ultimate Reports Updated (G.U.R.U) Dashboard for Teams

sonar-metrics tech-metrics quality-data

Overview

Stack responsible for providing technical and operational metrics to be visualized in grafana.

arquitetura

Componentes:

  • Grafana: Responsible for dashboards, the ./grafana folder has all the configuration of datasources and dashboards to upload via docker.
  • Influxdb: Timeseries database for metrics, is rising via docker with no mapped volume, so when the container dies the records are reset.
  • Strapi: CMS for configurations, today we have two collections, datasources and custom-metrics.
  • metrics-service: Service in nodeJS, responsible for reading the configurations of the strapi, and accessing the different datasources to obtain metrics, process them and insert in influxdb, in a recurring way according to the CRON configuration in the docker-compose.

Requirements

  • Docker
  • Docker Compose
  • Node 12+: just for development.

Instructions

1 - Run

docker-compose up

2 - Then it is necessary to configure datasources for application via strapi, through: http://localhost:1337

Strapi datasorce is mandatory. The metrics-service application will be up, after you configure of the 1st time strapi datasource inside Strapi.

Default access: user: [email protected] pass: techmetrics

3 - That done, just access the grafana at http://localhost:3000 with username and password "admin".

Datasources

Datasources are implementations of external providers, who must make the data available through Rest APIs, currently the following providers are available:

Jira

JIRA DOCS

Azure

AZURE DOCS

Bamboo

BAMBOO DOCS

Sonar

SONAR DOCS

Strapi (MANDATORY)

STRAPI DOCS

New Custom Providers

New providers can be implemented, for jenkins, GOCD, among other possibilities, for that it is necessary:

Create a new provider in:

./metrics-service/src/providers/provider_name

Follow sonar.provider as an example.

Then it is necessary to add it to the Record of provider.factory:

const providers: Record<string, ProviderFunction> = {
  azure: getAzureMetrics,
  sonar: getSonarMetrics,
  strapi: getStrapiMetrics,
  new_provider: getNewProviderMetrics(),
};

That done, it is enough that a new datasource is registered pointing to this provider within the strapi.


Troubleshooting

Clear influx tables

Ex: When you have changes in the strep meta, it is necessary to clean jira_bug and jira_hour in the BD

1 - pause metrics service container

    docker stop ID_CONTAINER

2 - access influx container

    docker exec -it ID_CONTAINER bash
    influx
    use devops
    DROP MEASUREMENT jira_bug
    DROP MEASUREMENT jira_hour
    exit

3 - Up container metrics service

    docker start ID_CONTAINER

Debug metric service

After up the containers, if the information is not showing in the dashboard, look at the metrics-service log to analyze

docker-compose logs -f --tails=1000 metrics-service

Access KEY (JIRA)

https: use protected key via URL: https://id.atlassian.com/
http: basic auth works normally

About

Interactive and pluggable dashboards from different data sources, plug and play style for your team.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 92.6%
  • JavaScript 6.6%
  • Other 0.8%