Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fmind/chattail
Send log streams over XMPP to monitor your systems
https://github.com/fmind/chattail
log m2m monitoring stream xmpp
Last synced: 30 days ago
JSON representation
Send log streams over XMPP to monitor your systems
- Host: GitHub
- URL: https://github.com/fmind/chattail
- Owner: fmind
- License: other
- Created: 2019-03-13T15:20:20.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-13T16:03:17.000Z (almost 6 years ago)
- Last Synced: 2024-11-06T00:29:20.933Z (3 months ago)
- Topics: log, m2m, monitoring, stream, xmpp
- Language: Python
- Homepage:
- Size: 38.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
chattail
========Chattail is a bot that allows you to monitor your log with a simple XMPP chat client ([full list](https://encrypted.google.com/search?hl=en&q=xmpp%20client)).
This program is functional, but I haven’t test it in a production environment.
>> Use it with caution, but tweak it as you like (see the LICENCE file).
## Why ?
* **Net traversal**: launch the bot on your server, monitor your log everywhere.
* **Fast monitoring**: connect with a chat client, and check your log in secs.
* **Restricted access**: give a read access only to the file your wish to share (ex: apache access).
* **Multi-user**: add one line to your configuration file, and a new admin can check the log.
* **XMPP coolness**: XMPP is a great protocol (extensible, multi-purpose, well designed ...).## Installation
* **Install the dependencies**: sleekxmpp, dnspython, pyasn1, pyasn1-modules.
* **Create 2 XMPP accounts**: one for the bot, the other for your chat client.
* **Edit your configuration file**: copy the test.sample.conf file and edit your account/files.
* **Launch the program**: simply type 'python chattail.py -c test.conf' with an system account that can access the file.## Usage
When the program is launched, the JID associated with the bot will appear online. Simply pass your command just like a Command Line Interface:
* ls
* help
* help tail
* tail messages
* stopUse the 'help' action to get more information about the command you wish you use. It's straightforward !
## For developers
This section will explain the design:
Why use XMPP and not start a new protocol from scratch ?
XMPP is extensible and come with a lot a functionality and software (client/server). It's an open standard, so we don't have to reinvent the wheel.Why Python ?
It's a popular, mature and easy to use language. SleekXMPP is a well designed library (thanks [Fritzy](https://github.com/fritzy/SleekXMPP).Why only one big Python file ?
It's easier that way. Download the file, edit a configuration file and run the program !Why threads other processes ?
I don't need big computation, but sharing memory was necessary (even though the stopping condition can be improved).Why there is no unit tests ?
It's hard (although possible) to test an asynchronous client/software program. If you need to debug chattail, just give the -v (verbose) to turn the console display (It can give you a lot of information).If you have more questions, don't hesitate to contact me !
## Plans
* **Support plugins**: add custom command to make it an extensible bot.
* **More configuration**: output log file, file permissions, resource ID ...
* **Multiple tail per JID**: this can be messy, it need a careful planning.
* **More security**: I try to make as many internal test as I can, but there is still room to improvment.