add alloy
This commit is contained in:
+5
-1
@@ -28,4 +28,8 @@ TS_AUTHKEY=
|
||||
HOMELAB_TLD=ice
|
||||
HOMELAB_ZONE=cloud
|
||||
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
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
docker pull git.sfclub.cc/cloud/workspace-image:latest
|
||||
}
|
||||
|
||||
command="/usr/bin/bubble"
|
||||
command_args="-config /daemon/config.yaml 2>&1"
|
||||
pidfile="/run/${RC_SVCNAME}.pid"
|
||||
|
||||
@@ -5,7 +5,7 @@ depend() {
|
||||
}
|
||||
|
||||
supervisor="supervise-daemon"
|
||||
restart_max=0
|
||||
restart_max=5
|
||||
restart_delay=10
|
||||
|
||||
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