hat-syslog - Syslog Server and tools¶
About¶
hat-syslog provides server/client tooling based on Syslog logging protocol as defined by RFC 5425, RFC 5426 and RFC 6587.
This project includes implementations of:
-
Central concentrator for syslog messages with web interface for real time monitoring and filtering of log messages.
-
Implementation of Python’s standard library logging.Handler based on dedicated background logging thread.
-
Simple testing tool responsible for generating syslog messages.
For more information see:
Runtime requirements¶
python >=3.10
Install¶
Debian¶
WIP
Archlinux¶
hat-syslog is available as AUR package:
$ yay -S hat-syslog
Windows¶
Windows distribution, with embedded python, is available at GitHub releases.
Python wheel¶
hat-syslog is available as PyPI project:
$ pip install hat-syslog
Docker¶
Syslog Server is available as Docker image:
$ mkdir -p ~/.local/share/hat
$ docker run -p 6514:6514/tcp \
-p 6514:6514/udp \
-p 23020:23020 \
-v $(cd; pwd)/.local/share/hat:/hat-syslog \
bozokopic/hat-syslog
Usage¶
Syslog Server¶
Command hat-syslog-server is used for running new Syslog Server instance:
$ hat-syslog-server
Once server is running, web UI is available at http://127.0.0.1:23020.
For additional details and command line options see Syslog Server.
Syslog Handler¶
Example python logging configuration:
import logging.config
logging.config.dictConfig({
'version': 1,
'formatters': {
'default': {}},
'handlers': {
'syslog': {
'class': 'hat.syslog.handler.SyslogHandler',
'host': '127.0.0.1',
'port': 6514,
'comm_type': 'TCP',
'level': 'DEBUG',
'formatter': 'default'}},
'root': {
'level': 'INFO',
'handlers': ['syslog']},
'disable_existing_loggers': False})
logger = logging.getLogger(__name__)
logger.info('spam')
For additional details see Syslog Handler.
Syslog Generator¶
Command hat-syslog-generator is used for running Syslog Generator:
$ hat-syslog-generator
For additional details and command line options see Syslog Generator.
Development requirements¶
python >=3.10
nodejs >=7
Build¶
To install editable installation, together with python development dependencies, run:
$ pip install -e '.[dev]'
To install only python development dependencies, run:
$ pip install -r requirements.pip.txt
Build tool used for hat-syslog is pydoit. For listing available doit tasks, use:
$ doit list
Default task:
$ doit
creates wheel package inside build directory.
Hat Open¶
hat-syslog is part of Hat Open project - open-source framework of tools and libraries for developing applications used for remote monitoring, control and management of intelligent electronic devices such as IoT devices, PLCs, industrial automation or home automation systems.
Development of Hat Open and associated repositories is sponsored by Končar Digital.
License¶
Copyright 2020-2024 Hat Open AUTHORS
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.