add alloy
This commit is contained in:
@@ -29,3 +29,7 @@ HOMELAB_TLD=ice
|
|||||||
HOMELAB_ZONE=cloud
|
HOMELAB_ZONE=cloud
|
||||||
ADVERTISE_ROUTE=10.1.0.0/24
|
ADVERTISE_ROUTE=10.1.0.0/24
|
||||||
TSDNS_SUBNET=10.1.0.0/24
|
TSDNS_SUBNET=10.1.0.0/24
|
||||||
|
|
||||||
|
# /usr/bin/alloy
|
||||||
|
LOKI_URL=
|
||||||
|
LOKI_TENANT=
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
discovery.docker "local" {
|
||||||
|
host = "unix:///var/run/docker.sock"
|
||||||
|
refresh_interval = "5s"
|
||||||
|
}
|
||||||
|
|
||||||
|
discovery.relabel "docker" {
|
||||||
|
targets = discovery.docker.local.targets
|
||||||
|
|
||||||
|
//
|
||||||
|
// Container Name
|
||||||
|
//
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_docker_container_name"]
|
||||||
|
regex = "/(.*)"
|
||||||
|
replacement = "$1"
|
||||||
|
target_label = "container"
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Docker Compose
|
||||||
|
//
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_docker_container_label_com_docker_compose_service"]
|
||||||
|
target_label = "service"
|
||||||
|
}
|
||||||
|
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_docker_container_label_com_docker_compose_project"]
|
||||||
|
target_label = "compose_project"
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Image
|
||||||
|
//
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_docker_container_image"]
|
||||||
|
target_label = "image"
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// stdout / stderr
|
||||||
|
//
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_docker_container_log_stream"]
|
||||||
|
target_label = "stream"
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Query 用
|
||||||
|
//
|
||||||
|
rule {
|
||||||
|
source_labels = ["__meta_docker_container_label_com_docker_compose_service"]
|
||||||
|
target_label = "job"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
loki.process "docker" {
|
||||||
|
|
||||||
|
stage.static_labels {
|
||||||
|
values = {
|
||||||
|
node = env("NODE_NAME"),
|
||||||
|
environment = env("ENVIRONMENT"),
|
||||||
|
platform = "docker",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
forward_to = [loki.write.default.receiver]
|
||||||
|
}
|
||||||
|
|
||||||
|
loki.source.docker "local" {
|
||||||
|
host = "unix:///var/run/docker.sock"
|
||||||
|
|
||||||
|
targets = discovery.relabel.docker.output
|
||||||
|
|
||||||
|
refresh_interval = "5s"
|
||||||
|
|
||||||
|
forward_to = [
|
||||||
|
loki.process.docker.receiver,
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
loki.write "default" {
|
||||||
|
|
||||||
|
endpoint {
|
||||||
|
url = env("LOKI_URL")
|
||||||
|
tenant_id = env("LOKI_TENANT")
|
||||||
|
}
|
||||||
|
}
|
||||||
Executable
+12
@@ -0,0 +1,12 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need docker net
|
||||||
|
}
|
||||||
|
|
||||||
|
supervisor="supervise-daemon"
|
||||||
|
restart_max=5
|
||||||
|
restart_delay=10
|
||||||
|
|
||||||
|
command="/usr/bin/alloy"
|
||||||
|
pidfile="/run/${RC_SVCNAME}.pid"
|
||||||
@@ -4,6 +4,10 @@ depend() {
|
|||||||
need docker tsdns
|
need docker tsdns
|
||||||
}
|
}
|
||||||
|
|
||||||
|
start_pre() {
|
||||||
|
docker pull git.sfclub.cc/cloud/workspace-image:latest
|
||||||
|
}
|
||||||
|
|
||||||
command="/usr/bin/bubble"
|
command="/usr/bin/bubble"
|
||||||
command_args="-config /daemon/config.yaml 2>&1"
|
command_args="-config /daemon/config.yaml 2>&1"
|
||||||
pidfile="/run/${RC_SVCNAME}.pid"
|
pidfile="/run/${RC_SVCNAME}.pid"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ depend() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
supervisor="supervise-daemon"
|
supervisor="supervise-daemon"
|
||||||
restart_max=0
|
restart_max=5
|
||||||
restart_delay=10
|
restart_delay=10
|
||||||
|
|
||||||
command="/usr/bin/tsdns"
|
command="/usr/bin/tsdns"
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
#!/sbin/openrc-run
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
need docker net
|
|
||||||
}
|
|
||||||
|
|
||||||
command="/usr/bin/update-images"
|
|
||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if docker container inspect "alloy" ; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
hostname=$(cat /etc/hostname)
|
||||||
|
|
||||||
|
docker run -e "NODE_NAME=$hostname" \
|
||||||
|
-e "ENVIRONMENT=prod" \
|
||||||
|
-e "LOKI_URL=_LOKI_URL_" \
|
||||||
|
-e "LOKI_TENANT=_LOKI_TENANT_" \
|
||||||
|
-v "/etc/config.alloy:/etc/alloy/config.alloy" \
|
||||||
|
-v "/var/run/docker.sock:/var/run/docker.sock" \
|
||||||
|
-v "/data/alloy:/var/lib/alloy" \
|
||||||
|
--restart unless-stopped \
|
||||||
|
--name "alloy" \
|
||||||
|
grafana/alloy:latest \
|
||||||
|
run --storage.path=/var/lib/alloy/data /etc/alloy/config.alloy
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cleanup_() {
|
|
||||||
touch /.image-update-flag
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ! -f /.image-update-flag ]; then
|
|
||||||
docker pull
|
|
||||||
fi
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user