添加 docker-compose/prometheus/alloy/config/config.alloy
This commit is contained in:
79
docker-compose/prometheus/alloy/config/config.alloy
Normal file
79
docker-compose/prometheus/alloy/config/config.alloy
Normal file
@@ -0,0 +1,79 @@
|
||||
// ###############################
|
||||
// #### Metrics Configuration ####
|
||||
// ###############################
|
||||
|
||||
// Host Cadvisor on the Docker socket to expose container metrics.
|
||||
prometheus.exporter.cadvisor "example" {
|
||||
docker_only = true
|
||||
}
|
||||
|
||||
discovery.relabel "example" {
|
||||
targets = prometheus.exporter.cadvisor.example.targets
|
||||
|
||||
rule {
|
||||
target_label = "job"
|
||||
replacement = "integrations/docker"
|
||||
}
|
||||
|
||||
rule {
|
||||
target_label = "instance"
|
||||
replacement = constants.hostname
|
||||
}
|
||||
}
|
||||
|
||||
// Configure a prometheus.scrape component to collect cadvisor metrics.
|
||||
prometheus.scrape "scraper" {
|
||||
targets = discovery.relabel.example.output
|
||||
forward_to = [ prometheus.remote_write.demo.receiver ]
|
||||
|
||||
|
||||
scrape_interval = "10s"
|
||||
}
|
||||
|
||||
// Configure a prometheus.remote_write component to send metrics to a Prometheus server.
|
||||
prometheus.remote_write "demo" {
|
||||
endpoint {
|
||||
url = "http://prometheus:9090/api/v1/write"
|
||||
}
|
||||
}
|
||||
|
||||
// ###############################
|
||||
// #### Logging Configuration ####
|
||||
// ###############################
|
||||
|
||||
// Discover Docker containers and extract metadata.
|
||||
discovery.docker "linux" {
|
||||
host = "unix:///var/run/docker.sock"
|
||||
}
|
||||
|
||||
// Define a relabeling rule to create a service name from the container name.
|
||||
discovery.relabel "logs_integrations_docker" {
|
||||
targets = []
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_docker_container_name"]
|
||||
regex = "/(.*)"
|
||||
target_label = "container_name"
|
||||
}
|
||||
|
||||
rule {
|
||||
target_label = "instance"
|
||||
replacement = constants.hostname
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Configure a loki.source.docker component to collect logs from Docker containers.
|
||||
loki.source.docker "default" {
|
||||
host = "unix:///var/run/docker.sock"
|
||||
targets = discovery.docker.linux.targets
|
||||
relabel_rules = discovery.relabel.logs_integrations_docker.rules
|
||||
forward_to = [loki.write.local.receiver]
|
||||
}
|
||||
|
||||
loki.write "local" {
|
||||
endpoint {
|
||||
url = "http://10.0.141.200:3100/loki/api/v1/push"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user