56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
- name: Install Prometheus node exporter
 | 
						|
  apt:
 | 
						|
    name: prometheus-node-exporter
 | 
						|
    state: present
 | 
						|
 | 
						|
- name: Run Prometheus node exporter
 | 
						|
  service:
 | 
						|
    name: prometheus-node-exporter
 | 
						|
    state: started
 | 
						|
 | 
						|
- name: Create Prometheus directory
 | 
						|
  file:
 | 
						|
    path: /home/{{ docker_user }}/prometheus
 | 
						|
    state: directory
 | 
						|
 | 
						|
- name: Install Prometheus configuration
 | 
						|
  template:
 | 
						|
    src: prometheus-config.yml
 | 
						|
    dest: /home/{{ docker_user }}/prometheus/prometheus.yml
 | 
						|
 | 
						|
- name: Create Prometheus network
 | 
						|
  docker_network:
 | 
						|
    name: "{{ prom_name }}"
 | 
						|
 | 
						|
- name: Start Prometheus container
 | 
						|
  docker_container:
 | 
						|
    name: "{{ prom_name }}"
 | 
						|
    image: prom/prometheus:{{ prom_version }}
 | 
						|
    state: started
 | 
						|
    restart_policy: always
 | 
						|
    volumes:
 | 
						|
      - /home/{{ docker_user }}/prometheus:/etc/prometheus
 | 
						|
    networks_cli_compatible: true
 | 
						|
    networks:
 | 
						|
      - name: "{{ prom_name }}"
 | 
						|
      - name: traefik
 | 
						|
    labels:
 | 
						|
      traefik.http.routers.prometheus.rule: "Host(`{{ prom_domain }}`)"
 | 
						|
      traefik.http.routers.prometheus.entrypoints: websecure
 | 
						|
      traefik.docker.network: traefik
 | 
						|
      traefik.enable: "true"
 | 
						|
 | 
						|
- name: Start Grafana container
 | 
						|
  docker_container:
 | 
						|
    name: grafana
 | 
						|
    image: grafana/grafana:latest
 | 
						|
    networks_cli_compatible: true
 | 
						|
    networks:
 | 
						|
      - name: "{{ prom_name }}"
 | 
						|
      - name: traefik
 | 
						|
    labels:
 | 
						|
      traefik.http.routers.grafana.rule: "Host(`{{ grafana_domain }}`)"
 | 
						|
      traefik.http.routers.grafana.entrypoints: websecure
 | 
						|
      traefik.docker.network: traefik
 | 
						|
      traefik.enable: "true"
 |