Code Monkey home page Code Monkey logo

standalone-atlassian-log-scanner's Introduction

Standalone Atlassian Log Scanner/Analyser

Sick of the time it takes to scan your Atlassian log files using the Log Analyser? Enter SALSA!

Build Status Ask Me Anything ! MIT license Open Source Love svg2

This is a standalone version of the Log Scanner (Hercules) that is built into Jira, Confluence, Bitbucket, Bamboo, Crowd and Fisheye/Crucible.

The aim of this project is to increase the speed of scanning compared to executing through the interface of the Atlassian applications.

It also extends the provided tool with the following improvements:

  • Allows third-party developers to provide definition files that can be used in addition to the Atlassian-supplied definitions
  • Can be integrated with a support system to perform automated scanning on submission of log files
  • Run the analysis on a different box than the Jira/Confluence system that is experiencing a problem
  • Code can also be used for scanning any text files for Regular Expressions from XML.
  • Run in Sequence or in Parrallel and display verbose information

Performance

A 3MB Log File took the following duration:

  • Support Tools Log Analyser: 6 minutes 14 seconds
  • Standalone Log Scanner (sequential): 1 minute 48 seconds
  • Standalone Log Scanner (parrallel): 34 seconds

That's an over 70% improvement when sequentially run and an over 90% improvement when run in parrallel

How it Works

The following steps are followed:

  1. (if it doesn't already exist) Download the definition file from the Atlassian website, or a custom URL
  2. Parses the XML into JAXB Objects
  3. Generates Regular Expression List
  4. Reads the Log File
  5. Runs Regular Expressions on each Log Line (either sequentially or in parallel)
  6. Prints out the URL of all errors that have been found in the system (distinct, or all using verbose mode)

Compiling

Run the following command to build the project into a JAR file:

mvn package

Usage

Execute the following on your command line (CMD or Bash) and leave the -stream parameter out if you would like it to run sequentially (which is much less demanding). To see all problems, use the -verbose flag

java -jar log-scanner.jar -def=jira-core -log=atlassian-jira.log -stream

Custom Definitions

This tool supports custom definitions, by providing a URL as the definition argument:

-def=https://www.example.com/definition.xml

There is a sample definition file in the examples/ folder.

Download

You can download a pre-compiled binary from the releases page

License

FOSSA Status

Example

Built-in Tool

Support Tools Output

Standalone Tool

SALSA Output

Improvements

  • Use Parallel Streams API to speed up analysis
  • Implement flags and arguments
  • Show Datetime for each detected problem
  • Show line number against each detected problem
  • Implement multiple definitions per analysis (by combining XML)
  • Implement Jira Service Desk App for use with support tickets
  • Port to Node.js for use with NPM

standalone-atlassian-log-scanner's People

Contributors

jackgraves avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.