line / promgen

Promgen is a configuration file generator for Prometheus
https://line.github.io/promgen/
MIT License
1.06k stars 150 forks source link

Add addition params feature into import prometheus configuration #180

Open tuan-phan opened 5 years ago

tuan-phan commented 5 years ago

Hi Team, Currently, promgen configuration only support some params. I have some configuration need migrate to Promgen like:


scrape_configs:
   - job_name: 'test_application'
     metrics_path: 'prometheus'
     params:
       token: ['xxxxxx']
     file_sd_configs:
     - files:
       - file-sd/jennifer_node*.json

jennifer_node*.json have this content

  {
    "targets": [
      "http://atrkadas-stream1.travel-dev.dev.jp.local/healthcheck.html",
      "http://atrsrm-api.travel-dev.dev.jp.local/healthcheck.html"
    ],
    "labels": {
      "type": "internal",
      "platform": "cloud"
    }

Can we add some params like token, type, platform .... ? It should be useful. Thank you,

kfdm commented 5 years ago

It's not possible now, but I have thought about supporting custom labels and params for scrape targets. Promgen would likely still pass its default labels (job/service/project) though you could handle that with relabel config

In your idea, how would you expect to handle the UI side of things? Would the same token/custom label apply to all targets in a project, or would it apply only to a specific target

tuan-phan commented 5 years ago

Hi @kfdm , Some case we need apply for whole project, some case we apply only to a specific target... Example: The token will apply for all targets. But some labels like: app_team_name, host_group will be use for specific target

  {
    "targets": [
      "dev-mon-test2.dev.local:7900"
    ],
    "labels": {
      "app_team_name": "booking",
      "host_group": "dev-mon-test2",
      "platform": "private"
    }
  },
  {
    "targets": [
      "dev-mon-test1.dev.local:7900"
    ],
    "labels": {
      "app_team_name": "apm",
      "host_group": "dev-mon-test1",
      "platform": "cloud1"
    }
  }
github-actions[bot] commented 4 years ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days

dykow commented 4 years ago

Hi! Is it possible to do something like this now? targets.json

[
    {
      "targets": [
        "x.x.x.x"
      ],
      "labels": {
        "job": "vmware"
      },
      "params": {
          "section": ["origin"]
      }
    }
]  

@kfdm

kfdm commented 4 years ago

Currently there is no support for something like that 🙇

dykow commented 4 years ago

Currently there is no support for something like that bow

Oooh, ok. Thanks for the reply :)