Compare commits
	
		
			2 Commits
		
	
	
		
			285b437bde
			...
			43b4cbda62
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 43b4cbda62 | |||
| 6241b70632 | 
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -10,3 +10,5 @@
 | 
			
		||||
/qBittorrent/config/
 | 
			
		||||
/qBittorrent/qbit-config/
 | 
			
		||||
 | 
			
		||||
/Caddy/tempo-storage
 | 
			
		||||
/Caddy/grafana-storage
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@
 | 
			
		||||
		metrics
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	servers :80 {
 | 
			
		||||
	servers :3000 {
 | 
			
		||||
		name grafana
 | 
			
		||||
		metrics
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -4,26 +4,34 @@ services:
 | 
			
		||||
    image: caddy:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    ports:
 | 
			
		||||
      - '80:80'
 | 
			
		||||
      - '443:443'
 | 
			
		||||
      - 80:80
 | 
			
		||||
      - 443:443
 | 
			
		||||
      - '443:443/udp'
 | 
			
		||||
    volumes:
 | 
			
		||||
      - './Caddyfile:/etc/caddy/Caddyfile'
 | 
			
		||||
      - ./Caddyfile:/etc/caddy/Caddyfile
 | 
			
		||||
 | 
			
		||||
  # log collector
 | 
			
		||||
  prometheus:
 | 
			
		||||
    image: prom/prometheus:latest
 | 
			
		||||
    volumes:
 | 
			
		||||
      - './prometheus.yaml:/etc/prometheus/prometheus.yml'
 | 
			
		||||
      - ./prometheus.yaml:/etc/prometheus/prometheus.yml
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - caddy
 | 
			
		||||
 | 
			
		||||
  # trace collector
 | 
			
		||||
  tempo:
 | 
			
		||||
    image: grafana/tempo:latest
 | 
			
		||||
    command: [ "-config.file=/opt/tempo.yaml" ] 
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./tempo.yaml:/opt/tempo.yaml
 | 
			
		||||
      - ./tempo-storage/:/var/tempo
 | 
			
		||||
 | 
			
		||||
  # log viewer
 | 
			
		||||
  grafana:
 | 
			
		||||
    image: grafana/grafana:latest
 | 
			
		||||
    volumes:
 | 
			
		||||
      - './grafana.yaml:/etc/grafana/provisioning/datasources/datasources.yaml'
 | 
			
		||||
      - './grafana-storage/:/var/lib/grafana'
 | 
			
		||||
      - ./grafana.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
 | 
			
		||||
      - ./grafana-storage/:/var/lib/grafana
 | 
			
		||||
    environment:
 | 
			
		||||
      - GF_AUTH_ANONYMOUS_ENABLED=true
 | 
			
		||||
      - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
 | 
			
		||||
@@ -31,6 +39,5 @@ services:
 | 
			
		||||
      - GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - prometheus
 | 
			
		||||
      - tempo
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
  grafana-storage: {}
 | 
			
		||||
 
 | 
			
		||||
@@ -13,3 +13,17 @@ datasources:
 | 
			
		||||
  editable: false
 | 
			
		||||
  jsonData:
 | 
			
		||||
    httpMethod: GET
 | 
			
		||||
- name: Tempo
 | 
			
		||||
  type: tempo
 | 
			
		||||
  uid: tempo
 | 
			
		||||
  access: proxy
 | 
			
		||||
  orgId: 1
 | 
			
		||||
  url: http://tempo:3200
 | 
			
		||||
  basicAuth: false
 | 
			
		||||
  isDefault: false
 | 
			
		||||
  version: 1
 | 
			
		||||
  editable: false
 | 
			
		||||
  jsonData:
 | 
			
		||||
    httpMethod: GET
 | 
			
		||||
    serviceMap:
 | 
			
		||||
      datasourceUid: 'prometheus'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										60
									
								
								Caddy/tempo.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								Caddy/tempo.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
			
		||||
stream_over_http_enabled: true
 | 
			
		||||
server:
 | 
			
		||||
  http_listen_port: 3200
 | 
			
		||||
  log_level: info
 | 
			
		||||
 | 
			
		||||
query_frontend:
 | 
			
		||||
  search:
 | 
			
		||||
    duration_slo: 5s
 | 
			
		||||
    throughput_bytes_slo: 1.073741824e+09
 | 
			
		||||
  trace_by_id:
 | 
			
		||||
    duration_slo: 5s
 | 
			
		||||
 | 
			
		||||
distributor:
 | 
			
		||||
  receivers:                           # this configuration will listen on all ports and protocols that tempo is capable of.
 | 
			
		||||
    jaeger:                            # the receives all come from the OpenTelemetry collector.  more configuration information can
 | 
			
		||||
      protocols:                       # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver
 | 
			
		||||
        thrift_http:                   #
 | 
			
		||||
        grpc:                          # for a production deployment you should only enable the receivers you need!
 | 
			
		||||
        thrift_binary:
 | 
			
		||||
        thrift_compact:
 | 
			
		||||
    zipkin:
 | 
			
		||||
    otlp:
 | 
			
		||||
      protocols:
 | 
			
		||||
        http:
 | 
			
		||||
        grpc:
 | 
			
		||||
    opencensus:
 | 
			
		||||
 | 
			
		||||
ingester:
 | 
			
		||||
  max_block_duration: 5m               # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally
 | 
			
		||||
 | 
			
		||||
compactor:
 | 
			
		||||
  compaction:
 | 
			
		||||
    block_retention: 1h                # overall Tempo trace retention. set for demo purposes
 | 
			
		||||
 | 
			
		||||
metrics_generator:
 | 
			
		||||
  registry:
 | 
			
		||||
    external_labels:
 | 
			
		||||
      source: tempo
 | 
			
		||||
      cluster: docker-compose
 | 
			
		||||
  storage:
 | 
			
		||||
    path: /var/tempo/generator/wal
 | 
			
		||||
    remote_write:
 | 
			
		||||
      - url: http://prometheus:9090/api/v1/write
 | 
			
		||||
        send_exemplars: true
 | 
			
		||||
  traces_storage:
 | 
			
		||||
    path: /var/tempo/generator/traces
 | 
			
		||||
 | 
			
		||||
storage:
 | 
			
		||||
  trace:
 | 
			
		||||
    backend: local                     # backend configuration to use
 | 
			
		||||
    wal:
 | 
			
		||||
      path: /var/tempo/wal             # where to store the wal locally
 | 
			
		||||
    local:
 | 
			
		||||
      path: /var/tempo/blocks
 | 
			
		||||
 | 
			
		||||
overrides:
 | 
			
		||||
  defaults:
 | 
			
		||||
    metrics_generator:
 | 
			
		||||
      processors: [service-graphs, span-metrics, local-blocks] # enables metrics generator
 | 
			
		||||
      generate_native_histograms: both
 | 
			
		||||
		Reference in New Issue
	
	Block a user