GithubHelp home page GithubHelp logo

andreyvmarkelov / prom-confluence-exporter Goto Github PK

View Code? Open in Web Editor NEW
67.0 6.0 23.0 2.37 MB

Prometheus Exporter For Confluence

Home Page: https://marketplace.atlassian.com/plugins/ru.andreymarkelov.atlas.plugins.prom-confluence-exporter/server/overview

License: BSD 2-Clause "Simplified" License

Java 99.04% Shell 0.96%
prometheus-exporter confluence grafana confluence-plugin metrics prometheus-metrics

prom-confluence-exporter's Introduction

prom-confluence-exporter's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

prom-confluence-exporter's Issues

Licence expiry support

This exporter doesn't seem to support a days until license expires metric, unlike the jira exporter. Is it possible to add this?

/Alan

High Cardinality Metrics

Hi @AndreyVMarkelov, we're running into issues with high cardinality of unbounded metrics like the confluence_user_login_count, confluence_user_logout_count, and confluence_user_failed_login_count metrics which have the username and ip as labels. We have ~7,000 active Confluence users so this causes a huge influx of unique time-series.

The Prometheus devs recommend against this practice for labels.

CAUTION: Remember that every unique combination of key-value label pairs represents a new time series, which can dramatically increase the amount of data stored. Do not use labels to store dimensions with high cardinality (many different label values), such as user IDs, email addresses, or other unbounded sets of values.

https://prometheus.io/docs/practices/naming/

Instead, could there be an aggregate counter, such as confluence_user_login_total, confluence_user_logout_total, and confluence_user_failed_login_total? This would follow some of the Prometheus best-practices like using total as the suffix for an accumulating count.

Example

From:

confluence_user_login_count{username="usera",ip="10.0.0.1",} 1.0
confluence_user_login_count{username="userb",ip="10.0.0.2",} 20.0

To:

confluence_user_login_total 30.0

Add license metrics

Could you please add license metrics such as:

  • current number of users
  • maximum number of users
  • number of days before maintenance expiry

The important gauges are zero.

In my test environment, I got zero gauges, even there are pages and blog and login users:

# HELP confluence_current_contents_gauge Current Contents Gauge
# TYPE confluence_current_contents_gauge gauge
confluence_current_contents_gauge 0.0
# HELP confluence_global_spaces_gauge Global Spaces Gauge
# TYPE confluence_global_spaces_gauge gauge
confluence_global_spaces_gauge 0.0
# HELP confluence_personal_spaces_gauge Personal Spaces Gauge
# TYPE confluence_personal_spaces_gauge gauge
confluence_personal_spaces_gauge 0.0
# HELP confluence_one_hour_active_users_gauge Users Login One Hour Ago Gauge
# TYPE confluence_one_hour_active_users_gauge gauge
confluence_one_hour_active_users_gauge 0.0
# HELP confluence_today_active_users_gauge Users Login Today Gauge
# TYPE confluence_today_active_users_gauge gauge
confluence_today_active_users_gauge 0.0
# HELP confluence_total_attachment_size_gauge Total Attachments Size Gauge
# TYPE confluence_total_attachment_size_gauge gauge
confluence_total_attachment_size_gauge 0.0
# HELP confluence_pages_gauge Total Pages Gauge
# TYPE confluence_pages_gauge gauge
confluence_pages_gauge 0.0
# HELP confluence_blogposts_gauge Total BlogPosts Gauge
# TYPE confluence_blogposts_gauge gauge
confluence_blogposts_gauge 0.0

On the configuration page, it said:
Last execution: not yet executed

Wiki edit

Hello,

Please edit the wiki a bit.

scrape_configs:

  • job_name: 'confluence'
    scheme: https #change to http if don't you have https
    metrics_path: '/<your_confluence_context_path>/plugins/servlet/prometheus/metrics'
    static_configs:
    • targets: ['myhost:2990'] #this can be any port you serve confluence up by

Query with reverse proxy

I tried to configure it with a confluence server instance, which has HAProxy infront of it for ssl-termination. Is this supported?
It seems, from the access logs, that the domain name gets converted to a IP and then queried.

I have a ACL based on domain name and it the query ends with
https-in/ -1/-1/-1/-1/1 503 213

no main manifest for most recent versions

I am trying to set this up on my home setup and getting the following with version 1.0.19 and 1.0.20

web01 prometheus]$ java -jar /opt/monitoring/prometheus/prom-confluence-exporter-1.0.19.jar 
no main manifest attribute, in /opt/monitoring/prometheus/prom-confluence-exporter-1.0.19.jar
web01 prometheus]$ java -jar /opt/monitoring/prometheus/prom-confluence-exporter-1.0.20.jar 
no main manifest attribute, in /opt/monitoring/prometheus/prom-confluence-exporter-1.0.20.jar

I am using CentOS 8 with java-1.8.0-openjdk installed. Am I doing something wrong?

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.