GTK and Python based, system performance and usage monitoring tool

Overview

System Monitoring Center

GTK3 and Python 3 based, system performance and usage monitoring tool.

Platform (GNU/Linux) Download System Monitoring Center GitHub all releases GitHub release (latest by date)

Download System Monitoring Center

Download System Monitoring Center

Packaging status

Features:

  • Detailed system performance and usage usage monitoring/managing features:
    • Monitoring CPU, RAM, Disk, Network, GPU, Sensor hardware information/performance/usage
    • An always on top and semi-transparent floating summary window for performance monitoring
    • Monitoring and managing processes, users, storage devices, startup applications, services (systemd) and environment variables
    • Monitoring general system information
  • Customization options per-tab
  • Low system resource usage while monitoring
  • Language support (more languages will be added if translations are provided by contributors):
    • English, Turkish
  • Provides help information when mouse hover action is performed on several GUI objects
  • Adapts to system theme
  • Free and open sourced

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

Dependencies:

  • Python 3 (Programming language)
  • GTK3 (GUI)
  • python3-opengl (for FPS counting)

Status:

  • The application is in Beta stage and there may be bugs to be fixed. Also settings of System Monitoring Center may be reset (very rare).
Comments
  • Multiple bugs on ARM systems and installation on Ubuntu 18

    Multiple bugs on ARM systems and installation on Ubuntu 18

    Edits: I've decided to edit this post to list the unfixed and fixed issues mentioned in this issue: Fixed:

    • computer model name for systems with devicetrees
    • usb network adapters
    • support for system services located at /lib/systemd/system
    • disk mount when multiple mounts exist in a single partition
    • support for python 3.6, hw.ids (instead of pci.ids) for support on older debian/ubuntu, gtk 3.22, util-linux 2.31
    • graphs and other UI elements no longer freeze if tab experiences an error on loading
    • gpu vendor/name for devices that use /sys/devices/gpu.0/modalias
    • gpu tab missing memory/rendering/driver/opengl info for /sys/devices/gpu.# devices

    current issues:

    • cpu name is not the best for ARM cpus (now tracking in the https://github.com/hakandundar34coding/system-monitoring-center/tree/draft)

    Original Post: bionic has gtk 3.22, no package for pci.ids, python3.6, and util-linux 2.31

    all of these are problematic for the source of this repo or the debian control file.

    lowing these requirements in the debian control file and rebuilding with version="3.24"/> replaced with version="3.22"/> almost everything works. /usr/share/misc/pci.ids is provided by pciutils in debian buster and bionic

    the only things that don't work are the network and gpu tabs. the gpu tab is broken because I am testing this on a jetson tegra x1, with the nvidia drivers and it does not use /dev/dri so errors like this are output and the rest of the UI on the other tabs breaks:

      File "/usr/share/system-monitoring-center/src/MainGUI.py", line 189, in on_main_gui_tab_radiobuttons_toggled
        self.main_gui_tab_switch_func()
      File "/usr/share/system-monitoring-center/src/MainGUI.py", line 307, in main_gui_tab_switch_func
        from Gpu import Gpu
      File "/usr/share/system-monitoring-center/src/Gpu.py", line 403, in <module>
        Gpu = Gpu()
      File "/usr/share/system-monitoring-center/src/Gpu.py", line 52, in __init__
        self.gpu_initial_func()
      File "/usr/share/system-monitoring-center/src/Gpu.py", line 168, in gpu_initial_func
        self.gpu_get_gpu_list_and_set_selected_gpu_func()
      File "/usr/share/system-monitoring-center/src/Gpu.py", line 348, in gpu_get_gpu_list_and_set_selected_gpu_func
        self.gpu_list = [gpu_name for gpu_name in os.listdir("/dev/dri/") if gpu_name.rstrip("0123456789") == "card"]
    FileNotFoundError: [Errno 2] No such file or directory: '/dev/dri/'
    

    networking breaks with this error:

    Traceback (most recent call last):
      File "/usr/share/system-monitoring-center/src/MainGUI.py", line 189, in on_main_gui_tab_radiobuttons_toggled
        self.main_gui_tab_switch_func()
      File "/usr/share/system-monitoring-center/src/MainGUI.py", line 293, in main_gui_tab_switch_func
        from Network import Network
      File "/usr/share/system-monitoring-center/src/Network.py", line 321, in <module>
        Network = Network()
      File "/usr/share/system-monitoring-center/src/Network.py", line 49, in __init__
        self.network_initial_func()
      File "/usr/share/system-monitoring-center/src/Network.py", line 173, in network_initial_func
        with open("/sys/class/net/" + selected_network_card + "/device/vendor") as reader:
    FileNotFoundError: [Errno 2] No such file or directory: '/sys/class/net/enx0050b62942ef/device/vendor'
    

    note I'm using a perfectly functional usb network card. this folder exits /sys/class/net/enx0050b62942ef/device , there just isn't a vendor file in there

    opened by theofficialgman 63
  • Improvements for emmc/sd devices, GPU tab and .deb packaging

    Improvements for emmc/sd devices, GPU tab and .deb packaging

    copying the relevant info over to this independent issue https://github.com/hakandundar34coding/system-monitoring-center/issues/40#issuecomment-1081259315:

    Vendor information can be get for MMC devices by using some files. Can you write output of this command: grep . /sys/class/block/mmcblk0/device/*

    grep . /sys/class/block/mmcblk0/device/*
    grep: /sys/class/block/mmcblk0/device/block: Is a directory
    /sys/class/block/mmcblk0/device/cid:035344534e35313280fff7b17b015700
    /sys/class/block/mmcblk0/device/csd:400e0032db79000ee5b77f800a404000
    /sys/class/block/mmcblk0/device/date:07/2021
    grep: /sys/class/block/mmcblk0/device/driver: Is a directory
    /sys/class/block/mmcblk0/device/dsr:0x404
    /sys/class/block/mmcblk0/device/erase_size:512
    /sys/class/block/mmcblk0/device/error_stats:0
    /sys/class/block/mmcblk0/device/fwrev:0x0
    /sys/class/block/mmcblk0/device/hwrev:0x8
    /sys/class/block/mmcblk0/device/ios_timing:timing spec:	6 (sd uhs SDR104)
    /sys/class/block/mmcblk0/device/manfid:0x000003
    /sys/class/block/mmcblk0/device/name:SN512
    /sys/class/block/mmcblk0/device/ocr:0x00200000
    /sys/class/block/mmcblk0/device/oemid:0x5344
    grep: /sys/class/block/mmcblk0/device/power: Is a directory
    /sys/class/block/mmcblk0/device/preferred_erase_size:4194304
    /sys/class/block/mmcblk0/device/scr:0245848700000000
    /sys/class/block/mmcblk0/device/serial:0xfff7b17b
    /sys/class/block/mmcblk0/device/speed_class:4
    /sys/class/block/mmcblk0/device/ssr:0000000008000000040090000f05391e000800000002fc0003000000000000000000000000000000000000000000000000000000000000000000000000000000
    grep: /sys/class/block/mmcblk0/device/subsystem: Is a directory
    /sys/class/block/mmcblk0/device/type:SD
    /sys/class/block/mmcblk0/device/uevent:DRIVER=mmcblk
    /sys/class/block/mmcblk0/device/uevent:MMC_TYPE=SD
    /sys/class/block/mmcblk0/device/uevent:MMC_NAME=SN512
    /sys/class/block/mmcblk0/device/uevent:MODALIAS=mmc:block
    

    this is a sandisk card, decoding the ID should come back to that.

    opened by theofficialgman 55
  • Raspberry Pi specific improvements

    Raspberry Pi specific improvements

    Raspberry Pi operating systems include a command called vcgencmd, which can obtain device-specific information that is not reflected in more global locations. While ideally a system monitor should be able to rely on standardized locations for parameters, that simply is not the case in the ARM world. (Maybe in 5 years...)

    Link to vcgencmd documentation

    Here are the specific ways in which System-Monitoring-Center can use vcgencmd:

    • To determine total RAM on the device, regardless of CPU allocation: vcgencmd get_config total_mem Example output: total_mem=8192 (in megabytes)
    • To determine memory allocated to the GPU: vcgencmd get_mem gpu Example output: gpu=128M (in megabytes)
    • To determine GPU frequency: vcgencmd get_config gpu_freq Example output: gpu_freq=700 (in megahertz)

    Also I found a possible way to determine L1/L2/L3 cache size, but it involves compiling a kernel module. :( This is probably more trouble than it's worth, but is still interesting to document.

    opened by Botspot 32
  • Don't show loop and ramdisk devices by default

    Don't show loop and ramdisk devices by default

    It's better if loop devices don't show by default in Performance tab --> Disk

    Loop devices /dev/loop* are usually squashfs or iso files (read only).

    Thanks.

    opened by babam86 22
  • No graphics after installing from pip version?

    No graphics after installing from pip version?

    I installed the program via pip ... and unfortunately I have some errors, i.e. no graphics, icons in the program? Previously it was OK if I was installing from .deb However, I wanted to be able to do a simple upgrade ... can I somehow fix / install some packages ??? 2 1 Ps.I restarted the system ... and the option did not help either touch ~/.local/share/*

    opened by ski007 16
  • Disk Usage Of Parent Disk And Disk Model For NVMe SSDs Are Not Shown

    Disk Usage Of Parent Disk And Disk Model For NVMe SSDs Are Not Shown

    Disk tab automatically selects the home partition, which results, at least with my SSD, in no metrics displayed. Metrics are displayed correctly upon selecting the DDS device e.g nvme0n1 instead of nvme0n1p6, which was selected by default. - Screenshot and debug message:

    Traceback (most recent call last):
      File "/usr/share/system-monitoring-center/src/Disk.py", line 271, in disk_loop_func
        disk_get_device_partition_model_name_mount_point_func()
      File "/usr/share/system-monitoring-center/src/Disk.py", line 385, in disk_get_device_partition_model_name_mount_point_func
        with open("/sys/class/block/" + parent_disk + "/device/model") as reader:
    FileNotFoundError: [Errno 2] No such file or directory: '/sys/class/block/nvme0n1p/device/model'
    

    Additional information:

    [[email protected] ~]$ ls /sys/class/block/
    total 0
    drwxr-xr-x.  2 root root 0 Dec  2 14:30 ./
    drwxr-xr-x. 76 root root 0 Dec  2 13:47 ../
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p1 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p1/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p2 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p2/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p3 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p3/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p4 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p4/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p5 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p5/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p6 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p6/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p7 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p7/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 zram0 -> ../../devices/virtual/block/zram0/
    
    [[email protected] ~]$ cat /proc/mounts 
    proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
    sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=7859896k,nr_inodes=1964974,mode=755,inode64 0 0
    securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
    tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev,inode64 0 0
    devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
    tmpfs /run tmpfs rw,seclabel,nosuid,nodev,size=3168180k,nr_inodes=819200,mode=755,inode64 0 0
    cgroup2 /sys/fs/cgroup cgroup2 rw,seclabel,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0
    pstore /sys/fs/pstore pstore rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
    none /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
    /dev/nvme0n1p6 / btrfs rw,seclabel,relatime,compress=zstd:1,ssd,space_cache,subvolid=257,subvol=/root 0 0
    selinuxfs /sys/fs/selinux selinuxfs rw,nosuid,noexec,relatime 0 0
    systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=28223 0 0
    mqueue /dev/mqueue mqueue rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    debugfs /sys/kernel/debug debugfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    tracefs /sys/kernel/tracing tracefs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime,pagesize=2M 0 0
    fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
    configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
    /dev/nvme0n1p6 /home btrfs rw,seclabel,relatime,compress=zstd:1,ssd,space_cache,subvolid=256,subvol=/home 0 0
    tmpfs /tmp tmpfs rw,seclabel,nosuid,nodev,size=7920444k,nr_inodes=409600,inode64 0 0
    /dev/nvme0n1p4 /mnt/BA9E0A209E09D633 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
    /dev/nvme0n1p5 /boot ext4 rw,seclabel,relatime 0 0
    /dev/nvme0n1p3 /mnt/12DAA115DAA0F65F fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
    /dev/nvme0n1p7 /mnt/01D7E10FC8B40900 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
    /dev/nvme0n1p1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro 0 0
    sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
    tmpfs /run/user/1000 tmpfs rw,seclabel,nosuid,nodev,relatime,size=1584088k,nr_inodes=396022,mode=700,uid=1000,gid=1000,inode64 0 0
    gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
    portal /run/user/1000/doc fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
    portal /root/.cache/doc fuse.portal rw,nosuid,nodev,relatime,user_id=0,group_id=0 0 0
    gvfsd-fuse /root/.cache/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=0,group_id=0 0 0
    
    opened by govarthenan 16
  • Some dependency issues on from AUR

    Some dependency issues on from AUR

    I would like to thank you for the wonderful piece of software you have created here. It is very polished and works amazingly well.

    Now, onto what I found.

    When trying to download from the AUR in Manjaro it kept chucking an error for python-tomli 2.0.1-1. This is down to the fact that the repository cannot be found to download the required package. I understand that this is an issue you have no control over so I am more then happy to chalk it up to a non issue.

    When installing via pip instead it works perfectly fine on Manjaro. No bothers at all.

    I have also made a video about this that will be published tomorrow. Again, thank you for the software and I hope you enjoy the video. Have a good day!

    https://youtu.be/4YIqaUx63Lg

    opened by NickMatthews-1 15
  • Displaying temperature for Nvidia GPU

    Displaying temperature for Nvidia GPU

    Based on the screenshots, it does show temperatures for nouveau drivers, but are you able to have it display it for Nvidia proprietary drivers too by any chance?

    opened by Hayashi-Tensai 13
  • [Feature Request]  Use of Colors in Process enumerator section

    [Feature Request] Use of Colors in Process enumerator section

    Hi,

    I'm really enjoying using System Monitoring Center and I spend a lot of time in the "Processes" section...

    It is real useful and well done. I only have a rather basic suggestion:

    I would find it easier to read through during analytical runs, where a more extensive use of colourful icons and text colouring be implemented...

    Finding things at a glance is a bit too monochromatic to make it easy to rapidly id abstractions in the process load...

    Also the process Tree while really useful actually adds significantly to the monochromatic noise...

    Also I'm rather grateful you update so regularly. It's a really good tool, very useful...

    opened by The-Real-Admin-Guy 11
  • Possible to implement an update notification?

    Possible to implement an update notification?

    It would be nice to have a feature where it informs the user of an update when a new version is available, or else it will be hard to tell when a new version releases

    opened by Hayashi-Tensai 9
  • Files are installed in the wrong place

    Files are installed in the wrong place

    I tried the v1.12.1 and v1.12.1-deb_for_stores tags with the same result.

    Using setup.py build / install:

    .
    ├── systemmonitoringcenter
    │   ├── applications
    │   ├── database
    │   ├── icons
    │   │   └── hicolor
    │   │       └── scalable
    │   │           ├── actions
    │   │           └── apps
    │   ├── locale
    │   │   ├── cs
    │   │   │   └── LC_MESSAGES
    │   │   ├── pl
    │   │   │   └── LC_MESSAGES
    │   │   ├── pt_BR
    │   │   │   └── LC_MESSAGES
    │   │   └── tr
    │   │       └── LC_MESSAGES
    │   ├── src
    │   └── ui
    └── usr
        ├── bin
        └── lib
            └── python3.10
                └── site-packages
                    ├── systemmonitoringcenter
                    │   └── __pycache__
                    └── system_monitoring_center-1.12.1-py3.10.egg-info
    
    

    Using build / installer:

    
    └── usr
        ├── bin
        └── lib
            └── python3.10
                └── site-packages
                    ├── systemmonitoringcenter
                    │   ├── applications
                    │   ├── database
                    │   ├── icons
                    │   │   └── hicolor
                    │   │       └── scalable
                    │   │           ├── actions
                    │   │           └── apps
                    │   ├── locale
                    │   │   ├── cs
                    │   │   │   └── LC_MESSAGES
                    │   │   ├── pl
                    │   │   │   └── LC_MESSAGES
                    │   │   ├── pt_BR
                    │   │   │   └── LC_MESSAGES
                    │   │   └── tr
                    │   │       └── LC_MESSAGES
                    │   ├── __pycache__
                    │   ├── src
                    │   │   └── __pycache__
                    │   └── ui
                    └── system_monitoring_center-1.12.1.dist-info
    
    opened by yochananmarqos 9
Releases(v1.39.0)
Summarize LSF job properties by parsing log files.

Summarize LSF job properties by parsing log files of workflows executed by Snakemake.

Kim 4 Jan 09, 2022
changedetection.io - The best and simplest self-hosted website change detection monitoring service

changedetection.io - The best and simplest self-hosted website change detection monitoring service. An alternative to Visualping, Watchtower etc. Designed for simplicity - the main goal is to simply

7.3k Jan 01, 2023
Fancy console logger and wise assistant within your python projects

Fancy console logger and wise assistant within your python projects. Made to save tons of hours for common routines.

BoB 5 Apr 01, 2022
ClusterMonitor - a very simple python script which monitors and records the CPU and RAM consumption of submitted cluster jobs

ClusterMonitor A very simple python script which monitors and records the CPU and RAM consumption of submitted cluster jobs. Usage To start recording

23 Oct 04, 2021
Track Nano accounts and notify via log file or email

nano-address-notifier Track accounts and notify via log file or email Required python libs

Joohansson (Json) 4 Nov 08, 2021
A python logging library

logi v1.3.4 instolation the lib works on python 3x versions pip install logi examples import import logi log = logger(path='C:/file path', timestamp=T

2 Jul 06, 2022
Structured Logging for Python

structlog makes logging in Python faster, less painful, and more powerful by adding structure to your log entries. It's up to you whether you want str

Hynek Schlawack 2.3k Jan 05, 2023
Keylogger with Python which logs words into server terminal.

word_logger Experimental keylogger with Python which logs words into server terminal.

Selçuk 1 Nov 15, 2021
The easy way to send notifications

See changelog for recent changes Got an app or service and you want to enable your users to use notifications with their provider of choice? Working o

Or Carmi 2.4k Dec 25, 2022
dash-manufacture-spc-dashboard is a dashboard for monitoring read-time process quality along manufacture production line

In our solution based on plotly, dash and influxdb, the user will firstly generate the specifications for different robots, and then a wide range of interactive visualizations for different machines

Dequn Teng 1 Feb 13, 2022
Logging system for the TPC software.

tpc_logger Logging system for the TPC software. The TPC Logger class provides a singleton for logging information within C++ code or in the python API

UC Davis Machine Learning 1 Jan 10, 2022
A lightweight logging library for python applications

cakelog a lightweight logging library for python applications This is a very small logging library to make logging in python easy and simple. config o

2 Jan 05, 2022
Python logging made (stupidly) simple

Loguru is a library which aims to bring enjoyable logging in Python. Did you ever feel lazy about configuring a logger and used print() instead?... I

13.7k Jan 02, 2023
Token Logger with python

Oxy Token Stealer Features Grabs discord tokens Grabs chrome passwords Grabs edge passwords Nothing else, I don't feel like releasing full on malware

oxy 1 Feb 12, 2022
Json Formatter for the standard python logger

This library is provided to allow standard python logging to output log data as json objects. With JSON we can make our logs more readable by machines and we can stop writing custom parsers for syslo

Zakaria Zajac 1.4k Jan 04, 2023
A simple, transparent, open-source key logger, written in Python, for tracking your own key-usage statistics.

A simple, transparent, open-source key logger, written in Python, for tracking your own key-usage statistics, originally intended for keyboard layout optimization.

Ga68 56 Jan 03, 2023
Pretty-print tabular data in Python, a library and a command-line utility. Repository migrated from bitbucket.org/astanin/python-tabulate.

python-tabulate Pretty-print tabular data in Python, a library and a command-line utility. The main use cases of the library are: printing small table

Sergey Astanin 1.5k Jan 06, 2023
HTTP(s) "monitoring" webpage via FastAPI+Jinja2. Inspired by https://github.com/RaymiiOrg/bash-http-monitoring

python-http-monitoring HTTP(s) "monitoring" powered by FastAPI+Jinja2+aiohttp. Inspired by bash-http-monitoring. Installation can be done with pipenv

itzk 39 Aug 26, 2022
A simple package that allows you to save inputs & outputs as .log files

wolf_dot_log A simple package that allows you to save inputs & outputs as .log files pip install wolf_dot_log pip3 install wolf_dot_log |Instructions|

Alpwuf 1 Nov 16, 2021
Log processor for nginx or apache that extracts user and user sessions and calculates other types of useful data for bot detection or traffic analysis

Log processor for nginx or apache that extracts user and user sessions and calculates other types of useful data for bot detection or traffic analysis

David Puerta Martín 1 Nov 11, 2021