ebpf_exporter - Prometheus exporter for custom eBPF metrics

  •        58

Prometheus exporter for custom eBPF metrics. Motivation of this exporter is to allow you to write eBPF code and export metrics that are not otherwise accessible from the Linux kernel.

https://github.com/cloudflare/ebpf_exporter

Tags
Implementation
License
Platform

   




Related Projects

bpftrace - High-level tracing language for Linux eBPF

  •    C++

BPFtrace is a high-level tracing language for Linux enhanced Berkeley Packet Filter (eBPF) available in recent Linux kernels (4.x). BPFtrace uses LLVM as a backend to compile scripts to BPF-bytecode and makes use of BCC for interacting with the Linux BPF system, as well as existing Linux tracing capabilities: kernel dynamic tracing (kprobes), user-level dynamic tracing (uprobes), and tracepoints. The BPFtrace language is inspired by awk and C, and predecessor tracers such as DTrace and SystemTap. BPFtrace was created by Alastair Robertson. To learn more about BPFtrace, see the Reference Guide and One-Liner Tutorial.

bcc - BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

  •    Python

BCC is a toolkit for creating efficient kernel tracing and manipulation programs, and includes several useful tools and examples. It makes use of extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature that was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1 and above. One of the more interesting features in this cycle is the ability to attach eBPF programs (user-defined, sandboxed bytecode executed by the kernel) to kprobes. This allows user-defined instrumentation on a live kernel image that can never crash, hang or interfere with the kernel negatively.

kafka_exporter - Kafka exporter for Prometheus

  •    Go

Kafka exporter for Prometheus. For other metrics from Kafka, have a look at the JMX exporter. Support Apache Kafka version 0.10.1.0 (and later).

bpfd - Framework for running BPF programs with rules on Linux as a daemon. Container aware.

  •    Go

Framework for running BPF tracers with rules on Linux as a daemon. Container aware. This is not just "yet another tool to trace"...

wmi_exporter - Prometheus exporter for Windows machines using WMI

  •    Go

Prometheus exporter for Windows machines, using the WMI (Windows Management Instrumentation). See the linked documentation on each collector for more information on reported metrics, configuration settings and usage examples.


node_exporter - Exporter for machine metrics

  •    Go

Prometheus exporter for hardware and OS metrics exposed by *NIX kernels, written in Go with pluggable metric collectors.The WMI exporter is recommended for Windows users.

redis_exporter - Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x and 4.x

  •    Go

and adjust the host name accordingly. Here is an example Kubernetes deployment configuration for how to deploy the redis_exporter as a sidecar with a Redis instance.

elasticsearch_exporter - Elasticsearch stats exporter for Prometheus

  •    Go

Prometheus exporter for various metrics about ElasticSearch, written in Go. You can find a helm chart in the stable charts repository at https://github.com/kubernetes/charts/tree/master/stable/elasticsearch-exporter.

blackbox_exporter - Blackbox prober exporter

  •    Go

The blackbox exporter allows blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP and ICMP.Visiting http://localhost:9115/probe?target=google.com&module=http_2xx will return metrics for a HTTP probe against google.com. The probe_success metric indicates if the probe succeeded. Adding a debug=true parameter will return debug information for that probe.

kubectl-trace - Schedule bpftrace programs on your kubernetes cluster using the kubectl

  •    Go

kubectl trace is a kubectl plugin that allows you to schedule the execution of bpftrace programs in your Kubernetes cluster. You can't find the package for your distro of choice? You are very welcome and encouraged to create it and then open an issue to inform us for review.

opencensus-go - A stats collection and distributed tracing framework

  •    Go

OpenCensus Go is a Go implementation of OpenCensus, a toolkit for collecting application performance and behavior monitoring data. Currently it consists of three major components: tags, stats, and tracing. The API of this project is still evolving, see: Deprecation Policy. The use of vendoring or a dependency management tool is recommended.

opencensus-java - A stats collection and distributed tracing framework

  •    Java

OpenCensus is a toolkit for collecting application performance and behavior data. It currently includes 3 apis: stats, tracing and tags. The library is in Beta stage and APIs are expected to be mostly stable. The library is expected to move to GA stage after v1.0.0 major release.

gobpf - Go bindings for creating BPF programs.

  •    Go

This repository provides go bindings for the bcc framework as well as low-level routines to load and use eBPF programs from .elf files. gobpf is in early stage, but usable. Input and contributions are very much welcome.

thanos - Highly available Prometheus setup with long term storage capabilities.

  •    Go

Thanos is a set of components that can be composed into a highly available metric system with unlimited storage capacity. It can be added seamlessly on top of existing Prometheus deployments and leverages the Prometheus 2.0 storage format to cost-efficiently store historical metric data in any object storage while retaining fast query latencies. Additionally, it provides a global query view across all Prometheus installations and can merge data from Prometheus HA pairs on the fly.

prometheus-operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes

  •    Go

Project status: beta Not all planned features are completed. The API, spec, status and other user facing objects may change, but in a backward compatible way.The Prometheus Operator for Kubernetes provides easy monitoring definitions for Kubernetes services and deployment and management of Prometheus instances.

cilium - HTTP, gRPC, and Kafka Aware Security and Networking for Containers with BPF and XDP

  •    Go

Cilium is open source software for providing and transparently securing network connectivity and loadbalancing between application workloads such as application containers or processes. Cilium operates at Layer 3/4 to provide traditional networking and security services as well as Layer 7 to protect and secure use of modern application protocols such as HTTP, gRPC and Kafka. Cilium is integrated into common orchestration frameworks such as Kubernetes and Mesos. A new Linux kernel technology called BPF is at the foundation of Cilium. It supports dynamic insertion of BPF bytecode into the Linux kernel at various integration points such as: network IO, application sockets, and tracepoints to implement security, networking and visibility logic. BPF is highly efficient and flexible. To learn more about BPF, read more in our extensive BPF and XDP Reference Guide.

loki - Like Prometheus, but for logs.

  •    Go

Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate, as it does not index the contents of the logs, but rather a set of labels for each log stream. Loki is like Prometheus, but for logs: we prefer a multidimensional label-based approach to indexing, and want a single-binary, easy to operate system with no dependencies. Loki differs from Prometheus by focussing on logs instead of metrics, and delivering logs via push, instead of pull.

go-grpc-prometheus - Prometheus monitoring for your gRPC Go servers.

  •    Go

Prometheus monitoring for your gRPC Go servers and clients. A sister implementation for gRPC Java (same metrics, same semantics) is in grpc-ecosystem/java-grpc-prometheus.

awesome-prometheus - A curated list of awesome Prometheus resources, projects and tools.

  •    

A curated list of awesome Prometheus resources, projects and tools. Prometheus is an open-source systems monitoring and alerting toolkit.