Code Monkey home page Code Monkey logo

serpend's Introduction

serpend

A cross-platform Python 3 module for parsing and analysing systemd logs.

Usage

Example

python3 -m serpend --rule-file rules/kernel.serpend /run/log/journal/*/system.journal

Or for full usage tips, run with the help flag:

python3 -m serpend --help

Output:
usage: __main__.py [-h] [-r [rule [rule ...]]] [-f [rulefile [rulefile ...]]]
                   logfile [logfile ...]

A systemd log rule based analyser

positional arguments:
  logfile               A standard journald logfile

optional arguments:
  -h, --help            show this help message and exit
  -r [rule [rule ...]], --rule [rule [rule ...]]
                        A standalone rule, see the help below for examples
  -f [rulefile [rulefile ...]], --rule-file [rulefile [rulefile ...]]
                        A rule file, see the help below for examples

Supported syntax for matching

       pid   uid  gid    msg    custom specifiers
alert <pat> <pat> <pat> <msg> ( <attr> : <pat>; ... )

attr, attributes are identifiers for the fields. For a writeup on supported fields see:
https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html

pat, a pattern the field should follow
    supported patterns:
        simple patterns
            *        ignore this field, matches regardless of field value or availability
            ?        this field should be available
            !        this field shouldn't be available

        numeric patterns
            <nr>     the field should be that specific number
            != <nr>  the field should not be that specifc number
            >  <nr>  the field should be larger than a number
            <  <nr>  the field should be smaller than a number
            >= <nr>  the field should be larger than a number
            <= <nr>  the field should be smaller than a number

        string pattern
            "string" the field should be exactly that string
            'string' the field should be exactly that string

        complex patterns
            /regex/  the field matches the regex

    Example of rule
        alert * * * "Example rule finding panic messages, message: $MESSAGE" (MESSAGE:/panic/)

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.