Exemplo n.º 1
0
        private TabadminControllerEvent ParseVersionInfo(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            var match = LoadingTopologyLine.Match(javaLineMatchResult.Message);

            if (!match.Success)
            {
                return(null);
            }

            var rawBuild = match.GetNullableString("build");

            if (string.IsNullOrWhiteSpace(rawBuild))
            {
                _processingNotificationsCollector.ReportError("Line looks like a loading topology settings, but build string cannot be parsed", logLine, nameof(TabadminControllerEventParser));
                return(null);
            }

            var build = rawBuild.StartsWith("0.")
                ? rawBuild.Substring(2)
                : rawBuild;

            _buildTracker.AddBuild(javaLineMatchResult.Timestamp, build);

            return(new TabadminControllerEvent("Loading Topology", logLine, javaLineMatchResult, _buildTracker));
        }
 private static TabadminControllerEvent ParseError(LogLine logLine, JavaLineMatchResult javaLineMatchResult,
                                                   string eventType)
 {
     return(javaLineMatchResult.IsWarningPriorityOrHigher()
         ? new TabadminControllerEvent(eventType, logLine, javaLineMatchResult)
         : null);
 }
Exemplo n.º 3
0
        public TabadminControllerEvent ParseEvent(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            if (string.IsNullOrWhiteSpace(javaLineMatchResult.Message))
            {
                _processingNotificationsCollector.ReportError($"Line does not appear to have a message", logLine, nameof(TabadminControllerEventParser));
                return(null);
            }

            if (javaLineMatchResult.IsWarningPriorityOrHigher())
            {
                return(new TabadminControllerEvent("Error - Tabadmin Controller", logLine, javaLineMatchResult, _buildTracker));
            }

            if (javaLineMatchResult.Class.Equals("com.tableausoftware.tabadmin.configuration.builder.AppConfigurationBuilder", StringComparison.InvariantCulture))
            {
                return(ParseVersionInfo(logLine, javaLineMatchResult));
            }

            if (javaLineMatchResult.Class.StartsWith("com.tableausoftware.tabadmin.webapp.asyncjobs.", StringComparison.InvariantCulture))
            {
                return(ParseAsyncJobServiceMessages(logLine, javaLineMatchResult));
            }

            if (javaLineMatchResult.Class.StartsWith("com.tableausoftware.tabadmin.webapp.config."))
            {
                return(ParseConfigChangeRequests(logLine, javaLineMatchResult));
            }

            if (javaLineMatchResult.Class.StartsWith("com.tableausoftware.tabadmin.webapp."))
            {
                return(ParseAuthenticationRequests(logLine, javaLineMatchResult));
            }

            return(null); // Line did not match any known events
        }
Exemplo n.º 4
0
 public ClusterControllerError(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
     : base(logLine, javaLineMatchResult.Timestamp)
 {
     Class    = javaLineMatchResult.Class;
     Message  = javaLineMatchResult.Message;
     Severity = javaLineMatchResult.Severity;
 }
Exemplo n.º 5
0
 public ZookeeperError(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
     : base(logLine, javaLineMatchResult.Timestamp)
 {
     Class    = javaLineMatchResult.Class;
     Message  = javaLineMatchResult.Message;
     Severity = javaLineMatchResult.Severity;
 }
Exemplo n.º 6
0
        public void IsErrorPriorityOrHigher(string severityToUse, bool expectedResult)
        {
            var javaLineMatchResult = new JavaLineMatchResult(true)
            {
                Severity = severityToUse
            };

            javaLineMatchResult.IsErrorPriorityOrHigher().Should().Be(expectedResult);
        }
Exemplo n.º 7
0
        private TabadminControllerEvent ParseConfigChangeRequests(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            if (javaLineMatchResult.Message.StartsWith("Found"))
            {
                return(ParseColdConfigChangesFoundEvent(logLine, javaLineMatchResult));
            }

            return(null); // Line did not match any known events
        }
Exemplo n.º 8
0
 public FilestoreEvent(
     LogLine logLine,
     JavaLineMatchResult javaLineMatchResult)
     : base(logLine, javaLineMatchResult.Timestamp)
 {
     Severity = javaLineMatchResult.Severity;
     Message  = javaLineMatchResult.Message;
     Class    = javaLineMatchResult.Class;
 }
        public static bool IsErrorPriorityOrHigher(this JavaLineMatchResult javaLineMatchResult)
        {
            if (string.IsNullOrWhiteSpace(javaLineMatchResult.Severity))
            {
                return(false);
            }

            return(javaLineMatchResult.Severity.Equals("Error", StringComparison.InvariantCultureIgnoreCase) ||
                   javaLineMatchResult.Severity.Equals("Fatal", StringComparison.InvariantCultureIgnoreCase));
        }
Exemplo n.º 10
0
 public VizportalEvent(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
     : base(logLine, javaLineMatchResult.Timestamp)
 {
     Class     = javaLineMatchResult.Class;
     Message   = javaLineMatchResult.Message;
     RequestId = javaLineMatchResult.RequestId;
     SessionId = javaLineMatchResult.SessionId;
     Severity  = javaLineMatchResult.Severity;
     Site      = javaLineMatchResult.Site;
     User      = javaLineMatchResult.User;
 }
Exemplo n.º 11
0
 public BaseCppEvent(
     LogLine logLine,
     JavaLineMatchResult javaLineMatchResult)
     : base(logLine, javaLineMatchResult.Timestamp)
 {
     EventKey  = javaLineMatchResult.Class;
     ProcessId = javaLineMatchResult.ProcessId;
     RequestId = javaLineMatchResult.RequestId;
     SessionId = javaLineMatchResult.SessionId;
     Severity  = javaLineMatchResult.Severity;
     Site      = javaLineMatchResult.Site;
     ThreadId  = javaLineMatchResult.Thread;
     User      = javaLineMatchResult.User;
 }
Exemplo n.º 12
0
        private TabadminControllerEvent ParseStartJobEvent(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            var match = JobStartMessage.Match(javaLineMatchResult.Message);

            if (!match.Success)
            {
                return(null);
            }

            return(new TabadminControllerEvent("Job Start", logLine, javaLineMatchResult, _buildTracker)
            {
                JobId = match.GetNullableLong("jobId"),
                JobType = match.GetNullableString("jobType")
            });
        }
Exemplo n.º 13
0
        public TabadminControllerEvent(string eventType,
                                       LogLine logLine,
                                       JavaLineMatchResult javaLineMatchResult,
                                       IBuildTracker buildTracker = null)
            : base(logLine, javaLineMatchResult.Timestamp)
        {
            EventType = eventType;

            Class     = javaLineMatchResult.Class;
            Message   = javaLineMatchResult.Message;
            ProcessId = javaLineMatchResult.ProcessId;
            Severity  = javaLineMatchResult.Severity;
            Thread    = javaLineMatchResult.Thread;

            Build = buildTracker?.GetBuild(javaLineMatchResult.Timestamp);
        }
Exemplo n.º 14
0
        private TabadminControllerEvent ParseJobProgressUpdate(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            var match = JobProgressUpdate.Match(javaLineMatchResult.Message);

            if (!match.Success)
            {
                return(null);
            }

            return(new TabadminControllerEvent("Job Progress Update", logLine, javaLineMatchResult, _buildTracker)
            {
                JobId = match.GetNullableLong("jobId"),
                JobType = match.GetNullableString("jobType"),
                StepMessage = match.GetNullableString("stepMessage"),
                StepName = match.GetNullableString("stepName"),
                StepStatus = match.GetNullableString("stepStatus")
            });
        }
Exemplo n.º 15
0
        private static (JavaLineMatchResult MatchResult, Match Match) MatchJavaLineAndPopulateCommonFields(object rawJavaLine, Regex regexToUse)
        {
            var match = rawJavaLine?.CastToStringAndRegexMatch(regexToUse);

            if (match == null || !match.Success)
            {
                return(JavaLineMatchResult.FailedMatch(), match);
            }

            var timestamp = TimestampParsers.ParseJavaLogsTimestamp(match.GetString("ts"));
            var result    = new JavaLineMatchResult(true)
            {
                Class     = match.GetNullableString("class"),
                Message   = match.GetNullableString("message"),
                ProcessId = match.GetNullableInt("pid"),
                Severity  = match.GetNullableString("sev"),
                Thread    = match.GetNullableString("thread"),
                Timestamp = timestamp
            };

            return(result, match);
        }
Exemplo n.º 16
0
        private TabadminControllerEvent ParseAuthenticationRequests(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            if (javaLineMatchResult.Message.StartsWith("Password-less login request from user"))
            {
                return(ParsePasswordLessLoginRequest(logLine, javaLineMatchResult));
            }

            if (javaLineMatchResult.Message.StartsWith("User with"))
            {
                return(ParsePasswordLessLoginSuccess(logLine, javaLineMatchResult));
            }

            if (javaLineMatchResult.Message.StartsWith("Login request from client"))
            {
                return(ParseLoginRequestFromClientEvent(logLine, javaLineMatchResult));
            }

            if (javaLineMatchResult.Message.StartsWith("User"))
            {
                return(ParseClientUserAuthorizedEvent(logLine, javaLineMatchResult));
            }

            return(null); // Line did not match any known events
        }
Exemplo n.º 17
0
 public DataServerEvent(LogLine logLine, JavaLineMatchResult javaLineMatchResult) : base(logLine, javaLineMatchResult)
 {
     EventValue = javaLineMatchResult.Message;
 }
Exemplo n.º 18
0
        private TabadminControllerEvent ParsePasswordLessLoginSuccess(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            var match = PasswordLessLoginSuccess.Match(javaLineMatchResult.Message);

            if (!match.Success)
            {
                return(null);
            }

            return(new TabadminControllerEvent("Password-less Login Success", logLine, javaLineMatchResult, _buildTracker)
            {
                LoginUserId = match.GetNullableString("userId"),
                LoginUsername = match.GetNullableString("username")
            });
        }
Exemplo n.º 19
0
        private TabadminControllerEvent ParseLoginRequestFromClientEvent(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            var match = LoginRequestFromClient.Match(javaLineMatchResult.Message);

            if (!match.Success)
            {
                return(null);
            }

            return(new TabadminControllerEvent("Login Request From Client", logLine, javaLineMatchResult, _buildTracker)
            {
                LoginClientId = match.GetNullableString("clientId"),
                LoginClientIp = match.GetNullableString("clientIp"),
                LoginUsername = match.GetNullableString("username")
            });
        }
Exemplo n.º 20
0
        private TabadminControllerEvent ParseClientUserAuthorizedEvent(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            var match = ClientUserAuthorized.Match(javaLineMatchResult.Message);

            if (!match.Success)
            {
                return(null);
            }

            return(new TabadminControllerEvent("Login From Client Success", logLine, javaLineMatchResult, _buildTracker)
            {
                LoginUsername = match.GetNullableString("username")
            });
        }
Exemplo n.º 21
0
        private TabadminControllerEvent ParseColdConfigChangesFoundEvent(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            var match = ColdConfigChangesFound.Match(javaLineMatchResult.Message);

            if (!match.Success)
            {
                return(null);
            }

            return(new TabadminControllerEvent("Cold Config Changes Found", logLine, javaLineMatchResult, _buildTracker)
            {
                ConfigParametersChanging = match.GetNullableString("configParametersList")
            });
        }
Exemplo n.º 22
0
        private TabadminControllerEvent ParseAsyncJobServiceMessages(LogLine logLine, JavaLineMatchResult javaLineMatchResult)
        {
            if (javaLineMatchResult.Message.StartsWith("Running job"))
            {
                return(ParseStartJobEvent(logLine, javaLineMatchResult));
            }

            if (javaLineMatchResult.Message.StartsWith("Updated status for job"))
            {
                return(ParseJobStatusUpdateEvent(logLine, javaLineMatchResult));
            }

            if (javaLineMatchResult.Message.StartsWith("Progress update for job"))
            {
                return(ParseJobProgressUpdate(logLine, javaLineMatchResult));
            }

            return(null); // Line did not match any known events
        }