-
Notifications
You must be signed in to change notification settings - Fork 370
Feature/docker compose setup #1101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Add docker-compose.yml with nginx-exporter, nginx, app, prometheus, and grafana services - Add docker-compose.test.yml for minimal testing setup - Configure NGINX with stub_status endpoint on port 8081 - Add sample web application with custom HTML content - Configure Prometheus to scrape nginx-exporter metrics - Add Grafana with pre-configured datasources and dashboards - Set up proper networking and service dependencies - Use examples/docker-compose/ directory structure for all configuration files
- Add comprehensive Docker Compose documentation in examples/docker-compose/README.md - Include architecture overview, quick start guide, and service descriptions - Add testing instructions and troubleshooting section - Update main README.md to reference Docker Compose example - Focus quick start on nginx-exporter only for existing NGINX setups - Provide separate instructions for complete monitoring stack - Add configuration file references and usage examples
- Add test-docker-compose-ci.yml workflow to test Docker Compose setup - Test 'docker-compose up -d nginx-exporter' command functionality - Verify nginx-exporter container starts correctly and serves metrics - Test full monitoring stack integration (nginx, prometheus, grafana) - Validate service connectivity and metrics collection - Include proper error handling and cleanup procedures - Add detailed logging for troubleshooting failures - Follow project CI conventions and use consistent action versions
Hi @benjisho! Welcome to the project! 🎉 Thanks for opening this pull request! |
✅ All required contributors have signed the F5 CLA for this PR. Thank you! |
839269d
to
e745269
Compare
- Fix comment indentation in prometheus.yml - Fix empty values in docker-compose volumes sections - All pre-commit hooks now pass
I have hereby read the F5 CLA and agree to its terms |
# Wait a moment for metrics to be updated | ||
sleep 3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of using a blind sleep, can we poll the endpoint instead? That way we at least get feedback over the waiting period, and we can use a longer interval that exits early on success.
@@ -0,0 +1,93 @@ | |||
services: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this file just a dupe of the other one? What's its purpose?
Proposed changes
This PR adds a comprehensive Docker Compose setup for the NGINX Prometheus Exporter to make it easier for users to get started with monitoring their NGINX instances.
Use case: Users often want to quickly test the NGINX Prometheus Exporter or set up a complete monitoring stack without manually configuring each component. This Docker Compose setup provides both options:
docker-compose up -d nginx-exporter
) - For users with existing NGINX infrastructure who just want to add the exporterdocker-compose up -d
) - For demonstration, testing, and learning purposesChanges include:
examples/docker-compose/README.md
with architecture overview, quick start guide, and troubleshootingThe setup is organized in the
examples/docker-compose/
directory following the project's structure conventions and provides a complete monitoring pipeline from NGINX → nginx-exporter → Prometheus → Grafana.Checklist
Before creating a PR, run through this checklist and mark each as complete.