Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Gyeeta/gyeeta
Gyeeta - An Open Source Observability Product for your Infrastructure, Services and Processes. This repository is for the Agent and Server C++ code.
https://github.com/Gyeeta/gyeeta
alerting bpf cpp ebpf free gplv3 kubernetes libbpf monitoring observability opensource rcu
Last synced: 4 days ago
JSON representation
Gyeeta - An Open Source Observability Product for your Infrastructure, Services and Processes. This repository is for the Agent and Server C++ code.
- Host: GitHub
- URL: https://github.com/Gyeeta/gyeeta
- Owner: Gyeeta
- License: gpl-3.0
- Created: 2022-07-05T12:11:29.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-29T12:41:31.000Z (2 months ago)
- Last Synced: 2024-08-29T13:58:35.785Z (2 months ago)
- Topics: alerting, bpf, cpp, ebpf, free, gplv3, kubernetes, libbpf, monitoring, observability, opensource, rcu
- Language: C++
- Homepage: https://gyeeta.io
- Size: 10.6 MB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Gyeeta Observability
[***Gyeeta***](https://gyeeta.github.io) is an *Open Source (GPLv3)* Infrastructure, Services and Process Level monitor (*Linux* only).
## Key Observability Capabilities
- Monitor Hosts, Services, Processes at *Global* scale (scales to *tens of thousands* of hosts).
- Completely non-intrusive and uses a combination of eBPF and Kernel Statistics. No Application changes are needed. Gyeeta can monitor
both HTTP and non-HTTP based services and can provide statistics such as Queries/sec, Response Times, Network Throughputs, Service Network
Flows for any service (even proprietary or TLS encrypted) with no manual inputs or integrations.
- Query Global Aggregated Statistics from multiple servers using a single query either from Web UI or REST APIs.
- Self Learning Algorithms that can detect Anomalies, Contention or Degradation without any manual inputs.
- Trace individual Requests for HTTP/HTTPS, Postgres, MongoDB with on demand Tracing.
- Advanced Cluster, Service or Process Level Alerts using a powerful Web UI or REST APIs.
- Detect Process Level *CPU starvation, Virtual Memory or IO Bottlenecks*.
- Monitor Kubernetes or any other Cluster orchestrators.[***Website***](https://gyeeta.github.io) | [***Documentation***](https://gyeeta.github.io/docs) | [***Youtube***](https://youtube.com/@gyeeta) | [***X***](https://x.com/GyeetaIO)
## License
Gyeeta is licensed under the [GNU General Public License v3.0 (GPLv3)](./LICENSE) open source license.
## Components in Gyeeta
*Gyeeta* consists of the following components :
- Host Monitor Agent (named `partha`) to be installed on each of the hosts which needs to be monitored
- A Central Server (named `shyama`) which serves as both an Aggregating Server and an Alert Manager
- One or more Intermediate Servers (named `madhava`) analyzing metrics from multiple monitored hosts (`partha`)
- A NodeJS Webserver which handles Web UI and REST API queries
- An Alert Agent which interacts with `shyama` AlertManager and executes the Alert Trigger Actions (Notifications)
- One or more Postgres DBs to be used as the datastore for `shyama` and `madhava` servers
The image below shows the high level overview of how the different components interact with each other :
![Gyeeta Architecture](https://gyeeta.github.io/img/gyeeta_arch.jpg)
## Install Options for Gyeeta components
Gyeeta is a self-hosted Observability product. Gyeeta components can be installed using any of the following methods :
- Bash Script based Installation and Configuration (Easiest install option)
- Kubernetes Helm Chart
- Docker Containers
- rpm / deb based native packages for dnf/yum, apt-get or zypper
- Manual Tar Package download and configureInstalling using either the Bash Script or Kubernetes Helm Charts are the easiest ways to deploy the various Gyeeta
components.**Install instructions** are available at [Gyeeta Install Planning and Options](https://gyeeta.github.io/docs/installation/install_options)
**A Quick TL;DR Install of Gyeeta Server Components** can be found at [TL;DR Instructions](https://gyeeta.github.io/docs/installation/install_options#tldr-quick-single-command-install)
**Kubernetes Installation** using Helm Charts can be found at [K8s Helm Charts](https://gyeeta.github.io/docs/installation/k8s_helm)
## Supported Linux Distributions
| OS Distribution | Supported Versions |
| :-------------: | :-------------: |
| Ubuntu | 18 & higher |
| Debian | 9 & higher |
| RHEL, CentOS, Rocky Linux, Oracle Linux | 8 & higher |
| Amazon Linux 2023 | All Versions |
| Amazon Linux 1 and 2 | All Versions |
| Google Container OS (COS) | Linux Kernel 4.14 & Higher |
| Fedora | 28 & higher |
| OpenSUSE, SUSE Linux | 15 & higher |Other Linux distributions based on Debian/Ubuntu or RHEL are supported as long as the base Linux Kernel is 4.14+
Container Platforms such as Kubernetes or Docker Swarm are also supported using Helm Charts or Docker containers.
## Snapshots of Gyeeta Web UI
![Service State Monitor](https://gyeeta.github.io/img/servicemon.png)
![Process Network Flow Dashboard](https://gyeeta.github.io/img/procflow.png)
![Process States](https://gyeeta.github.io/img/procstate1.png)
## More Info
This repository provides the source for the Gyeeta Host Agents (*Partha*), *Shyama Central Server* and *Madhava Intermediate Server*.
Gyeeta uses C++ (C++17) as the programming language for these components.