Updating data zone ok launching image
Our Reporting service does two things it writes all IReport Item messages which it processes to their respective table in the database and the second thing is write all events into a log file for Splunk to index. I’ve always noticed that Splunk lets you send events data to it via TCP/UDP but have never had cause or reason to use it.While doing some local testing I noticed that even writing to a log file was slow! Send(String path, Request Message request) at Splunk. Send(String path, Request Message request) at Splunk. Submit(String index Name, Args args, String data) at Splunk. However given that our API was hosted as an Azure Web App and logging to the file system wasn’t an option I thought this would be the perfect time to try it out. The first thing you will need to do is configure your Splunk instance to listen out for events from a Udp port. Important Note: Make sure that all firewall ports between your producer and Splunk are open to allow UDP traffic on the specified port! The first step of getting this working from your application is adding the log4net Nu Get package to your project, next up open your log4net configuration and add the following And you should start seeing your events in Splunk.
Judging by the results shown above, it’s working at roughly twice the speed, I’d have hoped for it to be a bit faster than that, but still I’m not complaining! Submit(Receiver Submit Args args, String data) After I discovered that it constantly just timed out I started to look around for an alternative to using the Splunk REST Api endpoint. * Bootstrap v3.3.5 ( * Copyright 2011-2016 Twitter, Inc.* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! id=e522796f4ee4d4c81a8d0d653f637a6d) * Config saved to and https://gist.github.com/e522796f4ee4d4c81a8d0d653f637a6d *//*!There are a number of advantages that we get from this that we wouldn’t get from the likes of New Relic or Stackify.One advantage is that we can add our own meta data to all the performance data we generate.The maximum speed I saw was ~50messages/second just to write to a log file! If you need to verify that log4net is sending events over UDP you can use Wireshark.
After making the fixes above the processing speed went up to 5,000 messages/second! Last week I deployed a new Api hosted as an Azure Web App, we wanted some reporting events to come out of it into our Splunk instance so we could keep an eye on whether it is working as expected. Here I have set it up to capture packets from my wifi adapter and monitoring port 9977 At Dr Doctor we use New Relic for performance monitoring of our web applications.
I started off by using the Splunk C# SDK as it looked nice and easy to add into our app. Get Request Stream(Transport Context& context) at System. However web only makes up a small part of our overall system.
A very trivial example of using the Splunk SDK would look like this: System. Web Exception: The operation has timed out at System. We make extensive use of a messaging based system and have lots of micro-services which communicate over a messaging bus.
Our reporting service works by processing messages which are queued up by various other services onto a queue in Rabbit MQ.
What this chart is showing is that the reporting service is working at a very constant and slow pace.
To measure the performance I first queued up a significant number of messages for the reporting service to process then started the Visual Studio Profiler.