Перво-наперво, прометей предназначен для метрик, а не для регистрации. Для ведения журнала вы можете использовать ElasticSearch в сочетании с Logstash и / или Filebeat.
nginx_exporter считывает данные из API состояния nginx. Таким образом, экспортер nginx должен иметь доступ к порту nginx, где этот API активен. В большинстве случаев с практическими рекомендациями это порт 8080, однако он настраивается.
https://github.com/nginxinc/nginx-prometheus-exporter
Взгляните на эти примеры, где -nginx.scrape-uri
- это URL / путь и порт для API nginx.
https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/#configuring-the-api
Посмотрите здесь, чтобы настроить свой API, вы должны добавить или изменить некоторые настройки nginx для этого.
Вы также можете просто создать серверный блок, как этот, чтобы включить nginx api.:
server {
listen <fill_in_the_ip_of_your_server>:8080;
location /api {
api;
allow all;
###
# change the 'allow all' if the server block doesn't have any access limitations and is accessible to
# the world. You won't give the world access to your nginx data.
# allow takes multiple types of data, the most popular and built-in one is a simple IP in CIDR notation (IP + subnet in bits (192.168.1.1/16 for example will give all addresses in 192.168.x.x. access to this api. /24 will do 192.168.1.x and /32 will fix that specified address only to access that specific server or 'location' block.
###
}
}
После этого вам нужно добавить конечную точку «очистки» в прометей. Прометей называет это иногда «целями». Имейте в виду, что образ докера экспортера nginx должен иметь доступ к api экземпляров nginx (-plus) и что машина prometheus должна иметь доступ к странице метрик экспортера nginx по адресу: 9113 / metrics. Вы можете изменить порт экспортера nginx, но это не требуется, если этот порт еще не используется на IP-адресе, где живет экспортер.
Имейте также в виду, что если вы активируете API на другом порту, отличном от порта, запущенного в Docker, вы должны уничтожить контейнер и добавить отображение портов с помощью `-p- first, иначе этот порт активен только внутри контейнера Docker. но никогда не подвергается воздействию своего хоста ... в этом случае, вероятно, ваш сервер или компьютер.
Удачи!