All Projects → blemmenes → radosgw_usage_exporter

blemmenes / radosgw_usage_exporter

Licence: MIT license
Prometheus exporter for scraping Ceph RADOSGW usage data.

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to radosgw usage exporter

pgbouncer exporter
Prometheus exporter for Pgbouncer metrics.
Stars: ✭ 19 (-44.12%)
Mutual labels:  prometheus-exporter
ansible-blackbox-exporter
Blackbox prober exporter
Stars: ✭ 60 (+76.47%)
Mutual labels:  prometheus-exporter
jmx exporter-cloudera-hadoop
Prometheus jmx_exporter configurations for Cloudera Hadoop
Stars: ✭ 33 (-2.94%)
Mutual labels:  prometheus-exporter
modbus exporter
Exporter which retrieves stats from a modbus system and exports them via HTTP for Prometheus consumption.
Stars: ✭ 16 (-52.94%)
Mutual labels:  prometheus-exporter
opentracing-metrics-tracer
Exports cross-process metrics via OpenTracing to Prometheus.
Stars: ✭ 13 (-61.76%)
Mutual labels:  prometheus-exporter
falco-exporter
Prometheus Metrics Exporter for Falco output events
Stars: ✭ 84 (+147.06%)
Mutual labels:  prometheus-exporter
vrops-exporter
Prometheus exporter running python to get metrics out of VMware vRealize Operations
Stars: ✭ 16 (-52.94%)
Mutual labels:  prometheus-exporter
gethexporter
Monitor your Geth Ethereum Server with Prometheus and Grafana
Stars: ✭ 103 (+202.94%)
Mutual labels:  prometheus-exporter
temp-probe-exporter
Export Prometheus data from 1-Wire temperature sensors, using an Arduino or Linux system
Stars: ✭ 17 (-50%)
Mutual labels:  prometheus-exporter
prometheus-async
Async helpers for prometheus_client.
Stars: ✭ 136 (+300%)
Mutual labels:  prometheus-exporter
ceph-salt
Ceph cluster deployment with SaltStack
Stars: ✭ 83 (+144.12%)
Mutual labels:  ceph
azure-metrics-exporter
Azure Monitor metrics exporter for Prometheus with dimension support, template engine and ServiceDiscovery
Stars: ✭ 54 (+58.82%)
Mutual labels:  prometheus-exporter
tado-exporter
A Prometheus exporter for tado smart heating solution
Stars: ✭ 32 (-5.88%)
Mutual labels:  prometheus-exporter
kafka-consumer-lag-monitoring
Client tool that exports the consumer lag of Kafka consumer groups to Prometheus or your terminal
Stars: ✭ 45 (+32.35%)
Mutual labels:  prometheus-exporter
mq-java-exporter
Exporter for IBM MQ metrics https://prometheus.io/
Stars: ✭ 19 (-44.12%)
Mutual labels:  prometheus-exporter
egg-exporter
Egg.js 的 Prometheus 指标收集插件,附带 Grafana 看板。
Stars: ✭ 24 (-29.41%)
Mutual labels:  prometheus-exporter
Bynar
Server remediation as a service
Stars: ✭ 53 (+55.88%)
Mutual labels:  ceph
pika exporter
Prometheus expoter for Qihoo360/Pika metrics. Suppots Pika 2.x, 3.x
Stars: ✭ 39 (+14.71%)
Mutual labels:  prometheus-exporter
awesome-storage
A curated list of storage open source tools. Backups, redundancy, sharing, distribution, encryption, etc.
Stars: ✭ 324 (+852.94%)
Mutual labels:  ceph
pagerduty-exporter
Prometheus exporter for PagerDuty informations
Stars: ✭ 38 (+11.76%)
Mutual labels:  prometheus-exporter

Ceph RADOSGW Usage Exporter

Prometheus exporter that scrapes Ceph RADOSGW usage information (operations and buckets). This information is gathered from a RADOSGW using the Admin Operations API.

This exporter was based off from both (https://www.robustperception.io/writing-a-jenkins-exporter-in-python/) and the more elaborate Jenkins exporter here (https://github.com/lovoo/jenkins_exporter).

Requirements

  • Working Ceph Cluster with Object Gateways setup.
  • Ceph RADOSGWs must beconfigured to gather usage information as this is not on by default. The miniumum is to enable it via ceph.conf as below. There are however other options that are available and should be considered here.
rgw enable usage log = true
  • Configure admin entry point (default is 'admin'):
rgw admin entry = "admin"
  • Enable admin API (default is enabled):
rgw enable apis = "s3, admin"
  • This exporter requires a user that has the following capability, see the Admin Guide here for more details.
    "caps": [
        {
            "type": "buckets",
            "perm": "read"
        },
        {
            "type": "metadata",
            "perm": "read"
        },
        {
            "type": "usage",
            "perm": "read"
        },
        {
            "type": "users",
            "perm": "read"
        }

Note: If using a loadbalancer in front of your RADOSGWs, please make sure your timeouts are set appropriately as clusters with a large number of buckets, or large number of users+buckets could cause the usage query to exceed the loadbalancer timeout.

For haproxy the timeout in question is timeout server

Local Installation

git clone [email protected]:blemmenes/radosgw_usage_exporter.git
cd radosgw_usage_exporter
pip install requirements.txt

Usage

usage: radosgw_usage_exporter.py [-h] [-H HOST] [-e ADMIN_ENTRY]
                                 [-a ACCESS_KEY] [-s SECRET_KEY] [-p PORT]

RADOSGW address and local binding port as well as S3 access_key and secret_key

optional arguments:
  -h, --help            show this help message and exit
  -H HOST, --host HOST  Server URL for the RADOSGW api (example:
                        http://objects.dreamhost.com/)
  -e ADMIN_ENTRY, --admin_entry ADMIN_ENTRY
                        The entry point for an admin request URL [default is
                        'admin']
  -a ACCESS_KEY, --access_key ACCESS_KEY
                        S3 access key
  -s SECRET_KEY, --secret_key SECRET_KEY
                        S3 secrest key
  -p PORT, --port PORT  Port to listen

Example

./check_ceph_rgw_api -H https://objects.dreamhost.com/ -a JXUABTZZYHAFLCMF9VYV -s jjP8RDD0R156atS6ACSy2vNdJLdEPM0TJQ5jD1pw

Docker Usage

Docker build (https://hub.docker.com/r/blemmenes/radosgw_usage_exporter/):

docker run -d -p 9242 blemmenes/radosgw_usage_exporter:latest \
-H <RADOSGW HOST> -a <ACCESS_KEY> -s <SECRET_KEY> -p 9242

Arguments can also be specified by environment variables as well.

docker run -d -p 9242:9242 \
-e "RADOSGW_SERVER=<host>" \
-e "VIRTUAL_PORT=9242" \
-e "ACCESS_KEY=<access_key>" \
-e "SECRET_KEY=<secret_key>" \
blemmenes/radosgw_usage_exporter:latest

Resulting metrics can be then retrieved via your Prometheus server via the http://<exporter host>:9242/metrics endpoint.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].