Migrate services part
This commit is contained in:
		
							parent
							
								
									7c59e4ae57
								
							
						
					
					
						commit
						73bce8f6e5
					
				
					 157 changed files with 3883 additions and 9 deletions
				
			
		
							
								
								
									
										27
									
								
								roles/telegraf/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								roles/telegraf/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| --- | ||||
| - name: Set common facts | ||||
|   ansible.builtin.import_tasks: tasks/set-default-facts.yml | ||||
| 
 | ||||
| - name: Deploy {{ svc.name }} | ||||
|   vars: | ||||
|     svc: "{{ telegraf_svc }}" | ||||
|     env: "{{ telegraf_env }}" | ||||
|     compose: "{{ telegraf_compose }}" | ||||
|   block: | ||||
|     - name: Import prepare tasks for common service | ||||
|       ansible.builtin.import_tasks: tasks/prepare-common-service.yml | ||||
| 
 | ||||
|     - name: Template config | ||||
|       ansible.builtin.template: | ||||
|         src: telegraf.conf.j2 | ||||
|         dest: "{{ (service_path, 'telegraf.conf') | path_join }}" | ||||
|         mode: "0664" | ||||
|       register: cmd_result | ||||
| 
 | ||||
|     - name: Set the docker force-recreate flag | ||||
|       ansible.builtin.set_fact: | ||||
|         docker_force_recreate: --force-recreate | ||||
|       when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables. | ||||
| 
 | ||||
|     - name: Import start tasks for common service | ||||
|       ansible.builtin.import_tasks: tasks/start-common-service.yml | ||||
							
								
								
									
										47
									
								
								roles/telegraf/templates/telegraf.conf.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								roles/telegraf/templates/telegraf.conf.j2
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,47 @@ | |||
| [agent] | ||||
|   interval = "60s" | ||||
|   round_interval = true | ||||
|   metric_batch_size = 1000 | ||||
|   metric_buffer_limit = 10000 | ||||
|   collection_jitter = "0s" | ||||
|   flush_interval = "10s" | ||||
|   flush_jitter = "0s" | ||||
|   precision = "" | ||||
|   hostname = "node002.serguzim.me" | ||||
|   omit_hostname = false | ||||
| 
 | ||||
| [[outputs.influxdb_v2]] | ||||
|   urls = ["{{ svc.influxdb.url }}"] | ||||
|   token = "{{ svc.influxdb.token }}" | ||||
|   organization = "{{ svc.influxdb.organization }}" | ||||
|   bucket = "{{ svc.influxdb.bucket }}" | ||||
| 
 | ||||
| [[inputs.prometheus]] | ||||
|   urls = [ | ||||
|   {%- for url in svc.prometheus_unprotected.urls -%} | ||||
|     "{{ url }}", | ||||
|   {%- endfor -%} | ||||
|   ] | ||||
| 
 | ||||
| [[inputs.prometheus]] | ||||
|   urls = [ | ||||
|   {%- for url in svc.prometheus_protected.urls -%} | ||||
|     "{{ url }}", | ||||
|   {%- endfor -%} | ||||
|   ] | ||||
| 
 | ||||
|   bearer_token_string = "{{ svc.prometheus_protected.bearer_token }}" | ||||
| 
 | ||||
| [[inputs.postgresql]] | ||||
|   address = "postgres://{{ svc.postgresql.user }}:{{ svc.postgresql.pass }}@{{ svc.postgresql.host }}:{{ svc.postgresql.port }}/{{ svc.postgresql.database }}?sslmode=verify-full" | ||||
|   ignored_databases = ["postgres", "template0", "template1"] | ||||
|   prepared_statements = true | ||||
| 
 | ||||
| [[inputs.docker_log]] | ||||
|   endpoint = "{{ svc.docker_log.endpoint }}" | ||||
| 
 | ||||
|   docker_label_include = [ | ||||
|     "com.influxdata.telegraf.enable" | ||||
|   ] | ||||
| 
 | ||||
|   source_tag = {{ svc.docker_log.source_tag|lower }} | ||||
							
								
								
									
										44
									
								
								roles/telegraf/vars/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								roles/telegraf/vars/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,44 @@ | |||
| --- | ||||
| telegraf_svc: | ||||
|   name: telegraf | ||||
|   influxdb: | ||||
|     url: https://tick.serguzim.me | ||||
|     token: "{{ vault_telegraf.influxdb_token }}" | ||||
|     organization: serguzim.net | ||||
|     bucket: metrics | ||||
|   prometheus_unprotected: | ||||
|     urls: | ||||
|       - http://node002.vpn.serguzim.net:2019/metrics | ||||
|       - https://matrix.serguzim.me/_synapse/metrics | ||||
|       - https://push.serguzim.me/metrics | ||||
|       - https://tick.serguzim.me/metrics | ||||
|       - https://todo.serguzim.me/api/v1/metrics | ||||
|   prometheus_protected: | ||||
|     urls: | ||||
|       - https://ci.serguzim.me/metrics | ||||
|       - https://git.serguzim.me/metrics | ||||
|     bearer_token: "{{ vault_metrics_token }}" | ||||
|   postgresql: | ||||
|     user: "{{ vault_telegraf.db.user }}" | ||||
|     pass: "{{ vault_telegraf.db.pass }}" | ||||
|     host: "{{ postgres.host }}" | ||||
|     port: "{{ postgres.port }}" | ||||
|     database: telegraf | ||||
|   docker_log: | ||||
|     endpoint: unix:///var/run/docker.sock | ||||
|     source_tag: false | ||||
| 
 | ||||
| telegraf_compose: | ||||
|   watchtower: false | ||||
|   image: telegraf:1.28 | ||||
|   volumes: | ||||
|     - /var/run/docker.sock:/var/run/docker.sock | ||||
|     - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro | ||||
|   file: | ||||
|     services: | ||||
|       app: | ||||
|         user: telegraf | ||||
|         group_add: | ||||
|           - "972" # docker group on host | ||||
|     volumes: | ||||
|       data: | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue