2018-05-30 20:14:34 +08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# Custom SD
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								Custom SD is available via the file_sd adapter, which can be used to access SD mechanisms that are not 
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								included in official Prometheus releases. The sd adapter outputs a file that can be passed via your `prometheus.yml` 
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								as a `file_sd` file. This will allow you to pass your targets to Prometheus for scraping without having 
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								to use a static config.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# Example
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								This directory (`documentation/examples/custom-sd`) contains an example custom service discovery implementation
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								as well as a file_sd adapter usage. `adapter-usage` contains the `Discoverer` implementation for a basic Consul
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								service discovery mechanism. It simply queries Consul for all it's known services (except Consul itself), 
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								and sends them along with all the other service data as labels as a TargetGroup.
							 | 
						
					
						
							
								
									
										
										
										
											2018-10-19 04:19:21 +08:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								The `adapter` directory contains the adapter code you will want to import and pass your `Discoverer` 
							 | 
						
					
						
							
								
									
										
										
										
											2018-05-30 20:14:34 +08:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								implementation to.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# Usage
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								To use file_sd adapter you must implement a `Discoverer`. In `adapter-usage/main.go` replace the example 
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								SD config and create an instance of your SD implementation to pass to the `Adapter`'s `NewAdapter`. See the
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								`Note:` comments for the structs and `Run` function.
							 |