Integrate gitlab-monitor features into standard Prometheus interface
Problem to solve
For metrics that are monitored per-GitLab, we have the gitlab-monitor tool.
Since we now have Prometheus integrated or exporters available for all components, the standalone gitlab-monitor is unnecessary .
Intended users
GitLab admins
Further details
There are several sub-features of the gitlab-monitor.
- Database
- GitLab database tables.
- CI builds.
- Postgesql "bloat" metrics.
- Git (Seems obsolete, not collected)
- Git push/pull timing stats.
- Process
- To be replaced by internal instrumentation or process exporter.
- Sidekiq
- Gathers sidekiq queue/job stats from Redis
Proposal
Add the Database and Sidekiq metrics to gitlab-ce to avoid having to run a stand-alone monitor.
Since these metrics are per-install, rather than per-server, separate metrics paths should be used. For example /-/database/metrics
or /-/sidekiq/metrics
.
Permissions and Security
The metrics endpoints should use the same monitoring whitelist feature that the standard metrics path does.
Documentation
Testing
The interface should provide the same functionality as gitlab-monitor, except in the cases where features are deprecated.
What does success look like, and how can we measure that?
We replace the use of gitlab-monitor in omnibus with this feature.