Access to Spring Boot Application logs - spring-boot

Is there a way to access the Spring Boot Application logs through the REST webservice? I am running my Spring Boot microservices in Openshift, but dont have access to the Admin console, so I am wondering, if I can easily access the logs or copy them per demand somewhere.
I'm not interested in advices such configure ELK, etc, because I am not the owner of the infrastructure, just the microservices.
Many thanks

Finally I solved as follows. Store the logs into the file, connect microservice to SBA and check the logs there.
logging:
file: /log/application.log
And then use Spring Boot Admin, which allows you to see the logs. Hope it helps somebody.

Related

how to use spring admin in my existing spring boot project?

I wanted to monitor my web application deployed in the production environment, monitoring tool notify me when the server down or any abnormal cases for that I decided to use spring admin, plz help to find the best resource for set upping spring admin with the spring boot project (correctly I'm using java melody for monitoring purpose, but I does not allow email notification)

Process Metrics in Springboot not coming

I am facing a weird problem in spring boot application. I am exposing metrics through actuator and micrometer-registry-prometheus.
I am able to see all expected metrics in when I run from my localhost but I am not able to see ProcessMetrics(cpuUsage, processUsage) when I deploy my application in my k8s environment.
I have checked the version of the actuator and micrometer-prometheus as well, They are all same.
I have referred the link: https://github.com/micrometer-metrics/micrometer/issues/513. The solution suggested did not work for me. My service also contains Kafka and Postgres dependency.
I dont know What is causing the issue. Any help will be much appreciated.

Use single spring boot application as a Spring boot admin and client both

We have one application which is running on the Spring boot, We don't like to add a new application in the environment to manage this application, to do so we like to add spring boot admin feature to the same application. I tried that and able to see the spring admin screen but the client is not getting loaded.
I don't know this is good idea or not.
Please provide your suggestion.
I can see it is working both spring boot admin sever and client both application in one.
But I dont know this is good idea or not. Please provide your inputs
The Spring Boot Admin is invented for monitoring multiple services. In my opinion you should separate them so everyone will has it's job to follow the single responsibility principle. With separation when your application will fail the Spring Boot Admin will catch logs and maybe some additional data, if they are together you won't know what might happen.

Difference between spring-boot-admin server and client

There are no much resources on this topic so thought to post it. Also I myself am trying to understand the different. Previously we just had only spring-boot application. So can anybody explain the difference.
Spring boot admin is nice monitoring dashboard for spring boot application. To feed data to this dashboard spring boot admin provide two approaches:
1) Using client library: client libary will send data to spring boot admin dashboard.
2) Use service discovery (eureka)

Spring cloud config client without Eureka, Ribbon and spring boot

I have spring web application (not spring boot) running in AWS. I am trying to create centralized configuration server. How to refresh the spring-cloud-client after the changing the properties? As per tutorial
Actuator endpoint by sending an empty HTTP POST to the client’s refresh endpoint, http://localhost:8080/refresh, and then confirm it worked by reviewing the http://localhost:8080/message endpoint.
But my aws Ec2 instances are behind the loadbalancer so i can't invoke the client url. I didn't understand the netflix Eureka and Ribbon much but it seems like adding another level of load balancer in the client side. I don't like this approach. Just to change a property i don't want to make the existing project unnecessarily complex. Is there any other way? or Am I misunderstood Eureka/Ribbon usage?
I have looked at the spring-cloud-config-client-without-spring-boot, spring-cloud-config-client-without-auto-configuration none of them have answer. First thread was answered in 2015. Wondering is there any update?
To get the configuration properties from a config server. You can do a http request. Example:
From the documentation we can see:
/{application}/{profile}[/{label}]
/{application}-{profile}.yml <- example
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
So if you would do a request to http://localhost:8080/applicationName-activeProfile.yml you would receive the properties in .yml format for the application with that name and active profile. Spring boot config clients would automatically provide these values but you will have to provide em manually.
You don't need Eureka/Ribbon for this to work, it's a separate component.
More info: http://cloud.spring.io/spring-cloud-static/spring-cloud.html#_spring_cloud_config
Maybe you could even use spring-cloud-config but I'm not sure what extra configuration is needed without spring-boot.
https://cloud.spring.io/spring-cloud-config/

Resources