| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- /* Grafana Alloy Configuration Examples
- * ---
- * LINK: For more details, visit https://github.com/grafana/alloy-scenarios
- */
- // SECTION: TARGETS
- loki.write "default" {
- endpoint {
- url = "http://loki:3100/loki/api/v1/push"
- }
- external_labels = {}
- }
- prometheus.remote_write "default" {
- endpoint {
- url = "http://prometheus:9090/api/v1/write"
- }
- }
- // !SECTION
- // SECTION: SYSTEM LOGS & JOURNAL
- loki.source.journal "journal" {
- max_age = "24h0m0s"
- relabel_rules = discovery.relabel.journal.rules
- forward_to = [loki.write.default.receiver]
- labels = {component = string.format("%s-journal", constants.hostname)}
- // NOTE: This is important to fix https://github.com/grafana/alloy/issues/924
- path = "/var/log/journal"
- }
- local.file_match "system" {
- path_targets = [{
- __address__ = "localhost",
- __path__ = "/var/log/{syslog,messages,*.log}",
- instance = constants.hostname,
- job = string.format("%s-logs", constants.hostname),
- }]
- }
- discovery.relabel "journal" {
- targets = []
- rule {
- source_labels = ["__journal__systemd_unit"]
- target_label = "unit"
- }
- rule {
- source_labels = ["__journal__boot_id"]
- target_label = "boot_id"
- }
- rule {
- source_labels = ["__journal__transport"]
- target_label = "transport"
- }
- rule {
- source_labels = ["__journal_priority_keyword"]
- target_label = "level"
- }
- }
- loki.source.file "system" {
- targets = local.file_match.system.targets
- forward_to = [loki.write.default.receiver]
- }
- // !SECTION
- // SECTION: SYSTEM METRICS
- discovery.relabel "metrics" {
- targets = prometheus.exporter.unix.metrics.targets
- rule {
- target_label = "instance"
- replacement = constants.hostname
- }
- rule {
- target_label = "job"
- replacement = string.format("%s-metrics", constants.hostname)
- }
- }
- prometheus.exporter.unix "metrics" {
- disable_collectors = ["ipvs", "btrfs", "infiniband", "xfs", "zfs"]
- enable_collectors = ["meminfo"]
- filesystem {
- fs_types_exclude = "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|tmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$"
- mount_points_exclude = "^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+)($|/)"
- mount_timeout = "5s"
- }
- netclass {
- ignored_devices = "^(veth.*|cali.*|[a-f0-9]{15})$"
- }
- netdev {
- device_exclude = "^(veth.*|cali.*|[a-f0-9]{15})$"
- }
- }
- prometheus.scrape "metrics" {
- scrape_interval = "15s"
- targets = discovery.relabel.metrics.output
- forward_to = [prometheus.remote_write.default.receiver]
- }
- // !SECTION
- // SECTION: DOCKER METRICS
- prometheus.exporter.cadvisor "dockermetrics" {
- docker_host = "unix:///var/run/docker.sock"
- storage_duration = "5m"
- }
- prometheus.scrape "dockermetrics" {
- targets = prometheus.exporter.cadvisor.dockermetrics.targets
- forward_to = [ prometheus.remote_write.default.receiver ]
- scrape_interval = "10s"
- }
- //!SECTION
- // SECTION: DOCKER LOGS
- discovery.docker "dockerlogs" {
- host = "unix:///var/run/docker.sock"
- }
- discovery.relabel "dockerlogs" {
- targets = []
-
- rule {
- source_labels = ["__meta_docker_container_name"]
- regex = "/(.*)"
- target_label = "service_name"
- }
- }
- loki.source.docker "default" {
- host = "unix:///var/run/docker.sock"
- targets = discovery.docker.dockerlogs.targets
- labels = {"platform" = "docker"}
- relabel_rules = discovery.relabel.dockerlogs.rules
- forward_to = [loki.write.default.receiver]
- }
- // !SECTION
|