That would work, but since we bill customers based upon our log contents I really was looking for a solution that would use TCP.
The solution I finally developed was to use rsyslog. I designated one of my lightly-loaded EC2 instances to be by rsyslog server, and in it’s rsyslog.conf I included:
$ModLoad imtcp # loads the tcp module
$InputTCPServerRun 514 # defines what port to listen on
$EscapeControlCharactersOnReceive off # Prevents rsyslog from turning tab into #011
$template WowzaFormat,"%TIMESTAMP% %fromhost-ip% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n" # Defines log line format
$ActionFileDefaultTemplate WowzaFormat
local1.* /var/log/wowza.log # Specifies that all messages for facility “local1” get written to wowza log file
Then on my worker instances I set up the rsyslog.conf with:
$InputFileName /usr/local/WowzaMediaServer/logs/wowzamediaserver_access.log
$InputFileTag wowzaAccess:
$InputFileStateFile statefile_access
#$InputFileSeverity info
$InputFileFacility local1
$InputRunFileMonitor
local1.* @@
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template WowzaFormat,"%TIMESTAMP% %fromhost-ip% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
$ActionFileDefaultTemplate WowzaFormat
This setup has been working well for us for a couple of weeks now. I describe the setup process in a little more detail in my blog ( http://www.streemit.net/2012/04/20/remote-logging-for-wowza/) but the basic info included here should provide enough to get you started if you find that you need to centralize your Wowza logs too.