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
Languages
Shell
100%