2016-09-15 7 views
0

Отказ от ответственности: Я узнаю, что такое Прометей около дня назад.Prometheus + nginx-exporter: собирать только от <some_nginx_container_ip>: 9113

Я пытаюсь использовать Прометей с nginx exporter

скопировать-вставить пример конфигурации из grafana dashboard, и она работает безупречно с узлом-экспортером, но, когда я пытаюсь адаптировать его к Nginx-экспортеру, развернутый в одном контейнере с сервером nginx, Prometheus выводит много мусора в Targets (все открытые порты для всех доступных IP-адресов).

Так, интересно, как я должен адаптировать работу выводить только необходимый контейнер (с его именем в этикетках и т.д.)

- job_name: 'kubernetes-nginx-exporter' 
    tls_config: 
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt 
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token 
    kubernetes_sd_configs: 
    - api_servers: 
    - 'https://kubernetes.default.svc' 
    in_cluster: true 
    role: container 
    relabel_configs: 
    - action: labelmap 
    regex: __meta_kubernetes_node_label_(.+) 
    - source_labels: [__meta_kubernetes_role] 
    action: replace 
    target_label: kubernetes_role 
    - source_labels: [__address__] 
    regex: '(.*):10250' 
    replacement: '${1}:9113' 
    target_label: __address__ 

ответ

1

Право обходной путь был добавить аннотации к развертыванию в шаблоне раздела :

annotations: 
    prometheus.io/scrape: 'true' 
    prometheus.io/port: '9113' 

и установить role: pod в job_name: 'kubernetes-pods' (если не установлен).

Вот и все, ваши конечные точки будут присутствовать только с портами, которые вы предоставили, и со всеми необходимыми ярлыками.