{"id":14155577,"url":"https://github.com/getanteon/alaz","last_synced_at":"2025-04-07T04:14:07.346Z","repository":{"id":191492936,"uuid":"642472071","full_name":"getanteon/alaz","owner":"getanteon","description":"Alaz: Advanced eBPF Agent for Kubernetes Observability – Effortlessly monitor K8s service interactions and performance metrics in your K8s environment. Gain in-depth insights with service maps, metrics, and more, while staying alert to crucial system anomalies 🐝","archived":false,"fork":false,"pushed_at":"2024-10-02T22:23:35.000Z","size":7519,"stargazers_count":679,"open_issues_count":7,"forks_count":34,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-31T03:13:59.036Z","etag":null,"topics":["bpf","ddosify","distributed-tracing","ebpf","ebpf-programs","kubernetes","logs","metrics","monitoring","observability","prometheus","tracing"],"latest_commit_sha":null,"homepage":"https://getanteon.com","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/getanteon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-18T16:36:02.000Z","updated_at":"2025-03-22T10:37:32.000Z","dependencies_parsed_at":"2023-09-26T15:06:28.871Z","dependency_job_id":"3ecc0b17-14f1-49fe-9d98-90d17b078ae8","html_url":"https://github.com/getanteon/alaz","commit_stats":null,"previous_names":["ddosify/alaz","getanteon/alaz"],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getanteon%2Falaz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getanteon%2Falaz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getanteon%2Falaz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getanteon%2Falaz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getanteon","download_url":"https://codeload.github.com/getanteon/alaz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247589821,"owners_count":20963025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bpf","ddosify","distributed-tracing","ebpf","ebpf-programs","kubernetes","logs","metrics","monitoring","observability","prometheus","tracing"],"created_at":"2024-08-17T08:04:01.605Z","updated_at":"2025-04-07T04:14:07.329Z","avatar_url":"https://github.com/getanteon.png","language":"C","funding_links":[],"categories":["prometheus","Software Packages"],"sub_categories":["DevOps Tools"],"readme":"\u003ch1 align=\"center\"\u003eAlaz - Anteon eBPF Agent for Kubernetes Monitoring\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/getanteon/anteon/master/assets/anteon_service_map.png\" alt=\"Anteon Kubernetes Monitoring Service Map\" /\u003e\n\u003ca href=\"https://github.com/getanteon/alaz/blob/master/LICENSE\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/LICENSE-AGPL--3.0-orange?style=for-the-badge\u0026logo=none\" alt=\"alaz license\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://discord.com/invite/9KdnrSUZQg\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/discord/898523141788287017?style=for-the-badge\u0026logo=discord\u0026label=DISCORD\" alt=\"Anteon discord server\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://hub.docker.com/r/ddosify/alaz\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/docker/v/ddosify/alaz?style=for-the-badge\u0026logo=docker\u0026label=docker\u0026sort=semver\" alt=\"alaz docker image\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://gurubase.io/g/anteon\" target=\"_blank\"\u003e\u003cimg alt=\"Anteon Guru\" src=\"https://img.shields.io/badge/Anteon%20Guru-F40003?style=for-the-badge\u0026label=ASK\u0026color=%23F40003\"\u003e\n\n\u003ci\u003eAnteon (formerly Ddosify) automatically generates Service Map of your K8s cluster without code instrumentation or sidecars with eBPF Agent Alaz. So you can easily find the bottlenecks in your system. Red lines indicate the high latency between services.\u003c/i\u003e\n\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003e\n    \u003ca href=\"https://demo.getanteon.com/clusters/0ce2ef05-ef64-459d-90d9-7f2cbd65fff8\" target=\"_blank\"\u003eLive Demo\u003c/a\u003e •\n    \u003ca href=\"https://getanteon.com/docs/\" target=\"_blank\"\u003eDocumentation\u003c/a\u003e •\n    \u003ca href=\"https://getanteon.com/docs/deployment/\" target=\"_blank\"\u003eDeployment\u003c/a\u003e •\n    \u003ca href=\"https://discord.com/invite/9KdnrSUZQg\" target=\"_blank\"\u003eDiscord\u003c/a\u003e\n\u003c/h2\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n\n\u003c!-- vim-markdown-toc GFM --\u003e\n\n- [What is Alaz?](#what-is-alaz)\n- [Features](#features)\n- [🚀 Getting Started](#-getting-started)\n  - [☁️ For Anteon Cloud](#-for-anteon-cloud)\n    - [Using the kubectl](#using-the-kubectl)\n    - [Using the Helm](#using-the-helm)\n  - [🏠 For Anteon Self-Hosted](#-for-anteon-self-hosted)\n    - [Using the kubectl](#using-the-kubectl-1)\n    - [Using the Helm](#using-the-helm-1)\n- [🧹 Cleanup](#-cleanup)\n- [Supported Protocols](#supported-protocols)\n- [Limitations](#limitations)\n  - [Encryption Libraries](#encryption-libraries)\n- [Contributing](#contributing)\n- [Communication](#communication)\n- [License](#license)\n\n\u003c!-- vim-markdown-toc --\u003e\n\n\u003c/details\u003e\n\n## What is Alaz?\n\n[**Alaz**](https://github.com/getanteon/alaz) is an open-source Anteon eBPF agent that can inspect and collect Kubernetes (K8s) service traffic without the need for code instrumentation, sidecars, or service restarts. This is possible due to its use of eBPF technology.\n\nAlaz can create a **Service Map** that helps identify golden signals and problems like:\n\n- High latencies between K8s services\n- Detect 5xx HTTP status codes\n- Detect Idle / Zombie services\n- Detect slow SQL queries\n\nAdditionally, Anteon tracks and displays live data on your cluster instances CPU, memory, disk, and network usage. All of the dashboards are generated out-of-box and you can create alerts based on these metrics values. Check out the [documentation](https://getanteon.com/docs/) for more.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/getanteon/anteon/master/assets/anteon_metrics.png\" alt=\"Anteon Kubernetes Monitoring Metrics\" /\u003e\n\u003ci\u003eAnteon tracks and displays live data on your cluster instances CPU, memory, disk, and network usage.\u003c/i\u003e\n\u003c/p\u003e\n\n➡️ See [Anteon repository](https://github.com/getanteon/anteon) for more information.\n\n## Features\n\n✅ **Low-Overhead**\n\nInspect and collect K8s service traffic without the need for code instrumentation, sidecars, or service restarts.\n\n✅ **Effortless**\n\nAnteon will create the Service Map \u0026 Metrics Dashboard that helps identify golden signals and issues such as high latencies, 5xx errors, zombie services.\n\n✅ **Prometheus Compatible**\n\nGather system information and resources via the Prometheus Node Exporter, which is readily available on the agent.\n\n✅ **Cloud or On-premise**\n\nExport metrics to [Anteon Cloud](https://getanteon.com), or install the [Anteon Self-Hosted](https://getanteon.com/docs/self-hosted/) in your infrastructure and manage everything according to your needs.\n\n✅ **Test \u0026 Observe**\n\nAnteon Performance Testing and Alaz can work collaboratively. You can start a load test and monitor your system simultaneously. This will help you spot performance issues instantly. Check out the [Anteon documentation](https://getanteon.com/docs) for more information about Anteon Stack.\n\n✅ **Alerts for Anomalies**\n\nIf something unusual, like a sudden increase in CPU usage, happens in your Kubernetes (K8s) cluster, Anteon immediately sends alerts to your Slack.\n\n✅ **Platform Support**\n\nWorks on both Arm64 and x86_64 architectures.\n\n## 🚀 Getting Started\n\nTo use Alaz, you need to have a [Anteon Cloud](https://app.getanteon.com/register) account or [Anteon Self-Hosted](https://github.com/getanteon/anteon) installed.\n\n### ☁️ For Anteon Cloud\n\n1. Register for a [Anteon Cloud account](https://app.getanteon.com/register).\n2. Add a cluster on the [Observability page](https://app.getanteon.com/clusters). You will receive a Monitoring ID and instructions.\n3. Run the agent on your Kubernetes cluster using the instructions you received. There are two options for Kubernetes deployment:\n\n#### Using the kubectl\n\n```bash\n# Replace \u003cMONITORING_ID\u003e with your monitoring ID from the Anteon Cloud. Change XXXXX with your monitoring ID.\nMONITORING_ID=XXXXX\ncurl -sSL https://raw.githubusercontent.com/getanteon/alaz/master/resources/alaz.yaml -o alaz.yaml\nsed -i\"\" -e \"s/\u003cMONITORING_ID\u003e/$MONITORING_ID/g\" alaz.yaml\nkubectl create namespace anteon\nkubectl apply -f alaz.yaml\n```\n\n#### Using the Helm\n\n```bash\n# Replace \u003cMONITORING_ID\u003e with your monitoring ID from the Anteon Cloud. Change XXXXX with your monitoring ID.\nMONITORING_ID=XXXXX\nhelm repo add anteon https://getanteon.github.io/anteon-helm-charts/\nhelm repo update\nkubectl create namespace anteon\nhelm upgrade --install --namespace anteon alaz anteon/alaz --set monitoringID=$MONITORING_ID\n```\n\nThen you can view the metrics and Kubernetes Service Map on the [Anteon Observability dashboard](https://app.getanteon.com/clusters). For more information, see [Anteon Kubernetes Monitoring](https://getanteon.com/docs/kubernetes-monitoring/).\n\n### 🏠 For Anteon Self-Hosted\n\n1. Install [Anteon Self-Hosted](https://getanteon.com/docs/self-hosted)\n2. Add a cluster on the Observability page of your Self-Hosted frontend. You will receive a Monitoring ID and instructions.\n3. Run the agent on your Kubernetes cluster using the instructions you received.\n\nNote: After you install Anteon Self-Hosted, you will have a Anteon Self-Hosted endpoint of Nginx reverse proxy. The base URL of the Anteon Self-Hosted endpoint forwards traffic to the frontend. The base URL of the Anteon Self-Hosted endpoint with `/api` suffix forwards traffic to the backend. So you need to set the backend host variable as `http://\u003cyour-anteon-self-hosted-endpoint\u003e/api`.\n\nThere are two options for Kubernetes deployment:\n\n#### Using the kubectl\n\n```bash\n# Replace \u003cMONITORING_ID\u003e with your monitoring ID from the Anteon Cloud. Change XXXXX with your monitoring ID.\nMONITORING_ID=XXXXX\n# Set BACKEND_HOST with your Anteon Self Hosted Endpoint. If your Anteon Self Hosted endpoint is http://localhost:8014, then BACKEND_HOST=localhost:8014\nBACKEND_HOST=XXXXX\ncurl -sSL https://raw.githubusercontent.com/getanteon/alaz/master/resources/alaz.yaml -o alaz.yaml\nsed -i\"\" -e \"s/\u003cMONITORING_ID\u003e/$MONITORING_ID/g\" alaz.yaml\nsed -i\"\" -e \"s/https:\\/\\/api-alaz.getanteon.com:443/http:\\/\\/$BACKEND_HOST\\/api/g\" alaz.yaml\nkubectl create namespace anteon\nkubectl apply -f alaz.yaml\n```\n\n#### Using the Helm\n\n```bash\n# Replace \u003cMONITORING_ID\u003e with your monitoring ID from the Anteon Cloud. Change XXXXX with your monitoring ID.\nMONITORING_ID=XXXXX\n# Set BACKEND_HOST with your Anteon Self Hosted Endpoint. If your Anteon Self Hosted endpoint is http://localhost:8014, then BACKEND_HOST=http://localhost:8014/api\nBACKEND_HOST=XXXXX\nhelm repo add anteon https://getanteon.github.io/anteon-helm-charts/\nhelm repo update\nkubectl create namespace anteon\nhelm upgrade --install --namespace anteon alaz anteon/alaz --set monitoringID=$MONITORING_ID --set backendHost=$BACKEND_HOST\n```\n\nThen you can view the metrics and Kubernetes Service Map on the Anteon Self-Hosted Observability dashboard. For more information, see [Anteon Monitoring Docs](https://getanteon.com/docs/kubernetes-monitoring/).\n\nAlaz runs as a DaemonSet on your Kubernetes cluster. It collects metrics and sends them to Anteon Cloud or Anteon Self-Hosted. You can view the metrics on the Anteon Observability dashboard. For the detailed Alaz architecture, see [Alaz Architecture](https://github.com/getanteon/alaz/blob/master/ARCHITECTURE.md).\n\n## 🧹 Cleanup\n\nTo remove Alaz from your Kubernetes cluster, run the following command:\n\n- For Kubectl:\n\n```bash\nkubectl delete -f https://raw.githubusercontent.com/getanteon/alaz/master/resources/alaz.yaml\n```\n\n- For Helm:\n\n```bash\nhelm delete alaz --namespace anteon\n```\n\n## Supported Protocols\n\nAlaz supports the following protocols:\n\n- HTTP\n- HTTPS (OpenSSL and Go TLS)\n- HTTP2\n- Postgres\n- RabbitMQ\n- gRPC\n- Redis (RESP)\n- Kafka\n- MySQL\n- MongoDB\n\nOther protocols will be supported soon. If you have a specific protocol you would like to see supported, please [open an issue](https://github.com/getanteon/alaz/issues/new).\n\n## Limitations\n\nAlaz runs on Linux Kubernetes clusters. Windows or MacOS are not supported.\nIn the future, we plan to support Docker containers.\n\nAlaz is an eBPF application that uses [CO-RE](https://github.com/libbpf/libbpf#bpf-co-re-compile-once--run-everywhere).\nMost of the latest linux distributions support CO-RE. In order to CO-RE to work, the kernel has to be built with BTF(bpf type format) information.\n\nYou can check your kernel version with `uname -r`\ncommand and whether btf is enabled by default or not at the [btfhub](https://github.com/aquasecurity/btfhub/blob/main/docs/supported-distros.md).\n\nFor the time being, we expect that btf information is readily available on your system. We will support all kernels in the upcoming weeks leveraging [btfhub](https://github.com/aquasecurity/btfhub).\n\n### Encryption Libraries\n\nThese are the libraries that alaz hooks into for capturing encrypted traffic.\n\n- [crypto/tls](https://pkg.go.dev/crypto/tls):\n  In order to Alaz to capture tls requests in your Go applications, your go version must be **1.17+** and your executable must include debug info.\n\n- [OpenSSL](https://www.openssl.org/):\n  OpenSSL shared objects that is dynamically linked into your executable is supported.\n  Supported versions : **1.0.2**, **1.1.1** and **3.\\***\n\n## Contributing\n\nContributions to Alaz are welcome! To contribute, please follow these steps:\n\n1. Fork the repository\n2. Create a new branch: `git checkout -b my-branch`\n3. Make your changes and commit them: `git commit -am \"Add some feature\"`\n4. Push to the branch: `git push origin my-branch`\n5. Submit a pull request.\n\n## Communication\n\nYou can join our [Discord Server](https://discord.com/invite/9KdnrSUZQg) for issues, feature requests, feedbacks or anything else.\n\n## License\n\nAlaz is licensed under the [AGPLv3](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetanteon%2Falaz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetanteon%2Falaz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetanteon%2Falaz/lists"}