From 545c79a191ae37cb67f269f8a97947a4be315a71 Mon Sep 17 00:00:00 2001 From: vsirik Date: Mon, 26 May 2025 11:07:47 +0300 Subject: [PATCH] Signed-off-by: vsirik --- configs/elasticsearch/elasticsearch.yml | 8 + configs/filebeat/config.yml | 20 ++ configs/kibana/config.yml | 8 + configs/logstash/config.yml | 1 + configs/logstash/pipelines.yml | 4 + .../pipelines/service_stamped_json_logs.conf | 37 ++++ docker-compose.yml | 21 ++- logs/app.log | 173 +++++++++++++++++- logstash.conf | 38 +++- pom.xml | 1 + src/main/resources/application.properties | 1 - 11 files changed, 298 insertions(+), 14 deletions(-) create mode 100644 configs/elasticsearch/elasticsearch.yml create mode 100644 configs/filebeat/config.yml create mode 100644 configs/kibana/config.yml create mode 100644 configs/logstash/config.yml create mode 100644 configs/logstash/pipelines.yml create mode 100644 configs/logstash/pipelines/service_stamped_json_logs.conf diff --git a/configs/elasticsearch/elasticsearch.yml b/configs/elasticsearch/elasticsearch.yml new file mode 100644 index 0000000..4a6474e --- /dev/null +++ b/configs/elasticsearch/elasticsearch.yml @@ -0,0 +1,8 @@ +cluster.name: "elk" +network.host: 0.0.0.0 # Для корректной работы внутри контейнера + +xpack.security.enabled: true # Для поддержки функционала, обеспечивающего безопасность кластера +xpack.license.self_generated.type: basic # Типа лицензии "basic" для наших нужд хватит с головой +xpack.security.authc.api_key.enabled: true +xpack.security.transport.ssl.enabled: false # Обязательно для 8.x +xpack.security.http.ssl.enabled: false # Для упрощения в dev-режиме \ No newline at end of file diff --git a/configs/filebeat/config.yml b/configs/filebeat/config.yml new file mode 100644 index 0000000..469cbe5 --- /dev/null +++ b/configs/filebeat/config.yml @@ -0,0 +1,20 @@ +logging.level: debug +logging.selectors: + - "*" + +filebeat.inputs: + - type: filestream + enabled: true + # Я запущу filebeat в докере и проброшу логи приложения по данному пути + paths: + - ./logs/*.log + # В fields мы можем указать дополнительные поля, а затем в logstash вытаскивать их + # и делать какую-нибудь дополнительную работу с логами + fields: + # Название нашего сервиса + service: host_metrics_app + codec: plain + +output.logstash: + # Будьте внимательны при запуске вне докера и вместо logstash укажите правильный адрес хоста с logstash. + hosts: [ "logstash:5044" ] \ No newline at end of file diff --git a/configs/kibana/config.yml b/configs/kibana/config.yml new file mode 100644 index 0000000..3b7061e --- /dev/null +++ b/configs/kibana/config.yml @@ -0,0 +1,8 @@ +server.name: kibana +server.host: 0.0.0.0 +server.publicBaseUrl: "http://localhost:5601" +monitoring.ui.container.elasticsearch.enabled: true # Для корректного сбора метрик с elastic search, запущенного в контейнере + +elasticsearch.hosts: [ "http://elasticsearch:9200" ] +#elasticsearch.username: elastic +#elasticsearch.password: MyPw123 \ No newline at end of file diff --git a/configs/logstash/config.yml b/configs/logstash/config.yml new file mode 100644 index 0000000..7141ff8 --- /dev/null +++ b/configs/logstash/config.yml @@ -0,0 +1 @@ +http.host: "0.0.0.0" \ No newline at end of file diff --git a/configs/logstash/pipelines.yml b/configs/logstash/pipelines.yml new file mode 100644 index 0000000..b0167fa --- /dev/null +++ b/configs/logstash/pipelines.yml @@ -0,0 +1,4 @@ +- pipeline.id: service_stamped_json_logs + pipeline.workers: 1 + pipeline.batch.size: 1 + path.config: "/usr/share/logstash/config/pipelines/service_stamped_json_logs.conf" \ No newline at end of file diff --git a/configs/logstash/pipelines/service_stamped_json_logs.conf b/configs/logstash/pipelines/service_stamped_json_logs.conf new file mode 100644 index 0000000..6f323cb --- /dev/null +++ b/configs/logstash/pipelines/service_stamped_json_logs.conf @@ -0,0 +1,37 @@ +input { + file { + path => "/logs/app.log" + sincedb_path => "/usr/share/logstash/sincedb" + start_position => "beginning" + } +} + +filter { + grok { + match => { + "message" => "%{TIMESTAMP_ISO8601:timestamp}%{SPACE}%{LOGLEVEL:level}%{SPACE}%{NUMBER:pid}%{SPACE}---%{SPACE}\[%{DATA:thread}\]%{SPACE}%{DATA:logger}%{SPACE}:%{SPACE}%{GREEDYDATA:message}" + } + tag_on_failure => ["_grokparsefailure"] + } + + date { + match => [ "timestamp", "ISO8601" ] + target => "@timestamp" + } +} + +output { + + elasticsearch { + hosts => "elasticsearch:9200" + index => "logs-%{+YYYY.MM.dd}" + user => "elastic" + password => "MyPw123" + ssl => false + ssl_certificate_verification => false + } + + stdout { + codec => rubydebug + } +} \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index aac8128..ca0e5aa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,8 +4,12 @@ services: image: elastic/elasticsearch:8.10.0 container_name: elasticsearch environment: - - discovery.type=single-node - - bootstrap.memory_lock=true + ELASTIC_PASSWORD: "MyPw123" + discovery.type: single-node + bootstrap.memory_lock: true + ES_JAVA_OPTS: "-Xms4g -Xmx4g" + volumes: + - ./configs/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro ulimits: memlock: soft: -1 @@ -19,8 +23,10 @@ services: image: logstash:8.10.1 container_name: logstash volumes: + - ./configs/logstash/pipelines:/usr/share/logstash/config/pipelines:ro - ./logs:/logs - - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf + - ./configs/logstash/config.yml:/usr/share/logstash/config/logstash.yml + - ./configs/logstash/pipelines.yml:/usr/share/logstash/config/pipelines.yml ports: - "5044:5044" networks: @@ -29,6 +35,11 @@ services: kibana: image: kibana:8.10.1 container_name: kibana + environment: + - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 + - ELASTICSEARCH_SERVICEACCOUNTTOKEN=AAEAAWVsYXN0aWMva2liYW5hL2tpYmFuYS10b2tlbjprekRyaVh2SlRUaU5sbkdYdjZvdnl3 + volumes: + - ./configs/kibana/config.yml:/usr/share/kibana/config/kibana.yml:ro ports: - "5601:5601" networks: @@ -39,6 +50,8 @@ services: app: build: . container_name: spring-app + volumes: + - ./logs/:/logs/ ports: - "8080:8080" networks: @@ -48,4 +61,4 @@ services: networks: elk: - driver: bridge + driver: bridge \ No newline at end of file diff --git a/logs/app.log b/logs/app.log index c2972e2..d3f912f 100644 --- a/logs/app.log +++ b/logs/app.log @@ -11,4 +11,175 @@ 2024-12-03T09:50:37.051+03:00 INFO 85858 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2024-12-03T09:50:37.053+03:00 INFO 85858 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms 2024-12-03T09:50:37.070+03:00 INFO 85858 --- [http-nio-8080-exec-2] com.example.HelloWorldController : Hello World endpoint was called -2024-12-03T09:58:52.356+03:00 INFO 85858 --- [http-nio-8080-exec-4] com.example.HelloWorldController : Hello World endpoint was called +2024-12-03T09:58:52.356+03:00 INFO 85858 --- [http-nio-8080-exec-4] com.example.HelloWorldController : Hello World endpoint was called2025-05-26T03:41:47.949Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T03:41:47.954Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T03:41:49.994Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T03:41:50.016Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T03:41:50.018Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T03:41:50.215Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T03:41:50.216Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2149 ms +2025-05-26T03:41:51.228Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T03:41:51.334Z INFO 1 --- [main] com.example.Application : Started Application in 4.347 seconds (process running for 5.555) +2025-05-26T04:03:51.706Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:03:51.712Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:03:53.716Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:03:53.744Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:03:53.745Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:03:53.938Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:03:53.939Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2118 ms +2025-05-26T04:03:54.827Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:03:54.885Z INFO 1 --- [main] com.example.Application : Started Application in 4.037 seconds (process running for 5.104) +2025-05-26T04:14:26.133Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:14:26.140Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:14:27.983Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:14:28.012Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:14:28.013Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:14:28.204Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:14:28.206Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1958 ms +2025-05-26T04:14:29.089Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:14:29.141Z INFO 1 --- [main] com.example.Application : Started Application in 3.898 seconds (process running for 4.8) +2025-05-26T04:16:31.279Z INFO 1 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-05-26T04:16:31.280Z INFO 1 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-05-26T04:16:31.282Z INFO 1 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-05-26T04:16:31.318Z INFO 1 --- [http-nio-8080-exec-1] com.example.HelloWorldController : Hello World endpoint was called +2025-05-26T04:16:32.210Z INFO 1 --- [http-nio-8080-exec-3] com.example.HelloWorldController : Hello World endpoint was called +2025-05-26T04:20:22.179Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:20:22.185Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:20:23.942Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:20:23.966Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:20:23.967Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:20:24.133Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:20:24.135Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1846 ms +2025-05-26T04:20:25.048Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:20:25.092Z INFO 1 --- [main] com.example.Application : Started Application in 3.781 seconds (process running for 4.683) +2025-05-26T04:24:45.798Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:24:45.804Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:24:47.669Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:24:47.692Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:24:47.694Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:24:47.868Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:24:47.872Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1967 ms +2025-05-26T04:24:48.777Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:24:48.817Z INFO 1 --- [main] com.example.Application : Started Application in 3.883 seconds (process running for 4.851) +2025-05-26T04:27:01.535Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:27:01.542Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:27:03.314Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:27:03.335Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:27:03.336Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:27:03.501Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:27:03.503Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1832 ms +2025-05-26T04:27:04.382Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:27:04.415Z INFO 1 --- [main] com.example.Application : Started Application in 3.879 seconds (process running for 4.923) +2025-05-26T04:30:42.701Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:30:42.708Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:30:44.488Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:30:44.510Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:30:44.511Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:30:44.696Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:30:44.698Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1885 ms +2025-05-26T04:30:45.572Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:30:45.642Z INFO 1 --- [main] com.example.Application : Started Application in 3.787 seconds (process running for 4.712) +2025-05-26T04:34:45.035Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:34:45.040Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:34:46.860Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:34:46.885Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:34:46.887Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:34:47.084Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:34:47.086Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1939 ms +2025-05-26T04:34:48.145Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:34:48.189Z INFO 1 --- [main] com.example.Application : Started Application in 4.037 seconds (process running for 5.014) +2025-05-26T04:39:34.007Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:39:34.013Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:39:35.888Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:39:35.911Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:39:35.912Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:39:36.125Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:39:36.127Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1983 ms +2025-05-26T04:39:36.977Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:39:37.026Z INFO 1 --- [main] com.example.Application : Started Application in 3.905 seconds (process running for 4.871) +2025-05-26T04:50:50.700Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:50:50.706Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:50:52.690Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:50:52.714Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:50:52.715Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:50:52.919Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:50:52.921Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2083 ms +2025-05-26T04:50:53.892Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:50:53.932Z INFO 1 --- [main] com.example.Application : Started Application in 4.185 seconds (process running for 5.181) +2025-05-26T04:52:40.737Z INFO 1 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-05-26T04:52:40.739Z INFO 1 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-05-26T04:52:40.741Z INFO 1 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-05-26T04:52:40.777Z INFO 1 --- [http-nio-8080-exec-1] com.example.HelloWorldController : Hello World endpoint was called +2025-05-26T04:52:41.248Z INFO 1 --- [http-nio-8080-exec-3] com.example.HelloWorldController : Hello World endpoint was called +2025-05-26T04:57:16.793Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T04:57:16.802Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T04:57:18.830Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T04:57:18.854Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T04:57:18.856Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T04:57:19.034Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T04:57:19.036Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2112 ms +2025-05-26T04:57:19.920Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T04:57:19.990Z INFO 1 --- [main] com.example.Application : Started Application in 4.206 seconds (process running for 5.372) +2025-05-26T06:37:40.873Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T06:37:40.879Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T06:37:42.876Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T06:37:42.898Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T06:37:42.899Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T06:37:43.074Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T06:37:43.076Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2081 ms +2025-05-26T06:37:43.901Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T06:37:43.948Z INFO 1 --- [main] com.example.Application : Started Application in 3.995 seconds (process running for 5.176) +2025-05-26T06:43:18.526Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T06:43:18.532Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T06:43:20.335Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T06:43:20.355Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T06:43:20.357Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T06:43:20.523Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T06:43:20.525Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1851 ms +2025-05-26T06:43:21.362Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T06:43:21.406Z INFO 1 --- [main] com.example.Application : Started Application in 3.767 seconds (process running for 4.674) +2025-05-26T06:45:55.796Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T06:45:55.802Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T06:45:57.845Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T06:45:57.871Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T06:45:57.873Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T06:45:58.087Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T06:45:58.088Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2159 ms +2025-05-26T06:45:59.065Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T06:45:59.105Z INFO 1 --- [main] com.example.Application : Started Application in 4.328 seconds (process running for 5.298) +2025-05-26T06:47:58.010Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T06:47:58.017Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T06:48:00.004Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T06:48:00.027Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T06:48:00.029Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T06:48:00.202Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T06:48:00.204Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2051 ms +2025-05-26T06:48:01.095Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T06:48:01.141Z INFO 1 --- [main] com.example.Application : Started Application in 4.065 seconds (process running for 5.034) +2025-05-26T06:52:59.146Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T06:52:59.154Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T06:53:01.236Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T06:53:01.260Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T06:53:01.261Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T06:53:01.455Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T06:53:01.456Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2177 ms +2025-05-26T06:53:02.342Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T06:53:02.377Z INFO 1 --- [main] com.example.Application : Started Application in 4.341 seconds (process running for 5.393) +2025-05-26T06:57:45.694Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T06:57:45.699Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T06:57:47.163Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T06:57:47.181Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T06:57:47.182Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T06:57:47.350Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T06:57:47.352Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1575 ms +2025-05-26T06:57:48.038Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T06:57:48.074Z INFO 1 --- [main] com.example.Application : Started Application in 3.081 seconds (process running for 3.826) +2025-05-26T08:02:51.548Z INFO 1 --- [main] com.example.Application : Starting Application v1.0.0 using Java 17.0.2 with PID 1 (/app.jar started by root in /) +2025-05-26T08:02:51.552Z INFO 1 --- [main] com.example.Application : No active profile set, falling back to 1 default profile: "default" +2025-05-26T08:02:52.886Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) +2025-05-26T08:02:52.903Z INFO 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-05-26T08:02:52.904Z INFO 1 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.12] +2025-05-26T08:02:53.036Z INFO 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-05-26T08:02:53.037Z INFO 1 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1413 ms +2025-05-26T08:02:53.712Z INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' +2025-05-26T08:02:53.741Z INFO 1 --- [main] com.example.Application : Started Application in 2.772 seconds (process running for 3.499) diff --git a/logstash.conf b/logstash.conf index 4a6ace7..7269d5a 100644 --- a/logstash.conf +++ b/logstash.conf @@ -1,15 +1,37 @@ - input { file { - path => "/logs/app.log" - start_position => "beginning" - sincedb_path => "/dev/null" - } + path => "/logs/app.log" + sincedb_path => "/usr/share/logstash/sincedb" + start_position => "beginning" + } +} + +filter { + grok { + match => { + "message" => "%{TIMESTAMP_ISO8601:timestamp}%{SPACE}%{LOGLEVEL:level}%{SPACE}%{NUMBER:pid}%{SPACE}---%{SPACE}\[%{DATA:thread}\]%{SPACE}%{DATA:logger}%{SPACE}:%{SPACE}%{GREEDYDATA:message}" + } + tag_on_failure => ["_grokparsefailure"] + } + + date { + match => [ "timestamp", "ISO8601" ] + target => "@timestamp" + } } output { + elasticsearch { - hosts => ["http://elasticsearch:9200"] - index => "logs" + hosts => "elasticsearch:9200" + index => "logs-%{+YYYY.MM.dd}" + user => "elastic" + password => "MyPw123" + ssl => false + ssl_certificate_verification => false } -} + + stdout { + codec => rubydebug + } +} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 293c424..2fc473d 100644 --- a/pom.xml +++ b/pom.xml @@ -34,6 +34,7 @@ org.springframework.boot spring-boot-maven-plugin + ${project.parent.version} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 970080b..d4f7e04 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,2 +1 @@ - logging.file.name=logs/app.log