diff --git a/monitoring.nginx-exporter/defaults/main.yml b/monitoring.nginx-exporter/defaults/main.yml new file mode 100644 index 0000000..421741c --- /dev/null +++ b/monitoring.nginx-exporter/defaults/main.yml @@ -0,0 +1,3 @@ +nginx_exporter__image_name: "nginx/nginx-prometheus-exporter" +nginx_exporter__image_tag: "0.8.0" +nginx_exporter__image: "{{ nginx_exporter__image_name }}:{{ nginx_exporter__image_tag }}" diff --git a/monitoring.nginx-exporter/tasks/main.yml b/monitoring.nginx-exporter/tasks/main.yml new file mode 100644 index 0000000..32fa5fe --- /dev/null +++ b/monitoring.nginx-exporter/tasks/main.yml @@ -0,0 +1,30 @@ +--- +- name: MONITORING.NGINX-EXPORTER | Prepare deployment + import_role: + name: docker.deployment.prepare + vars: + deployment_name: nginx + tags: + - nginx-exporter + +- name: MONITORING.NGINX-EXPORTER | Copy templates + template: + src: templates/{{ item }}.j2 + dest: "{{ docker_deployment__deploy_path }}/{{ item }}" + loop: + - docker-compose.yml + become_user: "{{ docker_deployment__deploy_user_name }}" + become: yes + tags: + - files + - nginx-exporter + +- name: MONITORING.NGINX-EXPORTER | Run deployment + docker_service: + restarted: "yes" + project_src: "{{ docker_deployment__deploy_path }}" + become: yes + become_user: "{{ docker_deployment__deploy_user_name }}" + tags: + - run + - nginx-exporter diff --git a/monitoring.nginx-exporter/templates/docker-compose.yml.j2 b/monitoring.nginx-exporter/templates/docker-compose.yml.j2 new file mode 100644 index 0000000..058b19f --- /dev/null +++ b/monitoring.nginx-exporter/templates/docker-compose.yml.j2 @@ -0,0 +1,18 @@ +version: "3.7" + +services: + nginx-exporter: + container_name: nginx-exporter + image: "{{ nginx_exporter__image }}" + restart: unless-stopped + ports: + - "{{ nginx_exporter__port }}:9113" +{% if nginx_exporter is defined and nginx_exporter.docker is defined %} + extra_hosts: {{ nginx_exporter.docker.extra_hosts | default([]) | to_json }} + environment: {{ nginx_exporter.docker.environment | default([]) | to_json }} +{% endif %} + logging: + driver: json-file + options: + max-file: "1" + max-size: "50m"