Open Julien-R44 opened 1 week ago
I get why this would be needed overall but I have a questions:
Because environment variables aren't collected by cAdvisor or anything I think. I suppose there's a way to tweak something, but with labels it works straight away. cAdvisor collects them, and I can use them in my PromQL queries ( Prometheus )
Changes
I strongly encourage to read the comment that initiated this PR: https://github.com/coollabsio/coolify/discussions/3569#discussioncomment-11233242
TL;DR: The main issue is the difficulty in monitoring due to automatically generated container names. Currently, when I look at my Grafana/cAdvisor dashboard tracking CPU usage for each container managed by Coolify, I only see cuid names , which makes it impossible to identify what each container corresponds to.
So we need a way to have "human-readable" names for each container. This PR addresses the issue by adding three new labels to each container managed by Coolify :
coolify.resourceName
: The name of theApplication
orService
coolify.projectName
: The name of the project where the resource livescoolify.serviceName
: This one might be a bit confusing, and perhaps we can find a better name. If the resource is of typeService
, it will be the sub-service name. If it's of typeApplication
, it will be the application name. This label is necessary because, using my monitoring use case as an example, I need metrics/logs for each of my containers. To differentiate them, I need a unique name. If I'm using aService
, I can't rely oncoolify.resourceName
since all the services in my docker-compose file would have the same value. I hope this explanation makes sense.This is my first contribution to Coolify, and I'm not familiar with PHP either, so feel free to point out any corrections or improvements I should made
( And thanks a lot for making Coolify 💙 )
Issues