Added endlessh collection script
This commit is contained in:
		
							parent
							
								
									2504800429
								
							
						
					
					
						commit
						9cf1463a75
					
				| @ -47,3 +47,21 @@ | |||||||
|         state: present |         state: present | ||||||
|       become: true |       become: true | ||||||
|       become_method: sudo |       become_method: sudo | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ####- endlessh monitoring script | ||||||
|  | 
 | ||||||
|  |     - name: Verify certificate script is deployed | ||||||
|  |       ansible.builtin.template: | ||||||
|  |         dest: /opt/sublight/scripts/collect-endlesshdata.sh | ||||||
|  |         src: ~/ansible/templates/collect-endlesshdata.sh.j2 | ||||||
|  |         mode: '0744' | ||||||
|  |     - name: Ensure cert monitoring script is scheduled | ||||||
|  |       ansible.builtin.cron: | ||||||
|  |         name: "Poll endlessh data" | ||||||
|  |         minute: "*" | ||||||
|  |         job: "/opt/sublight/scripts/collect-endlesshdata.sh" | ||||||
|  |         user: root | ||||||
|  |         state: present | ||||||
|  |       become: true | ||||||
|  |       become_method: sudo | ||||||
|  | |||||||
| @ -6,8 +6,8 @@ | |||||||
| influx_host="{{ influx_host }}" | influx_host="{{ influx_host }}" | ||||||
| influx_path="/api/v2/write" | influx_path="/api/v2/write" | ||||||
| influx_org="{{ influx_org }}" | influx_org="{{ influx_org }}" | ||||||
| influx_bucket="{{ influx_bucket }}" | influx_bucket="{{ influx_bucket_cert }}" | ||||||
| influx_token="{{ influx_token }}" | influx_token="{{ influx_token_cert }}" | ||||||
| influx_metric="certificate" | influx_metric="certificate" | ||||||
| domains=({% for dns in certificate_monitor_domains %}"{{dns}}" {% endfor %}) | domains=({% for dns in certificate_monitor_domains %}"{{dns}}" {% endfor %}) | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										26
									
								
								templates/collect-endlesshdata.sh.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								templates/collect-endlesshdata.sh.j2
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | # Recommended crontab: | ||||||
|  | #   * *   *   *   *    /path/to/collect-certdata.sh | ||||||
|  | 
 | ||||||
|  | influx_host="{{ influx_host }}" | ||||||
|  | influx_path="/api/v2/write" | ||||||
|  | influx_org="{{ influx_org }}" | ||||||
|  | influx_bucket="{{ influx_bucket_endlessh }}" | ||||||
|  | influx_token="{{ influx_token_endlessh }}" | ||||||
|  | influx_metric="endlessh" | ||||||
|  | endless_hosts=({% for endless_host in endlessh_hostnames %}"{{endless_host}}" {% endfor %}) | ||||||
|  | # https://aperture.dismyserver.net/.endlessh.stats.html | ||||||
|  | influx_url="${influx_host}${influx_path}?org=${influx_org}&bucket=${influx_bucket}" | ||||||
|  | influx_header_auth="Authorization: Token ${influx_token}" | ||||||
|  | influx_header_content="Content-Type: text/plain; charset=utf-8" | ||||||
|  | influx_header_accept="Accept: application/json" | ||||||
|  | 
 | ||||||
|  | for endless_host in ${endless_hosts[@]}; do | ||||||
|  |  endless_stats="$(curl -s https://${endless_host}/.endlessh.stats.html)" | ||||||
|  |  endless_active="$(echo ${endless_stats} | cut -d/ -f1)" | ||||||
|  |  endless_total="$(echo ${endless_stats} | cut -d/ -f2)" | ||||||
|  |  data="${influx_metric},host=${endless_host} active=${endless_active}i,total=${endless_total}i" | ||||||
|  | 
 | ||||||
|  |  curl --request POST "${influx_url}" --header "${influx_header_auth}" --header "${influx_header_content}" --header "${influx_header_accept}" --data-binary "${data}" | ||||||
|  | done | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 WhatTheMike
						WhatTheMike