Implement logs module as RESTful API

Implement logs module as RESTful API

  

Hi,

I want to implement Log Module (Using log message in OutSystems OOTB) and expose it as a REST service.
The module should be able to perform between 300-500 requests per second.

What do you think?

Thanks!!

Hey Yizhar,

To make sure I understand, you want to use the standard OutSystems LogMessage action but then allow the data to be queried via a REST service?  If that is the case, you are able to take a dependency on the tables the logs go into (cannot remember their names off hand) and create a service to expose the data.

I am a bit concerned with your point that it needs to handle 300-500 requests per second though, is that a typo?  May I ask what the goal is?

Craig St. Jean wrote:

Hey Yizhar,

To make sure I understand, you want to use the standard OutSystems LogMessage action but then allow the data to be queried via a REST service?  If that is the case, you are able to take a dependency on the tables the logs go into (cannot remember their names off hand) and create a service to expose the data.

I am a bit concerned with your point that it needs to handle 300-500 requests per second though, is that a typo?  May I ask what the goal is?

Hello,

My goal is to create a central log repository using OutSystems in order to expose a log message to REST API.

I want to make it persistent.

300-500 request per sec is not a typo :-)


Thanks,

Yizhar




Hi Yizhar,


Some questions so we can better answer to You.

  1. Do you want to expose the Logs data just in an internal network or it's to expose on the Internet?
  2. Do you want to put logs in a Unified Logging System like Splunk, Elastic, etc? And leverage is data as a monitoring information?
  3. Do you just want logs, or would you like to access other relevant monitoring data (like performance events, timers execution, etc) that could enable do a broader monitoring?


We very interested in your case and we are working in defining a better approach to these scenarios.


Regards,

Urbano Freitas

 

Urbano Freitas wrote:

Hi Yizhar,


Some questions so we can better answer to You.

  1. Do you want to expose the Logs data just in an internal network or it's to expose on the Internet?
  2. Do you want to put logs in a Unified Logging System like Splunk, Elastic, etc? And leverage is data as a monitoring information?
  3. Do you just want logs, or would you like to access other relevant monitoring data (like performance events, timers execution, etc) that could enable do a broader monitoring?


We very interested in your case and we are working in defining a better approach to these scenarios.


Regards,

Urbano Freitas

 

Hi,

  1. To the internal network.
  2. I want to use OutSystems OOTB logs.
  3. I want to enabled to access to relevant logs on Service Center.

Thanks!!!


Yizhar


Yizhar,


For that volume of logs, we don't recommend to save it all in OutSystems Platform. It will bring 2 potential problems:

  1. If You using OutSystems 10, it can affect Platform overall performance;
  2. Since the OutSystems Platform runs on top of a relational database that is not the best to archive logs and make queries to it, do to the verbose nature of logs.


For these motives, and taking in account your needs, we recommend to: 

  1. Export logs to a Logging Tool (examples of this tools are: like Elastic, Splunk, Microsoft Application Insights, InfluxData);
  2. To export the logs it's better to expose it as an API. For that, You can use the following Forge component: https://www.outsystems.com/forge/Component_Details.aspx?ProjectId=4559
  3. Reduce the time window logs are saved in the Platform database.


Such approach will:

  • Avoid performance issues on the Platform due to the foreseeable size of logs tables;
  • Allow to quicker and more efficient consult the logs;
  • You can leverage the tools described to better analyze Platform monitoring data or even setup a more advanced monitoring strategy.

Hope this help. In forthcoming months we expect release documentation given an overall perspective of how this can be implemented.


Regards,

Urbano Freitas

I agree with Urbano, that seems like a much more appropriate approach.

Hey Guys,


Thank you very much on your inputs!!


Yizhar