parent
d908065232
commit
06044842de
52
README.md
52
README.md
|
@ -1,18 +1,60 @@
|
||||||
# jilo
|
# jilo - JItsi Logs Observer
|
||||||
|
|
||||||
JItsi Logs Observer
|
## overview
|
||||||
|
|
||||||
|
Bash scripts for collecting and displaying information about conference events from Jitsi Meet logs.
|
||||||
|
|
||||||
|
The webpage for this project is https://lindeas.com/jilo. The main git repo is:
|
||||||
|
- https://code.lindeas.com/lindeas/jilo
|
||||||
|
|
||||||
|
It is mirrored at:
|
||||||
|
- https://codeberg.org/lindeas/jilo
|
||||||
|
- https://github.com/lindeas/jilo
|
||||||
|
- https://gitlab.com/lindeas/jilo
|
||||||
|
|
||||||
|
You can use any of these git repos to get the program.
|
||||||
|
|
||||||
|
You are welcome to send feedback with issues, comments and pull requests to a git mirror you prefer.
|
||||||
|
|
||||||
|
## version
|
||||||
|
|
||||||
|
Current version: **0.1** released on **2024-06-12**
|
||||||
|
|
||||||
|
## components
|
||||||
|
|
||||||
Currently this has two components:
|
Currently this has two components:
|
||||||
|
|
||||||
- **jilo** is the script for collecting data from the logs.
|
- `jilo` is the script for collecting data from the logs.
|
||||||
It is meant to be installed and run on the server and it needs read permissions for the logs.
|
It is meant to be installed and run on the server and it needs read permissions for the logs.
|
||||||
Currently it works with Videobridge and Jicofo log files.
|
Currently it works with Videobridge and Jicofo log files.
|
||||||
You can run it with cron to periodically update the new data from the logs.
|
You can run it with cron to periodically update the new data from the logs.
|
||||||
|
|
||||||
- **jilo-cli** is a command line client for displaying stats from an already populated jilo database
|
- `jilo-cli` is a command line client for displaying stats from an already populated jilo database
|
||||||
It needs access to the jilo database.
|
It needs access to the jilo database.
|
||||||
|
|
||||||
The database can be an SQLite file or MySQL/MariaDB database. The default is local sqlite file.
|
## installation
|
||||||
|
|
||||||
|
Clone the git repo:
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/lindeas/jilo.git
|
||||||
|
cd jilo
|
||||||
|
```
|
||||||
|
|
||||||
|
## config
|
||||||
|
|
||||||
The config file **jilo.conf** overrides the default settings.
|
The config file **jilo.conf** overrides the default settings.
|
||||||
For more details check the comments in the scripts or use the --help option
|
For more details check the comments in the scripts or use the --help option
|
||||||
|
|
||||||
|
## database
|
||||||
|
|
||||||
|
The database can be an SQLite file or MySQL/MariaDB database. The default is local sqlite file.
|
||||||
|
|
||||||
|
## running
|
||||||
|
|
||||||
|
You can run `jilo` once or add it to a crontab. If you run it periodically it will keep track of all.
|
||||||
|
events, detecting when the logs rotate and continuing from where it left on the previous run.
|
||||||
|
|
||||||
|
Use `jilo-cli` to visualize the info from the database that was gathered previously with `jilo`
|
||||||
|
|
||||||
|
`jilo-cli` can search for conference and participant events, and display events in a given time period..
|
||||||
|
Where appropriate, combine `jilo-cli` with sort, wc and other tools to get total numbers.
|
||||||
|
|
17
jilo
17
jilo
|
@ -6,6 +6,9 @@
|
||||||
# Bash script for Jitsi Meet components (Videobridge, Jicofo, etc.) logs parsing
|
# Bash script for Jitsi Meet components (Videobridge, Jicofo, etc.) logs parsing
|
||||||
###
|
###
|
||||||
|
|
||||||
|
VERSION="0.1"
|
||||||
|
RELEASE_DATE="2024-06-12"
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" #"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" #"
|
||||||
|
|
||||||
### Configuration file (overrides default configs)
|
### Configuration file (overrides default configs)
|
||||||
|
@ -128,7 +131,15 @@ help="Usage:
|
||||||
--create-db|-d - create the database
|
--create-db|-d - create the database
|
||||||
--flush|-f - flush the tables
|
--flush|-f - flush the tables
|
||||||
--check|-c [-v] - check for new data [verbosely]
|
--check|-c [-v] - check for new data [verbosely]
|
||||||
--parse|-p [-v] - parse the logs [verbosely]"
|
--parse|-p [-v] - parse the logs [verbosely]
|
||||||
|
--help|-h - show this help message
|
||||||
|
--version|-V - show version"
|
||||||
|
|
||||||
|
version="JILO Jitsi Logs Observer
|
||||||
|
jilo_${VERSION}_${RELEASE_DATE}
|
||||||
|
version $VERSION
|
||||||
|
released on $RELEASE_DATE"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
|
@ -487,6 +498,10 @@ for arg in "${args[@]}"; do
|
||||||
echo -e "$help"
|
echo -e "$help"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
-V | --version)
|
||||||
|
echo -e "$version"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Invalid option: -$OPTARG" >&2
|
echo "Invalid option: -$OPTARG" >&2
|
||||||
echo -e "$help"
|
echo -e "$help"
|
||||||
|
|
17
jilo-cli
17
jilo-cli
|
@ -7,6 +7,9 @@
|
||||||
# Command line interface (jilo-cli)
|
# Command line interface (jilo-cli)
|
||||||
###
|
###
|
||||||
|
|
||||||
|
VERSION="0.1"
|
||||||
|
RELEASE_DATE="2024-06-12"
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" #"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" #"
|
||||||
|
|
||||||
### Configuration file (overrides default configs)
|
### Configuration file (overrides default configs)
|
||||||
|
@ -383,7 +386,15 @@ help="Usage:
|
||||||
Options:
|
Options:
|
||||||
--conference|-c [conference ID or name] - show specific conference(s), all of empty
|
--conference|-c [conference ID or name] - show specific conference(s), all of empty
|
||||||
--participant|-p [participant endpoint ID, conference ID, participant IP, or participant stats ID] - show specific participant(s), all if empty
|
--participant|-p [participant endpoint ID, conference ID, participant IP, or participant stats ID] - show specific participant(s), all if empty
|
||||||
--time|-t - show stats for a time interval"
|
--time|-t - show stats for a time interval
|
||||||
|
--help|-h - show this help message
|
||||||
|
--version|-V - show version"
|
||||||
|
|
||||||
|
version="JILO Jitsi Logs Observer command line client
|
||||||
|
jilo-cli_${VERSION}_${RELEASE_DATE}
|
||||||
|
version $VERSION
|
||||||
|
released on $RELEASE_DATE"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
|
@ -544,6 +555,10 @@ while [[ $# -gt 0 ]]; do
|
||||||
echo -e "$help"
|
echo -e "$help"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
-V | --version)
|
||||||
|
echo -e "$version"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Invalid option: $1" >&2
|
echo "Invalid option: $1" >&2
|
||||||
echo -e "$help"
|
echo -e "$help"
|
||||||
|
|
Loading…
Reference in New Issue