Library for tailing your IIS & Application logs being written to the Azure blobstore
Due to the close integration of Azure WebJobs with Azure Websites this repository will result in a Console application which can run as a continuous running Azure WebJob. It does not actually use much of the webjob SDK but the wrapping of the console application.
The Console application will start searching for (IIS) logfiles within the configured blobcontainer. All logfiles which are not processed yet are emitted as json messages to the configured redis cache so you can further process those with logstash. When the Console application has emitted the loglines it will store those in a blob next to the IIS logs so it can auto-resume when it has been stopped.
- Visual Studio 2013
- NuGet Package Restore FTW
The repository also contains an .editorconfig file which helps to maintain consistent tabs vs spaces & line endings. You can install the Visual Studio plugin which will detect this file and automatically update your editor settings.
This library will poll the blobstore for changes thus use transactions. I have counted the following behaviour:
- Initial listing of blobs -> 1 call
- last modified > 1 hour < 7 days -> 1 call per day segment
- last modified < 1 hour -> 1 call
- 1 call per filepart modified
This will total if your application writes 1 logfile per hour in chunks of 30 seconds to the following amount of calls per day:
- 1 (modified last hour) * 2 (per 30 seconds) * 60 (hour) * 24 (day) => 2880 calls to the blobstore for listing files
- 1 (file modified found per 30 seconds) * 2 (per 30 seconds) * 60 (hour) * 24 (day) => 2880 calls to the blobstore for retrieving (partial) files
Total transactions per day (naive) 5760 per day. Find the pricing for your region on the Azure website