feat(logs): make it so rule logs-setup isn't necessary
This commit is contained in:
parent
3ef811b334
commit
8dd0a74046
9 changed files with 49 additions and 11 deletions
|
|
@ -6,10 +6,12 @@
|
||||||
# By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ #
|
# By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2025/06/11 18:10:26 by maiboyer #+# #+# #
|
# Created: 2025/06/11 18:10:26 by maiboyer #+# #+# #
|
||||||
# Updated: 2025/11/14 16:13:22 by rparodi ### ########.fr #
|
# Updated: 2025/11/14 17:41:06 by maiboyer ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
.PHONY: logs
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
|
|
||||||
|
|
|
||||||
5
Makefile
5
Makefile
|
|
@ -6,7 +6,7 @@
|
||||||
# By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ #
|
# By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2023/11/12 11:05:05 by rparodi #+# #+# #
|
# Created: 2023/11/12 11:05:05 by rparodi #+# #+# #
|
||||||
# Updated: 2025/11/14 15:14:34 by rparodi ### ########.fr #
|
# Updated: 2025/11/14 17:40:57 by maiboyer ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
|
@ -32,7 +32,6 @@ ECHO = /usr/bin/env echo
|
||||||
all:
|
all:
|
||||||
@$(MAKE) --no-print-directory header
|
@$(MAKE) --no-print-directory header
|
||||||
@$(MAKE) --no-print-directory -f ./Docker.mk
|
@$(MAKE) --no-print-directory -f ./Docker.mk
|
||||||
@$(MAKE) --no-print-directory -f ./Docker.mk logs-setup
|
|
||||||
@$(MAKE) --no-print-directory footer
|
@$(MAKE) --no-print-directory footer
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
|
@ -158,4 +157,4 @@ fnginx: nginx-dev/nginx-selfsigned.crt nginx-dev/nginx-selfsigned.key
|
||||||
wait
|
wait
|
||||||
|
|
||||||
# phony
|
# phony
|
||||||
.PHONY: all clean fclean re header footer npm@install npm@clean npm@fclean npm@build sql tmux
|
.PHONY: all clean fclean re header footer npm@install npm@clean npm@fclean npm@build sql tmux logs
|
||||||
|
|
|
||||||
|
|
@ -249,9 +249,11 @@ services:
|
||||||
- ES_JAVA_OPTS=-Xms512m -Xmx512m
|
- ES_JAVA_OPTS=-Xms512m -Xmx512m
|
||||||
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
|
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- ./logs/elasticsearch/data:/usr/share/elasticsearch/data
|
- elastic-data:/usr/share/elasticsearch/data
|
||||||
|
- ./logs/elasticsearch:/setup
|
||||||
ports:
|
ports:
|
||||||
- "9200:9200"
|
- "9200:9200"
|
||||||
|
command: ["/setup/bootstrap.sh"]
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
logstash:
|
logstash:
|
||||||
|
|
@ -281,6 +283,9 @@ services:
|
||||||
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
|
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
|
||||||
ports:
|
ports:
|
||||||
- "5601:5601"
|
- "5601:5601"
|
||||||
|
volumes:
|
||||||
|
- ./logs/kibana:/setup
|
||||||
|
command: ["/setup/bootstrap.sh"]
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
|
@ -288,3 +293,4 @@ volumes:
|
||||||
sqlite-volume:
|
sqlite-volume:
|
||||||
static-volume:
|
static-volume:
|
||||||
grafana-data:
|
grafana-data:
|
||||||
|
elastic-data:
|
||||||
|
|
|
||||||
19
logs/elasticsearch/bootstrap.sh
Executable file
19
logs/elasticsearch/bootstrap.sh
Executable file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
setup_ilm() {
|
||||||
|
set -xe
|
||||||
|
until curl -s -f http://localhost:9200 >/dev/null; do
|
||||||
|
sleep 2;
|
||||||
|
done;
|
||||||
|
|
||||||
|
curl -v -X PUT "localhost:9200/_ilm/policy/docker-logs-policy" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '@/setup/docker-logs-policy.json'
|
||||||
|
curl -v -X PUT "localhost:9200/_template/docker-logs-template" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '@/setup/docker-logs-template.json'
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_ilm &
|
||||||
|
exec /usr/local/bin/docker-entrypoint.sh eswrapper >/dev/null
|
||||||
1
logs/elasticsearch/docker-logs-template.json
Normal file
1
logs/elasticsearch/docker-logs-template.json
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"index_patterns":["docker-*"],"settings":{"index.lifecycle.name":"docker-logs-policy"}}}
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"index_patterns": ["docker-*"],
|
|
||||||
"settings": {
|
|
||||||
"index.lifecycle.name": "docker-logs-policy"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
16
logs/kibana/bootstrap.sh
Executable file
16
logs/kibana/bootstrap.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
kibana_setup() {
|
||||||
|
set -xe
|
||||||
|
until curl -s -f "localhost:5601/api/status"; do
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
|
||||||
|
curl -v -X POST "localhost:5601/api/saved_objects/index-pattern/docker-logs" \
|
||||||
|
-H "kbn-xsrf: true" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '@/setup/docker-logs.json'
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
kibana_setup &
|
||||||
|
exec /usr/local/bin/kibana-docker >/dev/null
|
||||||
1
logs/kibana/docker-logs.json
Normal file
1
logs/kibana/docker-logs.json
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"attributes":{"title":"docker-*","timeFieldName":"@timestamp"}}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue