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); }
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 }
public ClusterControllerError(LogLine logLine, JavaLineMatchResult javaLineMatchResult) : base(logLine, javaLineMatchResult.Timestamp) { Class = javaLineMatchResult.Class; Message = javaLineMatchResult.Message; Severity = javaLineMatchResult.Severity; }
public ZookeeperError(LogLine logLine, JavaLineMatchResult javaLineMatchResult) : base(logLine, javaLineMatchResult.Timestamp) { Class = javaLineMatchResult.Class; Message = javaLineMatchResult.Message; Severity = javaLineMatchResult.Severity; }
public void IsErrorPriorityOrHigher(string severityToUse, bool expectedResult) { var javaLineMatchResult = new JavaLineMatchResult(true) { Severity = severityToUse }; javaLineMatchResult.IsErrorPriorityOrHigher().Should().Be(expectedResult); }
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 }
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)); }
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; }
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; }
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") }); }
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); }
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") }); }
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); }
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 }
public DataServerEvent(LogLine logLine, JavaLineMatchResult javaLineMatchResult) : base(logLine, javaLineMatchResult) { EventValue = javaLineMatchResult.Message; }
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") }); }
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") }); }
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") }); }
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") }); }
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 }