Giter Site home page Giter Site logo

gabrielvie / guru-dash-4teams Goto Github PK

View Code? Open in Web Editor NEW

This project forked from halisonfernandes/guru-dash-4teams

0.0 0.0 0.0 981 KB

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

License: MIT License

Dockerfile 0.46% TypeScript 92.68% Shell 0.30% JavaScript 6.57%

guru-dash-4teams's Introduction

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

guru-dash-4teams's People

Contributors

tiagorg-cit avatar fernandoleonem avatar l3andro avatar rodolfomenardi avatar raphaelg-cit avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.