-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinit-index.sh
More file actions
executable file
Β·52 lines (42 loc) Β· 1.64 KB
/
init-index.sh
File metadata and controls
executable file
Β·52 lines (42 loc) Β· 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash
set -e
ES_HOST="${ES_HOST}"
INDEX_NAME="${INDEX_NAME}"
echo "π Elasticsearch νΈμ€νΈ: $ES_HOST"
echo "π¦ μΈλ±μ€ μ΄λ¦: $INDEX_NAME"
echo "π μ€μ JSON κ²½λ‘: ${INDEX_CONFIG_PATH:-/usr/share/logstash/index-config.json}"
# Elasticsearch κΈ°λ λκΈ°
echo "β Elasticsearch κΈ°λ λκΈ° μ€..."
until curl -s --head --fail "$ES_HOST" > /dev/null; do
echo "β Elasticsearch μμ§ μ€λΉλμ§ μμ. 2μ΄ ν μ¬μλ..."
sleep 2
done
# μΈλ±μ€ μ‘΄μ¬ μ¬λΆ νμΈ
echo "π μΈλ±μ€ μ‘΄μ¬ μ¬λΆ νμΈ: $INDEX_NAME"
if curl -s --head --fail "$ES_HOST/$INDEX_NAME" > /dev/null; then
echo "β οΈ μΈλ±μ€ '$INDEX_NAME' μ΄λ―Έ μ‘΄μ¬ν©λλ€. μ΄κΈ° μΈλ±μ±μ μλ΅ν©λλ€."
exit 0
fi
# κΈ°μ‘΄ μΈλ±μ€ μμ (μμΈ λ¬΄μ)
echo "π§Ή κΈ°μ‘΄ μΈλ±μ€ μμ μλ (μ‘΄μ¬νμ§ μμλ 무μλ¨)"
curl -X DELETE "$ES_HOST/$INDEX_NAME" -s -o /dev/null || true
# μ€μ JSON μ‘΄μ¬ νμΈ
CONFIG_PATH="${INDEX_CONFIG_PATH:-/usr/share/logstash/index-config.json}"
if [ ! -f "$CONFIG_PATH" ]; then
echo "β μ€μ νμΌμ΄ μ‘΄μ¬νμ§ μμ΅λλ€: $CONFIG_PATH"
exit 1
fi
# νμΌ λ΄μ©μ΄ λΉμ΄μλμ§ νμΈ
if [ ! -s "$CONFIG_PATH" ]; then
echo "β μ€μ νμΌμ΄ λΉμ΄ μμ΅λλ€: $CONFIG_PATH"
exit 1
fi
# μΈλ±μ€ μ€μ λ° λ§€ν λ±λ‘
echo "π¦ μΈλ±μ€ μ€μ λ° λ§€ν λ±λ‘"
curl -v -X PUT "$ES_HOST/$INDEX_NAME" \
-H "Content-Type: application/json" \
-d @"$CONFIG_PATH"
# Logstash μ€ν
echo "π Logstash μ€νμΌλ‘ μ΄κΈ° μΈλ±μ± μμ"
/usr/share/logstash/bin/logstash -f /usr/share/logstash/pipelines/logstash.conf
echo "β
μ΄κΈ° μΈλ±μ± μλ£"