https://github.com/orange-cloudfoundry/promfetcher-release
This is the bosh release for deploying promfetcher alongside cloud foundry.
https://github.com/orange-cloudfoundry/promfetcher-release
Last synced: 5 months ago
JSON representation
This is the bosh release for deploying promfetcher alongside cloud foundry.
- Host: GitHub
- URL: https://github.com/orange-cloudfoundry/promfetcher-release
- Owner: orange-cloudfoundry
- License: apache-2.0
- Created: 2020-06-23T20:03:03.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2026-01-12T23:31:12.000Z (5 months ago)
- Last Synced: 2026-01-13T03:14:58.935Z (5 months ago)
- Language: Ruby
- Size: 420 KB
- Stars: 4
- Watchers: 7
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Promfetcher-release
This is the bosh release for deploying [promfetcher](https://github.com/orange-cloudfoundry/promfetcher) alongside cloud foundry.
[promfetcher](https://github.com/orange-cloudfoundry/promfetcher) was made for [cloud foundry](https://cloudfoundry.org) and the idea behind is to give ability to fetch
metrics from all app instances in a cloud foundry environment.
User can retrieve is metrics by simply call `/v1/apps/[org_name]/[space_name]/[app_name]/metrics` which will merge all metrics
from instances and add labels:
- `organization_id`
- `space_id`
- `app_id`
- `organization_name`
- `space_name`
- `app_name`
- `index` - app instance index
- `instance_id` - the same as index
- `instance` - real container address
It also a service broker for cloud foundry to be able to set metrics endpoint for a particular which not use `/metrics` by default.
## Example
Metrics from app instance 0:
```
go_memstats_mspan_sys_bytes{} 65536
```
Metrics from app instance 1:
```
go_memstats_mspan_sys_bytes{} 5600
```
become:
```
go_memstats_mspan_sys_bytes{organization_id="7d66c7e7-196a-40e5-a259-f5afaf6a56f4",space_id="2ac205af-e18f-49a9-9a8b-48ef2bab2292",app_id="621617db-9dd9-4211-8848-b245f3ea16b2",organization_name="system",space_name="tools",app_name="app",index="0",instance_id="0",instance="172.76.112.90:61038"} 65536
go_memstats_mspan_sys_bytes{organization_id="7d66c7e7-196a-40e5-a259-f5afaf6a56f4",space_id="2ac205af-e18f-49a9-9a8b-48ef2bab2292",app_id="621617db-9dd9-4211-8848-b245f3ea16b2",organization_name="system",space_name="tools",app_name="app",index="1",instance_id="1",instance="172.76.112.91:61010"} 65536
```
## Deploy on cloud foundry
Manifest has been created to be set as an ops file for [cloud foundry deployment](https://github.com/cloudfoundry/cf-deployment).
Simply add ops file to your [cf-deployment](https://github.com/cloudfoundry/cf-deployment):
- [/manifests/operations/cf/cf.yml](/manifests/operations/cf/cf.yml)
- *(Optional)* [/manifests/operations/cf/enable-router-routing.yml](/manifests/operations/cf/enable-router-routing.yml):
for using a route registrar to be able to resolve https://promfetcher.system.domain . But using it will make gorouter a bottleneck to get
metrics, prefer using a proper dns entry for resolving https://promfetcher.system.domain and set entries to your load balancer to point directly to vm
instead of using gorouter
- *(Optional)* [/manifests/operations/cf/enable-backup.yml](/manifests/operations/cf/enable-backup.yml): Enable bbr backup/restore.
- *(Optional)* [/manifests/operations/cf/disable-broker.yml](/manifests/operations/cf/disable-broker.yml): Disable broker functionality and remove database link because it becomes unnecessary.
## Add broker for let user choose its endpoint
Run: `bosh -d cf run-errand --instance=promfetch/0 promfetch-broker-registrar`