Integra's providers are stateless micro-services. As such, they lend themselves perfectly for running in containers, and providers can be ran locally, remotely, in the cloud, on your phone or basically wherever there is computational power available. But what happens when you have a provider running in, say, Azure, another running in AWS, and the Reactor running locally in your datacenter? Logs for each process will be created local to where they are running, which presents a challenge when you want to troubleshoot by looking collectively into the logs. To solve this issue, Integra gives you the ability to centrally log to any syslog daemon. In this short post I'll show you how to send Integra logs to Papertrail for easy viewing, alerting and troubleshooting.
If you don't have a Papertrail
account, you can set one up in a matter of minutes. They have a free pricing plan but will work with you on pricing if you are a bootstrapped startup--very cool! Once you have setup your account you will effectively be given a hostname and a port where you can send your logs. Mine looks something like this: logs3.papertrailapp.com:12345
Every Integra provider (including the Reactor) has a configuration file
where you can specify a syslog host and port. Basically, enter the address:port information from your Papertrail account in the Integra configuration file and restart the process.
Voila! Now all your logs are going to Papertrail.
You can now create alerts based on certain logging conditions; I particularly like the integration Papertrail has with Slack. Give it a go, you will be logging in no time.
is just one of the alternatives that you have with Integra. As long as you have a syslog server running, you can pipe Integra logs to it. From that point forward you can use other tools such as Splunk
to view and work with your logs.
Having central logs is great but Integra goes one step further to make your troubleshooting efforts easier. Every workflow is tagged with a unique transaction ID
so you can correlate logs from many different providers running as a cohesive unit.