coroot-node-agent
net-test
coroot-node-agent | net-test | |
---|---|---|
8 | 1 | |
275 | 41 | |
3.3% | - | |
8.3 | 0.0 | |
6 days ago | almost 3 years ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
coroot-node-agent
-
Infra mapping
Our product can do that. It's based on an eBPF Prometheus exporter and doesn't require manual integration.
-
Delay accounting: an underrated feature of the Linux kernel
Node-agent gathers per-TGID statistics from the kernel through the Netlink protocol and aggregates it to the per-container metrics:
- node-agent - an open-source Prometheus exporter based on eBPF that gathers comprehensive container metrics: log summaries, container-to-container network latency, cloud meta-information, etc.
-
How ping measures network round-trip time accurately using SO_TIMESTAMPING
While working on node-agent, we set out to measure network latency between containers and the services they communicate with. Since the agent has already discovered the endpoints that each container communicates with, we just need to measure network latency. We embedded "pinger" directly into the agent to measure end-to-end latency because the ICMP Echo requests should be sent from within the network namespace of each container.
-
Building a service map using eBPF
To address said disadvantages, we implemented eBPF-based container tracing which is a part of our open source Prometheus exporter node-agent. It passively monitors all TCP connections on a node, associates every connection with the related container, and exports metrics in Prometheus format:
-
Mining metrics from unstructured logs
At Coroot, we implemented an automated log parsing in our open-source Prometheus exporter node-agent. To explain how it works, let's follow the same steps as I mentioned above.
- Show HN: A Prometheus exporter that gathers сomprehensive containers' metrics
net-test
-
Internet-monitoring – A Docker Stack which Monitors your home network
Cool! It's so funny I just recently took an old bash script of mine which did something similar and have been upgrading it into a proper application which exports metrics to Prometheus and Grafana: https://github.com/Noah-Huppert/net-test
I saw a comment below where some was rolling their eyes that you "complicated" stuff with Prometheus, Grafana, and Docker and how you could just use Bash scripts and crons. As I just upgraded my codebase from this more bare metal approach to this "more complex setup" I'd like to mention: there's no way you could do time series statistical analysis easily with "just a cron job and a bash script". Prometheus and Grafana are for more than just buzz words. Prometheus offers an advanced time series database which allows you to, at minimum, do more robust analysis using data techniques like Histograms. As for Grafana, it makes exploring data dead easy. Providing users with a Docker Compose setup is also something I did with my tool and the benefits are huge. It lets me distribute a setup which relies on multiple moving parts working smoothly together. Sure I could write a whole wiki on how you should setup Prometheus Grafana and my tool, or I could distribute the setup with a configuration as code tool. Ensuring that even if someone doesn't want to use Docker Compose they can at least read my configuration as code and see exactly what I did to setup my tool.
What are some alternatives?
klog - Leveled execution logs for Go (fork of https://github.com/golang/glog)
yet-another-cloudwatch-exporter - Prometheus exporter for AWS CloudWatch - Discovers services through AWS tags, gets CloudWatch metrics data and provides them as Prometheus metrics with AWS tags as labels
loghub - A large collection of system log datasets for AI-driven log analytics [ISSRE'23]
Speedtest-Tracker - Continuously track your internet speed
coroot-aws-agent - A prometheus exporter that gathers metrics from AWS services.
grafana-weathermap-panel - plugin weathermap for Grafana. This project is still in development.
mtail - extract internal monitoring data from application logs for collection in a timeseries database
joincap - Merge multiple pcap files together, gracefully.
omada_exporter - Prometheus Exporter for TP-Link Omada Controller SDN.
smokeping_prober - Prometheus style smokeping
vaping - vaping is a healthy alternative to SmokePing!
Grafana-Mikrotik - 🔰 Grafana dashboard for Mikrotik/routerOS [Prometheus, SNMP]