Integrate 3rd Party Log Management Service with Cloud Foundry (PCF) (2024)
As seen in previous tutorial, we learned how to create spring boot application and deplying to Pivotal Cloud Foundry (PCF).
Loggregator is the Cloud Foundry component used for logging, it gives stream of output logs from your application along with Cloud Foundry system components logs which communicates with your application during updates and execution.
Loggregator will stream logs to your terminal by default. If you want more than the limited amount of logging information that can be buffered by Loggregator, you can drain logs to a third-party log management service.
Here in above diagram, Log Mgr indicates any 3rd party log management services like Papertrail, Splunk etc.
We will use free log management service Papertrailapp to integrate with Cloud Foundry.
Now lets move ahead and learn step by step how to configure 3rd party log management service with Pivotal Cloud Foundry(PCF).Create Papertrail Account
- Go to papertrailapp home page.
- Create account by clicking on Signup button and provide all details.
- Click on Add your first system.
- Papertrail provides a log destination to use with a Cloud Foundry log drain for your application. Register each app separately if you have multiple Cloud Foundry apps.
Copy Papertrail Log destinationlogs5.papertrailapp.com:17805
, this would be required in coming steps when creating service with Cloud Foundry.
Set up Cloud Foundry drain
- Login to Cloud foundry from command prompt using
cf login -a api.run.pivotal.io
D:\>cf login -a api.run.pivotal.io
API endpoint: api.run.pivotal.io
Email> techgeeknext@gmail.com
Password>
Authenticating...
OK
Targeted org techgeeknext-org
Select a space (or press enter to skip):
1. development
2. Production
Space> 1
Targeted space development
API endpoint: https://api.run.pivotal.io (API version: 2.142.0)
User: techgeeknext@gmail.com
Org: techgeeknext-org
Space: development
D:\>cf cups techgeeknext-logs -l syslog-tls://logs3.papertrailapp.com:17805
Creating user provided service techgeeknext-logs in org techgeeknext-org / space development as techgeeknext@gmail.com...
OK
cf services
command.D:\>cf services
Getting services in org techgeeknext-org / space development as techgeeknext@gmail.com...
name service plan bound apps last operation broker upgrade available
techgeeknext-logs user-provided
techgeeknextRabbitmqservice cloudamqp lemur techgeeknext-springBootRabbitMq create succeeded appdirect
D:\>cf bind-service techgeeknext-springBootRabbitMq techgeeknext-logs
Binding service techgeeknext-logs to app techgeeknext-springBootRabbitMq in org techgeeknext-org / space development as techgeeknext@gmail.com...
OK
TIP: Use 'cf restage techgeeknext-springBootRabbitMq' to ensure your env variable changes take effect
Note: If you don't have any example to test in Pivotal Cloud Foundry, you can download sample example , bind it using above command and use it for testing.
D:\>cf restage techgeeknext-springBootRabbitMq
This action will cause app downtime.
Restaging app techgeeknext-springBootRabbitMq in org techgeeknext-org /
.............
.............
state since cpu memory disk details
#0 running 2019-11-04T13:11:34Z 0.0% 125.2M of 1G 127.4M of 1G