-
Notifications
You must be signed in to change notification settings - Fork 461
Application Health Monitoring
We are going to collect metrics about the usage of OBS, such as logins of users, creation of packages and projects and alike. Since we are planning to refresh the OBS UI and might change and improve workflows in OBS, we want to be able to track if that has any negative, or positive, effects.
Our AHM stack consists of:
Metrics we collect are sent to RabbitMQ to the metrics queue.
Telegraf fetches these metrics and reports them to InfluxDB.
InfluxDB stores the time series data we collect (database telegraf).
Grafana is used to create graphs to visualize the collected data.
Instructions for setting up the development environment for AHM can be found in our docker documentation
rake docker:ahm:prepare
docker-compose -f docker-compose.ahm.yml -f docker-compose.yml upGo to Grafana frontend, http://localhost:8000, and login (admin/admin).
Add a new data source by adding following data:
Type: InfluxDB
URL: http://influx:8086
Database: telegraf
User: grafana
Password: grafana
The Grafana dashboards are hosted at https://obs-measure.opensuse.org/. You can login with your GitHub account and should get the Editor role.
The openSUSE RabbitMQ is running at https://rabbit.opensuse.org/.
Located here, this dashboard should tell if the application is up or not.
It has the following panels:
- Number of successful requests per minute. NOTE: It will send an alert when the traffic is below 5 requests/minute.
- Error rates tracks requests with an http status error code.
- Authentication Failures monitor burst of authentication failures within 10 minutes.
- Request State Change tracks request creation and request state changes.
- Projects tracks projects destroyed and created.
- Packages tracks packages destroyed and created.
- Total project tracks the total amount of projects that were created and destroyed.
- Total package tracks the total amount of packages that were created and destroyed.
- User Creation tracks the total amount of users that were created within an hour.
- Beta Users tracks the total amount of users who joined and left the beta program.
There is an alert for the number of successful requests per minute that will trigger when the total number of queries drops below 5 per minute during two full minutes.
- Development Environment Overview
- Development Environment Tips & Tricks
- Spec-Tips
- Code Style
- Rubocop
- Testing with VCR
- Test in kanku
- Authentication
- Authorization
- Autocomplete
- BS Requests
- Events
- ProjectLog
- Notifications
- Feature Toggles
- Build Results
- Attrib classes
- Flags
- The BackendPackage Cache
- Maintenance classes
- Cloud uploader
- Delayed Jobs
- Staging Workflow
- StatusHistory
- OBS API
- Owner Search
- Search
- Links
- Distributions
- Repository
- Data Migrations
- Package Versions
- next_rails
- Ruby Update
- Rails Profiling
- Remote Pairing Setup Guide
- Factory Dashboard
- osc
- Setup an OBS Development Environment on macOS
- Run OpenQA smoketest locally
- Responsive Guidelines
- Importing database dumps
- Problem Statement & Solution
- Kickoff New Stuff
- New Swagger API doc
- Documentation and Communication
- GitHub Actions
- Brakeman
- How to Introduce Software Design Patterns
- Query Objects
- Services
- View Components
- RFC: Core Components
- RFC: Decorator Pattern
- RFC: Backend models
- RFC: Hotwire Turbo Frames Pattern