Что нужно сделать, чтобы использовать экспортер Prometheus для обслуживания Tensorflow? Согласно 1.11 сервис TF поддерживает метрики Prometheus: https://github.com/tensorflow/serving/releases/tag/1.11.0
Я запускаю докер из примера https://www.tensorflow.org/serving/docker и следующего:
docker run -p 8501: 8501 -p 8500: 8500 \ --mount type = bind, \ источник = / tmp / tfserving / servables / tensorflow_serving / servables / tensorflow / testdata / saved_model_half_plus_two_cpu, \ цель = / модели / half_plus_two \ -e ИМЯ_МОДЕЛИ = half_plus_two -t тензорный поток / обслуживание &
Файл конфигурации Prometheus: Глобальный: scrape_interval: 10 с оценка_интервал: 10 с external_labels: монитор: 'tf-обслуживающий монитор'
scrape_configs: - job_name: 'tensorflow' scrape_interval: 5 с static_configs: - цели: ['localhost: 8501']
Но Прометей не может найти метрики, предоставляемые tf serve. Есть ли конкретный порт, который я должен открыть в докере, или какой-то параметр, который я должен передать для обслуживания TF?


В соответствии с примечаниями к выпуску, с которыми вы связались TensorFlow экспортирует метрики Prometheus в /monitoring/prometheus/metrics (в отличие от /metrics Prometheus по умолчанию). Итак, по крайней мере, вам нужно добавить metrics_path в свою конфигурацию:
scrape_configs:
- job_name: 'tensorflow'
scrape_interval: 5s
metrics_path: '/monitoring/prometheus/metrics'
static_configs:
- targets: ['localhost:8501']
Но сначала убедитесь, что вы видите в браузере метрики, экспортированные в http: // локальный: 8501 / мониторинг / прометей / метрики. В противном случае копайтесь (в своем браузере), пока не найдете правильный URL-адрес (и отразите его в своей конфигурации).
Также передайте файл конфигурации в ваш контейнер (
-t --monitoring_config_file=/monitoring_config.txt) и убедитесь, что путь доступен изнутри контейнера.