-
Notifications
You must be signed in to change notification settings - Fork 0
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
Sidecar - Node Crash Monitoring, Logging #4
Comments
Just leaving some early feedback. Will have to discuss more before getting this direction clear. But I do not think using syslog to ship it to the sidecar is a good idea, since we should make it work with zero config and this involves configuring syslog to now push it to the process. Additionally I don't think having a full fledged search on the sidecar is needed. We can build a separate service for that later. For now, I think we it would be better to watch the log life on default location or let this be configured. So it can run on both servers as well regular users and dev systems. |
I like the idea of being able to remotely query just what we need. But I do not think we can do this without the sidecar getting heavier and indexing it. If we have an implementation to do query, but on live data in mem (even if it does a page by page full scan of the logs at the time of the query - but page by page is important, and not to have the whole set in memory), then we can do querying. Otherwise, I'd rather ship the logs and query them separately. |
Adding some more thought on the sidecar summarizing it's goals: Phase 1
Phase 2
After phase 2, we should just be able to deploy a VM with the sidecar, and just let the sidecar auto configure the node/container into a full fledged defid machine. Phase 3:
|
Okay I see the idea now, so it more of managing the node and automating performance test rather than monitoring |
We'll add more actions over time, but on the triggers events. The monitoring events can be actions that are triggered with more fine tuned perf based monitoring (and in advanced cases as you mentioned eBPF, though we likely may not need it) - but I do not think we need a lot. Rest, we can always just ship the logs and do what we need, once we have the triggers - and we can rely existing cloud monitoring for other regular aspects, once we have the trigger points. |
Sidecar for monitoring
defid
process and logs analyticsOverview
Sidecar primary function is to use a debugging tool i.e to make easier to read logs , node events and monitor node process resource usage. It can be extended to profile memory and cpu usage in the future with BPF for real-time profiling.
Implementation Details
This approach uses syslog protocol which wraps log message into UDP packet and send them through a UDP server. A log server which run on the sidecar will take the packet and process them into a struct and index them in a rockdb storage and into a full search engine, sidecar support for opentelemetry export of logs/events which supported format for AWS cloudtrail for distributed logging.
Storage
Rockdb is used to make the sidecar as lightweight and customizable as possible, and tantivy is used a full search database.
API
Log can be looked up and referenced through an api endpoint provided by log server
Endpoints
/logs
Query Paramters
offset
direction
isbackward
or the first log message ofdirection
isforward
limit
log_category
timestamp
direction
forward
backward
query
The text was updated successfully, but these errors were encountered: