diff --git a/src/log/elasticsearch/build/start-es-supervised.sh b/src/log/elasticsearch/build/start-es-supervised.sh index f2cbd75..c54c920 100644 --- a/src/log/elasticsearch/build/start-es-supervised.sh +++ b/src/log/elasticsearch/build/start-es-supervised.sh @@ -5,7 +5,6 @@ echo "[INFO] Starting Elasticsearch under supervisor..." # 创建数据目录并设置权限(如果不存在) mkdir -p /private/argus/log/elasticsearch -chown -R elasticsearch:elasticsearch /private/argus/log/elasticsearch # 创建软链接到Elasticsearch预期的数据目录 if [ -L /usr/share/elasticsearch/data ]; then @@ -22,9 +21,6 @@ IP=`ifconfig | grep -A 1 eth0 | grep inet | awk '{print $2}'` echo current IP: ${IP} echo ${IP} > /private/argus/etc/${DOMAIN} -# 更新dns,执行 -/private/argus/etc/update-dns.sh - echo "[INFO] Data directory linked: /usr/share/elasticsearch/data -> /private/argus/log/elasticsearch" # 设置环境变量(ES配置通过docker-compose传递) diff --git a/src/log/kibana/build/start-kibana-supervised.sh b/src/log/kibana/build/start-kibana-supervised.sh index 6b2e5dd..53dd6eb 100644 --- a/src/log/kibana/build/start-kibana-supervised.sh +++ b/src/log/kibana/build/start-kibana-supervised.sh @@ -3,9 +3,7 @@ set -euo pipefail echo "[INFO] Starting Kibana under supervisor..." -# 创建数据目录并设置权限(如果不存在) mkdir -p /private/argus/log/kibana -chown -R kibana:kibana /private/argus/log/kibana # 创建软链接到Kibana预期的数据目录 if [ -L /usr/share/kibana/data ]; then diff --git a/src/log/tests/docker-compose.yml b/src/log/tests/docker-compose.yml index b44a6b3..ab3b164 100644 --- a/src/log/tests/docker-compose.yml +++ b/src/log/tests/docker-compose.yml @@ -10,7 +10,7 @@ services: - xpack.security.enabled=false - ES_JAVA_OPTS=-Xms512m -Xmx512m volumes: - - ./private/argus/log/elasticsearch:/private/argus/log/elasticsearch + - ./private/argus/:/private/argus/ ports: ["9200:9200"] healthcheck: test: ["CMD-SHELL", "curl -fs http://localhost:9200 >/dev/null || exit 1"] @@ -26,7 +26,7 @@ services: environment: - ELASTICSEARCH_HOSTS=http://es:9200 volumes: - - ./private/argus/log/kibana:/private/argus/log/kibana + - ./private/argus/:/private/argus/ ports: ["5601:5601"] depends_on: es: diff --git a/src/log/tests/scripts/01_bootstrap.sh b/src/log/tests/scripts/01_bootstrap.sh index 6cc4caa..d94ec5c 100755 --- a/src/log/tests/scripts/01_bootstrap.sh +++ b/src/log/tests/scripts/01_bootstrap.sh @@ -6,11 +6,17 @@ root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../" && pwd)" echo "[INFO] Creating private directory structure for supervisor-based containers..." mkdir -p "$root/private/argus/log/elasticsearch" mkdir -p "$root/private/argus/log/kibana" +mkdir -p "$root/private/argus/etc/" + +# 复制更新dns脚本 +cp $root/scripts/update-dns.sh $root/private/argus/etc/ +echo "8.8.8.8" > $root/private/argus/etc/dns.conf # 设置数据目录权限(ES 和 Kibana 容器都使用 UID 1000) echo "[INFO] Setting permissions for data directories..." -sudo chown -R 1000:1000 "$root/private/argus/log/elasticsearch" 2>/dev/null || true -sudo chown -R 1000:1000 "$root/private/argus/log/kibana" 2>/dev/null || true +sudo chown -R 2133:2015 "$root/private/argus/log/elasticsearch" 2>/dev/null || true +sudo chown -R 2133:2015 "$root/private/argus/log/kibana" 2>/dev/null || true +sudo chown -R 2133:2015 "$root/private/argus/etc" 2>/dev/null || true echo "[INFO] Supervisor-based containers will manage their own scripts and configurations" diff --git a/src/log/tests/scripts/update-dns.sh b/src/log/tests/scripts/update-dns.sh new file mode 100755 index 0000000..17da942 --- /dev/null +++ b/src/log/tests/scripts/update-dns.sh @@ -0,0 +1,31 @@ +#!/bin/sh +# update-dns.sh +# 从 /private/argus/etc/dns.conf 读取 IP,写入 /etc/resolv.conf + +DNS_CONF="/private/argus/etc/dns.conf" +RESOLV_CONF="/etc/resolv.conf" + +# 检查配置文件是否存在 +if [ ! -f "$DNS_CONF" ]; then + echo "配置文件不存在: $DNS_CONF" >&2 + exit 1 +fi + +# 生成 resolv.conf 内容 +{ + while IFS= read -r ip; do + # 跳过空行和注释 + case "$ip" in + \#*) continue ;; + "") continue ;; + esac + echo "nameserver $ip" + done < "$DNS_CONF" +} > "$RESOLV_CONF".tmp + +# 替换写入 /etc/resolv.conf +cat "$RESOLV_CONF".tmp > "$RESOLV_CONF" +rm -f "$RESOLV_CONF".tmp + +echo "已更新 $RESOLV_CONF" +