-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create syslog receiver to run as daemon process #238
Comments
I have tested this ticket and i think we need some more improvements before this is production ready: Change syslog pattern
Invalid JSON crashes server process
Ignore unkown fileds in message Make Timestamp optional Use Tag or App-Name for table detection Verbose logging |
Logexplorer stores data in clickhouse database. Sending messages to Logexplorer is very easy via the REST API but this does not scale very well. Syslog protocol scales much better and is non-blocking when used in udp instead of tcp. This is perfect for applications so they don't suffer from an outage of Logexplorer.
We will create a syslog receiver that buffers messages and writes them in bulk inserts into clickhouse. Checkout the syslog protcol description here: https://datatracker.ietf.org/doc/html/rfc5424
The daemon should be implemented in Swoole (https://openswoole.com) for maximum performance.
The TAG in the syslog message matches the table name in clickhouse. Messages can either be json, or a string which is then parsed via a GROK pattern. For this we need to find a php implementation of GROK patterns.
Config per TAG / Table:
The text was updated successfully, but these errors were encountered: