{"id":19426538,"url":"https://github.com/thegarmr/monobank-exporter","last_synced_at":"2026-07-16T14:30:19.256Z","repository":{"id":37957764,"uuid":"483291574","full_name":"TheGarmr/monobank-exporter","owner":"TheGarmr","description":"Prometheus exporter for Monobank API","archived":false,"fork":false,"pushed_at":"2024-12-18T12:01:59.000Z","size":214,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-07T19:38:18.373Z","etag":null,"topics":["monobank","monobank-api","monobank-client"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheGarmr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-19T14:55:51.000Z","updated_at":"2024-12-18T12:01:03.000Z","dependencies_parsed_at":"2024-12-18T13:30:41.592Z","dependency_job_id":null,"html_url":"https://github.com/TheGarmr/monobank-exporter","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheGarmr%2Fmonobank-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheGarmr%2Fmonobank-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheGarmr%2Fmonobank-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheGarmr%2Fmonobank-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheGarmr","download_url":"https://codeload.github.com/TheGarmr/monobank-exporter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240605840,"owners_count":19827985,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["monobank","monobank-api","monobank-client"],"created_at":"2024-11-10T14:07:54.237Z","updated_at":"2026-07-16T14:30:19.180Z","avatar_url":"https://github.com/TheGarmr.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monobank Exporter [\u003cimg src=\"https://img.shields.io/badge/Docker%20Hub-images-blue.svg?logo=Docker\"\u003e](https://hub.docker.com/r/thegarmr/monobank-exporter)\u003cbr\u003e\n[\u003cimg src=\"https://img.shields.io/docker/pulls/thegarmr/monobank-exporter?label=Docker%20pulls\u0026style=for-the-badge\"\u003e](https://hub.docker.com/r/thegarmr/monobank-exporter)\n[\u003cimg src=\"https://img.shields.io/docker/v/thegarmr/monobank-exporter?label=Latest%20Docker%20version\u0026style=for-the-badge\"\u003e](https://www.nuget.org/packages/MonobankClient/)\u003cbr\u003e\n\n### This application exports _Prometheus_ metrics for [Monobank](https://www.monobank.ua).\n### Full API documentation can be found here: [Monobank open API](https://api.monobank.ua/docs/)\n\n### Functionality\n  * Publish currencies metrics\n  * Publish a client's balance and credit limit for each card as metrics\n  * You can use your name differently from that stored in the bank\n  * basic auth to the metrics endpoint\n\n### API limitations:\n  * You can receive information about a client once per a minute\n  * Information about currencies refreshes once per 5 minutes\n\n### Quickstart:\n  * Create a docker-compose file\n  * fill in a config file\n  * setup your Prometheus instance to scrape metrics\n  * run `docker-compose up -d`\n\n### Metrics\n| Metric name               | Description                             |\n| ------------------------- | --------------------------------------- |\n| monobank_balance          | Show the current balance for each card      |\n| monobank_jars             | Show current list of jars               |\n| monobank_credit_limit     | Show the current credit limit for each card |\n| monobank_currencies_buy   | Shows currencies rate for buy           |\n| monobank_currencies_sell  | Shows currencies rate for sell          |\n| monobank_currencies_cross | Shows currencies rate for cross         |\n\nMetrics names can be overridden in the `metrics` config section. You can provide any name for these metrics.\nHere is the example with names as default.\n```yaml\nmetrics:\n  balance: \"monobank_balance\"\n  jars: \"monobank_jars\"\n  creditLimit: \"monobank_credit_limit\"\n  currenciesBuy: \"monobank_currencies_buy\"\n  currenciesSell: \"monobank_currencies_sell\"\n  currenciesCross: \"monobank_currencies_cross\"\n```\n\n### monobank-exporter usage\n  * minimal request time for client info is 2 minutes\n  * minimal request time for currencies info is 10 minutes\n  * use HTTP or HTTPS for webhook only\n  * `/webhook` ending is mandatory\n  * basic auth is not required. it can be added from the config\n\nCurrency metrics will be provisioned in any case.\u003cbr/\u003e\nThe client's metrics will be provisioned only in the case of the existing token.\u003cbr/\u003e\nWebhook will be set only in case of a valid URL (HTTP or HTTPS doesn't matter).\u003cbr/\u003e\n\n# Logs\n  * logs are shown at the console and written to file `/etc/monobank-exporter/logs/monobank-exporter.log`\n  * Serilog is used as a logger. Settings are defined in the `/etc/monobank-exporter/appsettings.json` file.\n    You can override these settings.\u003cbr/\u003e\n\tDocumentation can be found here: [Serilog.Settings.Configuration](https://github.com/serilog/serilog-settings-configuration)\n\n# Examples\u003cbr/\u003e\n\n## Docker-compose with the image from [Docker Hub](https://hub.docker.com/r/thegarmr/monobank-exporter)\n```yaml\nversion: '3.1'\n\nservices:\n  exporter:\n    image: thegarmr/monobank-exporter:latest\n    container_name: monobank-exporter\n    restart: always\n    volumes:\n      - ./monobank-exporter.yml:/etc/monobank-exporter/monobank-exporter.yml\n      - ./logs:/etc/monobank-exporter/logs\n```\n\n## Docker-compose with the image from [Docker Hub](https://hub.docker.com/r/thegarmr/monobank-exporter) with Grafana and Prometheus\nYou can find this example in the `Example` folder\u003cbr/\u003e\nClone the repository to your local folder\u003cbr/\u003e\n`git clone https://github.com/TheGarmr/monobank-exporter.git`\u003cbr/\u003e\n\nGo to the folder with sources\u003cbr/\u003e\n`cd monobank-exporter/Example`\u003cbr/\u003e\n\nEdit monobank-exporter.yml in the root folder (you can find an example below)\u003cbr/\u003e\n\nCompose up!\u003cbr/\u003e\n`docker-compose up -d`\u003cbr/\u003e\n\n## Docker-compose with images from sources\nClone the repository to your local folder\u003cbr/\u003e\n`git clone https://github.com/TheGarmr/monobank-exporter.git`\u003cbr/\u003e\n\nGo to the folder with sources\u003cbr/\u003e\n`cd monobank-exporter`\u003cbr/\u003e\n\nEdit monobank-exporter.yml in the root folder (you can find an example below)\u003cbr/\u003e\n\nCompose up!\u003cbr/\u003e\n`docker-compose up -d`\u003cbr/\u003e\n\n## Config file example\n```yaml\nmonobank-exporter:\n  clients: #optional\n    - name: \"John\"\n      token: \"yourToken\"\n    - name: \"Briana\"\n      token: \"yourToken\"\n  webhookUrl: \"http://yourUrl/webhook\" #optional\n  clientsRefreshTimeInMinutes: 60 #optional\n  currenciesRefreshTimeInMinutes: 720 #optional\nbasic-auth: #optional\n  username: \"admin\"\n  password: \"admin\"\nmonobank-api: #optional\n  apiBaseUrl: \"https://api.monobank.ua\"\n```\n# What's new\n  * v1.1 - Added ability to set up basic auth for the `metrics` endpoint.\n  * v1.2 - Added Serilog as a logger and cleaned up a lot of useless commands.\n  * v1.3 - Changed timezone to Europe/Kiev at the alpine image. Changed logs file naming.\n  * v1.4 - Fix wrong behavior for webhooks setting and redundant logs.\u003cbr/\u003e\n           Switched from root user to non-root at the Dockerfile.\u003cbr/\u003e\n           Added GET endpoint for the webhook controller to avoid any possible problems with webhooks setting. According to the documentation, the provided URL should respond with 200 status.\u003cbr/\u003e\n           Added upgrading of musl at the image to avoid all vulnerabilities.\u003cbr/\u003e\n           Added some labels to the Dockerfile.\u003cbr/\u003e\n  * v1.5 - Removed Redis dependency with IMemoryCache. Small refactoring of library for monobank client\n  * v1.5.1 - Hotfix of webhook publishing\n  * v1.6 - Refactored project. Added small features. Added newly created package for HTTP client.\u003cbr/\u003e\n           You can add an API url settings section if it will change.\u003cbr\u003e\n           Simply add the `monobank-api` section with the `ApiBaseUrl`  property. Currently, it uses the `https://api.monobank.ua` url by default.\u003cbr/\u003e\n           Deleted the `credit_limit` field from the `monobank_balance`.\u003cbr/\u003e\n           Instead of this `credit_limit` will be exposed as a separate metric.\n  * v1.6.1 - Hotfix. Changed package version for client's NuGet package with webhook not setting.\n  * v1.6.2 - Changed log level for the Microsoft's http client to `Warning` for better logs readability\n  * v1.7 - Migrated the app to .Net 6. Refactored a lot and small redisign on balance exporting.\u003cbr/\u003e\n           Added ability to override metrics names.\u003cbr/\u003e\n           Added ability to override Serilog's settings.\n  * v1.8 - Resolved issue with logs.\u003cbr/\u003e\n           Renamed project 'API' to 'Service'.\u003cbr/\u003e\n           Added .gitlab-ci.yml\n  * v1.9 - Disabled non-root user at container to fix issue with logs on Unix systems\n  * v1.10 - Added export of actual jars\n  * v1.11 - Upgraded .Net version to 7.0. Added minimal API.\n  * v1.11.1 - Hotfix of missed adding configuration\n  * v1.12 - Upgraded to .net 8 and monobank-client library\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthegarmr%2Fmonobank-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthegarmr%2Fmonobank-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthegarmr%2Fmonobank-exporter/lists"}