The Middleware Agent (mw-agent
) collects and processes various types of monitoring data. It supports multiple deployment environments and provides comprehensive monitoring capabilities.
The agent consists of three main components:
-
Host Agent (
cmd/host-agent/
)- Designed for Linux, Windows & macOS environments
- Collects system-level metrics and logs
- Monitors Docker containers and applications
-
Kubernetes Agent (
cmd/kube-agent/
)- Specifically designed for Kubernetes environments
- Collects cluster-level metrics and logs
- Monitors pods, services, and other Kubernetes resources
- Deployed as a daemonset & deployment
-
Kubernetes Config Updater (
cmd/kube-config-updater/
)- Manages configuration updates for Kubernetes deployments and daemonset
- Ensures seamless configuration management in Kubernetes environments
- Supports automated configuration updates
- Multi-environment Support: Deploy on Linux, Windows, or macOS
- Comprehensive Monitoring:
- Metrics collection
- Log aggregation
- Trace collection
- Synthetic monitoring
- Flexible Configuration: Support for environment variables, CLI flags, and configuration files
- Docker Integration: Native support for Docker container monitoring
- Custom Tagging: Ability to add custom tags to hosts and resources
- Automated Configuration Management: Seamless configuration updates in Kubernetes environments
Check out various installation option available here.
The project includes a comprehensive Makefile for building different components:
# Build host agent for different platforms
make build-linux # Linux
make build-windows # Windows
make build-darwin-amd64 # macOS (Intel)
make build-darwin-arm64 # macOS (Apple Silicon)
# Build Kubernetes components
make build-kube # Kubernetes agent
make build-kube-config-updater # Kubernetes config updater
# Package components
make package-windows # Windows installer
make package-linux-deb # Debian package
make package-linux-rpm # RPM package
make package-linux-docker # Docker image
make package-kube-config-updater # Kubernetes config updater image
The agent can be configured using:
- Environment variables
- Command-line flags
- Configuration file (YAML)
For detailed configuration options, see Configuration Guide.
api-key: YOUR_API_KEY
target: https://app.middleware.io
config-check-interval: 60s
docker-endpoint: unix:///var/run/docker.sock
host-tags: tag1=value1,tag2=value2
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.