Esempio n. 1
0
 static void TestDuplicateLogDetectionRule(LogsManager.LogsManager logsManager)
 {
     logsManager.Info("New payment submitted by John for the amount 100");
     System.Threading.Thread.Sleep(3000);
     logsManager.Info("New payment submitted by John for the amount 30");
     logsManager.Info("New payment submitted by John for the amount 100");
 }
Esempio n. 2
0
        static void TestTimeDifferenceRule(LogsManager.LogsManager logsManager)
        {
            logsManager.Info("10.0.0.154");

            logsManager.Warn("10.0.0.154");
            logsManager.Warn("10.0.0.132");
            logsManager.Warn("10.0.0.er");
            logsManager.Warn("10.0.0.er");
            logsManager.Debug("10.0.0.196");

            logsManager.Info("10.0.0.154");

            logsManager.Warn("10.0.0.154");
            logsManager.Warn("10.0.0.132");
            System.Threading.Thread.Sleep(100);
            logsManager.Warn("10.0.0.er");
            logsManager.Warn("10.0.0.er");
            logsManager.Debug("10.0.0.196");

            logsManager.Info("10.0.0.154");

            logsManager.Warn("10.0.0.154");
            logsManager.Warn("10.0.0.132");
            logsManager.Warn("10.0.0.er");
            logsManager.Warn("10.0.0.er");
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            //string configurationFileContent = JsonConvert.SerializeObject(GetAnalyzerConfig(), new Newtonsoft.Json.Converters.StringEnumConverter());

            // specify the way you are going to use to send your logs to the analyzer.
            ILogsSender logsSender = GetLogsSender();

            // initialize the logs managers class that's going to handle incoming logs messages and send them to the analyzer
            // using the logs sender.
            LogsManager.LogsManager logsManager = new LogsManager.LogsManager(IsLogsAnalyzerEnabled, logsSender);

            logsManager.Initialize();

            // the following are some test for analyzer rules.
            Task.Delay(12000).ContinueWith((t) =>
            {
                TestFilterOnlyRule(logsManager);

                Task.Run(() => TestTimeDifferenceRule(logsManager));

                Task.Run(() => TestLogFrequencyRule(logsManager));

                Task.Run(() => TestAggregateFunctionRule(logsManager));

                Task.Run(() => TestDuplicateLogDetectionRule(logsManager));
            });

            Console.ReadLine();
        }
Esempio n. 4
0
 static void TestAggregateFunctionRule(LogsManager.LogsManager logsManager)
 {
     logsManager.Info("New credit card payment", tags: new string[] { "Clothes", "T-shirt" }, parameters: new KeyValuePair <string, string>("Amount", "30"));
     logsManager.Info("New cash payment", tags: new string[] { "Clothes", "Shoes" }, parameters: new KeyValuePair <string, string>("Amount", "40"));
     logsManager.Info("New credit card payment", tags: new string[] { "Clothes", "Jacket" }, parameters: new KeyValuePair <string, string>("Amount", "90"));
     logsManager.Info("Gift card", tags: new string[] { "Clothes", "Gloves" }, parameters: new KeyValuePair <string, string>("Amount", "10"));
     logsManager.Info("New credit card payment", tags: new string[] { "Clothes", "T-shirt" }, parameters: new KeyValuePair <string, string>("Amount", "5"));
 }
Esempio n. 5
0
 static void TestFilterOnlyRule(LogsManager.LogsManager logsManager)
 {
     for (int i = 0; i < 5000; i++)
     {
         logsManager.Warn("10.0.0.132");
         logsManager.Info("New payment");
     }
 }
Esempio n. 6
0
 static void TestLogFrequencyRule(LogsManager.LogsManager logsManager)
 {
     logsManager.Info("10.0.0.82");
     logsManager.Info("10.0.0.82");
     System.Threading.Thread.Sleep(500);
     System.Threading.Thread.Sleep(500);
     System.Threading.Thread.Sleep(500);
     logsManager.Info("10.0.0.82");
     logsManager.Info("10.0.0.82");
     logsManager.Info("10.0.0.82");
     System.Threading.Thread.Sleep(500);
     logsManager.Info("10.0.0.82");
     logsManager.Info("10.0.0.82");
     logsManager.Info("10.0.0.82");
     System.Threading.Thread.Sleep(500);
     logsManager.Warn("10.0.0.82");
     logsManager.Warn("10.0.0.82");
     logsManager.Warn("10.0.0.82");
     System.Threading.Thread.Sleep(500);
     System.Threading.Thread.Sleep(500);
     System.Threading.Thread.Sleep(500);
     logsManager.Warn("10.0.0.82");
     logsManager.Warn("10.0.0.82");
     logsManager.Info("10.0.0.79");
     System.Threading.Thread.Sleep(500);
     logsManager.Warn("10.0.0.82");
     logsManager.Warn("10.0.0.82");
     System.Threading.Thread.Sleep(500);
     System.Threading.Thread.Sleep(500);
     System.Threading.Thread.Sleep(500);
     System.Threading.Thread.Sleep(500);
     System.Threading.Thread.Sleep(500);
     System.Threading.Thread.Sleep(500);
     logsManager.Warn("10.0.0.82");
     logsManager.Warn("10.0.0.82");
 }