add memcached exporter - first draft
This commit is contained in:
		
							
								
								
									
										52
									
								
								tasks/memcached_exporter.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								tasks/memcached_exporter.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: 'prometheus | memcached exporter | get latest release from GitHub'
 | 
				
			||||||
 | 
					  shell: curl --silent "https://api.github.com/repos/prometheus/memcached_exporter/releases/latest" | jq -r .tag_name | sed "s/v//"
 | 
				
			||||||
 | 
					  args:
 | 
				
			||||||
 | 
					    warn: false
 | 
				
			||||||
 | 
					  register: prometheus_memcached_exporter_latest_version
 | 
				
			||||||
 | 
					  run_once: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'prometheus | memcached exporter | download'
 | 
				
			||||||
 | 
					  get_url:
 | 
				
			||||||
 | 
					    url: https://github.com/prometheus/memcached_exporter/releases/download/v{{ prometheus_memcached_exporter_version|default(prometheus_memcached_exporter_latest_version.stdout) }}/memcached_exporter-v{{ prometheus_memcached_exporter_version|default(prometheus_memcached_exporter_latest_version.stdout) }}.linux-amd64.tar.gz
 | 
				
			||||||
 | 
					    dest: /tmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'prometheus | memcached exporter | unarchive'
 | 
				
			||||||
 | 
					  unarchive:
 | 
				
			||||||
 | 
					    remote_src: yes
 | 
				
			||||||
 | 
					    src: /tmp/memcached_exporter-v{{ prometheus_memcached_exporter_version|default(prometheus_memcached_exporter_latest_version.stdout) }}.linux-amd64.tar.gz
 | 
				
			||||||
 | 
					    dest: /tmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'prometheus | memcached exporter | move to /usr/local/bin'
 | 
				
			||||||
 | 
					  copy:
 | 
				
			||||||
 | 
					    src: /tmp/memcached_exporter-v{{ prometheus_memcached_exporter_version|default(prometheus_memcached_exporter_latest_version.stdout) }}.linux-amd64/memcached_exporter
 | 
				
			||||||
 | 
					    dest: /usr/local/bin/prometheus-memcached-exporter
 | 
				
			||||||
 | 
					    remote_src: yes
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    group: root
 | 
				
			||||||
 | 
					    mode: 0755
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'prometheus | memcached exporter | install unit file to systemd'
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    src: systemd/prometheus-memcached-exporter.service.j2
 | 
				
			||||||
 | 
					    dest: /etc/systemd/system/prometheus-memcached-exporter.service
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    group: root
 | 
				
			||||||
 | 
					    mode: 0600
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# - name: 'prometheus | memcached exporter | configuration'
 | 
				
			||||||
 | 
					#   template:
 | 
				
			||||||
 | 
					#     src: conf/prometheus-memcached-exporter.j2
 | 
				
			||||||
 | 
					#     dest: /etc/default/prometheus-memcached-exporter
 | 
				
			||||||
 | 
					#     owner: root
 | 
				
			||||||
 | 
					#     group: root
 | 
				
			||||||
 | 
					#     mode: 0600
 | 
				
			||||||
 | 
					#   register: prometheus_memcached_exporter_configuration
 | 
				
			||||||
 | 
					#   notify:
 | 
				
			||||||
 | 
					#     - 'prometheus | memcached exporter | restart service'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'prometheus | memcached exporter | configure systemd to use service'
 | 
				
			||||||
 | 
					  systemd:
 | 
				
			||||||
 | 
					    daemon_reload: yes
 | 
				
			||||||
 | 
					    enabled: yes
 | 
				
			||||||
 | 
					    name: prometheus-memcached-exporter.service
 | 
				
			||||||
@@ -321,3 +321,20 @@ scrape_configs:
 | 
				
			|||||||
        - {{ target }}
 | 
					        - {{ target }}
 | 
				
			||||||
{% endfor %}
 | 
					{% endfor %}
 | 
				
			||||||
{% endif %}
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% if prometheus_memcached_exporter_targets is defined %}
 | 
				
			||||||
 | 
					  # Memcached exporter #
 | 
				
			||||||
 | 
					  - job_name: memcached
 | 
				
			||||||
 | 
					    scrape_interval: 30s
 | 
				
			||||||
 | 
					    scrape_timeout: 10s
 | 
				
			||||||
 | 
					    static_configs:
 | 
				
			||||||
 | 
					      - targets:
 | 
				
			||||||
 | 
					{% for target in prometheus_memcached_exporter_targets %}
 | 
				
			||||||
 | 
					        - {{ target }}:9150
 | 
				
			||||||
 | 
					{% endfor %}
 | 
				
			||||||
 | 
					    relabel_configs:
 | 
				
			||||||
 | 
					      - source_labels: [ __address__ ]
 | 
				
			||||||
 | 
					        target_label: instance
 | 
				
			||||||
 | 
					        regex: '(.*):9150'
 | 
				
			||||||
 | 
					        replacement: '${1}'
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								templates/systemd/prometheus-memcached-exporter.service.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								templates/systemd/prometheus-memcached-exporter.service.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=Prometheus Memcached Exporter
 | 
				
			||||||
 | 
					After=network.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					Type=simple
 | 
				
			||||||
 | 
					ExecStart=/usr/local/bin/prometheus-memcached-exporter
 | 
				
			||||||
 | 
					EnvironmentFile=/etc/default/prometheus-memcached-exporter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
		Reference in New Issue
	
	Block a user