2024-03-30 11:44:35 +01:00
2024-03-30 11:24:49 +01:00
2022-03-17 11:16:57 +01:00
2024-03-30 11:39:58 +01:00
2022-03-18 11:09:26 +01:00
2022-05-02 21:09:49 +02:00
2024-03-29 16:08:34 +01:00

MoniThor

A propos

MoniThor is a simple monitoring tools in bash.

You can use it with netcat or cryptcat

You can see result on the client from a web page (self hosted python3 web server)

Server Configuration

The configuration files for the server are :

serivce.cfg

  • /etc/monithor-server/service.cfg
LocalIp is the IP adresse to used on the server (can used 127.0.0.1)
LocalPort is the local port to used on the server
#########
Crypted can used netcrypt (yes) or netcat (no) 
LocalPassword is to set  if you used Crypted

sonde.cfg

  • /etc/monithor-server/sonde.cfg
SONDE#SCRIPT

SONDE is get by the server and it exec SCRIPT with ARG get from the client

SCRIPT are in /usr/local/bin/monithor-server.d/

Actual :

file-present.sh : check if a file (abosult path) is persent

part-space.sh : check the partition % (arg are : PATH|Min%|Max% ex : /home/isen|50|80)

process-present.sh : check if a process is running

tree

  • Tree for server
.
├── DEBIAN
│   └── control
├── etc
│   ├── init.d
│   │   └── monithor-d
│   └── monithor-server
│       ├── service.cfg
│       └── sonde.cfg
└── usr
    └── local
        └── bin
            ├── monithor-server
            └── monithor-server.d
                ├── file-present.sh
                └── FunctionOutput

8 directories, 7 files

init.d System V

You can use monithor-server as a service

sudo /etc/init.d/monithor-d start/stop

Client Configuration

The configuration files for the client are :

serivce.cfg

  • /etc/monithor-client/service.cfg
LocalPassword can be used if you chose Crypted=yes (process is slow)
Crypted=no (use netcat or cryptcat)
Rotation is the time between the ratation of all sonde
WebPort is the port to see the result on the web interfaces : http://127.0.0.1:PORT
TimeOut is the number of second before the interrogation failed

sonde.cfg

  • /etc/monithor-client/sonde.cfg
IP:PORT#SONDE#Arguemnent
+--------------+------------------+---------------------------------+----------------------+-----------------------------------+
|    Client    |      server      |             server              |       server         |              server               |
+-------------==>----------------==>-------------------------------==>--------------------==>----------------------------------+
| SONDE + ARG  | Is SONDE exist ? | Get associated SCRIPT for SONDE | Exec SCRIPT With ARG | Push result with FORMAT [0-5]|TXT |
| are send to  |                  |                                 |                      |                                   |
|  IP port     |                  |                                 |                      |                                   |
+--------------+------------------+---------------------------------+----------------------+-----------------------------------+

tree

  • Tree for client
.
├── DEBIAN
│   └── control
├── etc
│   ├── init.d
│   │   └── monithor-c
│   └── monithor-client
│       ├── conf
│       │   ├── Card_10.10.10.3-1666.cfg
│       │   └── Card_10.10.10.4-1666.cfg
│       ├── service.cfg
│       └── sonde.cfg
└── usr
    └── local
        └── bin
            ├── monithor-client
            └── monithor-client.d
                ├── MoniThor
                ├── MoniThorFnct
                └── MoniThorWebServer

9 directories, 10 files

init.d System V

You can use monithor-client as a service

sudo /etc/init.d/monithor-c start/stop

WEB

The client start a python3 sumple http server on localhost on WebPort

/usr/local/bin/monithor-client.d/MoniThorWebServer

Description
bash simple monitoring tools
Readme 289 KiB
Languages
Shell 100%