The source in this case is a fava
application logging with log4j2.
They log to a syslog tcp socket on the local host.
What I have is a java stack trace that looks like.
2018-03-20T00:05:00 briard daemon.err iiq1r: ERROR api.Aggregator
- Exception during aggregation. Reason:
java.lang.RuntimeException: sailpoint.tools.GeneralException:
Errors returned from IQService. The changeToken refers to a time
before the start of the current change log.
2018-03-20T00:05:00 briard daemon.err java.lang.RuntimeException:
sailpoint.tools.GeneralException: Errors returned from IQService.
The changeToken refers to a time before the start of the current
change log.
2018-03-20T00:05:00 briard daemon.err at
sailpoint.connector.SharePointRWConnector$SharePointIterator.hasNext(SharePointRWConnector.java:700)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.connector.ConnectorProxy$CustomizingIterator.peek(ConnectorProxy.java:829)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.connector.ConnectorProxy$CustomizingIterator.hasNext(ConnectorProxy.java:856)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.api.Aggregator.aggregateAccounts(Aggregator.java:2799)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.api.Aggregator.primaryAccountAggregation(Aggregator.java:2498)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.api.Aggregator.aggregateApplication(Aggregator.java:2348)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.api.Aggregator.phaseAggregate(Aggregator.java:2250)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.api.Aggregator.execute(Aggregator.java:1868)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.task.ResourceIdentityScan.doUnpartitioned(ResourceIdentityScan.java:219)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.task.ResourceIdentityScan.execute(ResourceIdentityScan.java:199)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.api.TaskManager.runSync(TaskManager.java:796)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.scheduler.JobAdapter.execute(JobAdapter.java:123)
2018-03-20T00:05:00 briard daemon.err at
org.quartz.core.JobRunShell.run(JobRunShell.java:202)
2018-03-20T00:05:00 briard daemon.err at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
2018-03-20T00:05:00 briard daemon.err Caused by:
sailpoint.tools.GeneralException: Errors returned from IQService.
The changeToken refers to a time before the start of the current
change log.
2018-03-20T00:05:00 briard daemon.err at
sailpoint.connector.RPCService.checkForErrors(RPCService.java:518)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.connector.RPCService.parseResponse(RPCService.java:445)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.connector.RPCService.execute(RPCService.java:394)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.connector.SharePointRWConnector$SharePointIterator.getNextBlock(SharePointRWConnector.java:608)
2018-03-20T00:05:00 briard daemon.err at
sailpoint.connector.SharePointRWConnector$SharePointIterator.hasNext(SharePointRWConnector.java:663)
2018-03-20T00:05:00 briard daemon.err ... 13 more
The first line has the application name, and then all of the
others are really just part of the multi-linem message.
Unfortunately this is arriving on a tcp
socket, which does not support multi-line messages.
Does log4j2 support syslog protocol?
Does log4j2 support json format?
That's won't solve my first issue in that the application actually
breaks the messages.
2018-03-20T00:00:15 briard daemon.debug iiq1r: DEBUG
idam.SyslogStats -
syslogEvents,env=preprod,server=boerboel,className=sailpoint.provisioning.PlanEvaluator,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.api.Workflower,eventLevel=WARN
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.provisioning.PlanEvaluator,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.connector.LDAPConnector,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel.comp.uv...
2018-03-20T00:00:15 briard daemon.debug
...ic.ca,className=sailpoint.scheduler.JobAdapter,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.provisioning.PlanEvaluator,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.scheduler.JobAdapter,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.task.Housekeeper$WorkflowerThread,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.provisioning.PlanEvaluator,eventLevel=ERR...
2018-03-20T00:00:15 briard daemon.debug ...OR count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.connector.LDAPConnector,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.api.Workflower,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.request.RequestHandler,eventLevel=WARN
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.provisioning.PlanEvaluator,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,classN...
2018-03-20T00:00:15 briard daemon.debug
...ame=sailpoint.provisioning.PlanEvaluator,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.provisioning.PlanEvaluator,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.scheduler.JobAdapter,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.scheduler.JobAdapter,eventLevel=ERROR
count=1 1521529200
syslogEvents,env=preprod,server=boerboel,className=sailpoint.provisioning.PlanEvaluator,eventLevel=ERROR
count=1 1521529200
I will follow up with out java group to see what options are
available to us..
On 03/20/2018 06:56 AM, Nagy, Gábor wrote:
I see that the complexity of that regex expression
would increase hugely if you want to solve.
I'm still thinking about other possibilities before
focusing on a patterndb solution.
What kind of source do you use for that application? Where
is it logging to?
Gabor
--
Evan