We are going to a deployment setup where we will have many servers, most of which auto-added to the load balancer when the traffic goes up. The trouble with this setup is that if an individual developer needs to tail logs to troubleshoot something, he will have to open a console on each server, which is made complicated by the fact that the developer often doesn't know HOW many servers we might have in function at that time.
If the developer can find all the logs in one server - say our deploy server, then the troubleshooting becomes easier.
Towards this, I was thinking of setting up a push from each FE machine to the deploy server using a cron which will replicate the logs on our deploy server. There are two problems with this approach:
- There is a lag of 1 minute because crons can't be run more frequently.
- The cron on each FE machine will have to set up to sync to a specific location on the deploy server, but up front, I don't know how many such FE servers will exist.
To solve this problem, I am looking at a way to connect error_log, or PEAR Log to send the logs directly to our deploy server, which will log it in real time to it's local locations at /var/log/..
Anybody knows how I can configure this? Or perhaps a service which accomplishes this?
Our servers are all Ubuntu 10.04 LTS and we are running these servers on EC2 instances in AWS. Our PHP version is 5.3.
I don't know how many such FE servers will exist.
But you have to put your PHP code on them. So, when you do that, set up the cron. – TotalitarianismThere is a lag of 1 minute because crons can't be run more frequently.
Is that really a problem? Is your developer going to need to see the logs within a minute of the problem occuring? Is he even ever going to be able to react that quickly? – Totalitarianism