https://github.com/ialejandro/docker-full-monitoring
docker-compose with Prometheus + Alertmanager + Grafana
https://github.com/ialejandro/docker-full-monitoring
alertmanager blackbox-exporter dashboards demo-configuration docker-compose grafana prometheus stack
Last synced: 23 days ago
JSON representation
docker-compose with Prometheus + Alertmanager + Grafana
- Host: GitHub
- URL: https://github.com/ialejandro/docker-full-monitoring
- Owner: ialejandro
- License: mit
- Archived: true
- Created: 2019-09-15T12:18:55.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-02-07T08:38:07.000Z (over 1 year ago)
- Last Synced: 2025-03-10T01:24:40.605Z (3 months ago)
- Topics: alertmanager, blackbox-exporter, dashboards, demo-configuration, docker-compose, grafana, prometheus, stack
- Language: Shell
- Homepage:
- Size: 53.7 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Docker: Prometheus + Alertmanager + Grafana
Deploy a full monitoring stack with basic configuration ([Prometheus](https://prometheus.io/docs/introduction/overview/), [Alertmanager](https://prometheus.io/docs/alerting/alertmanager/), [Node Exporter](https://prometheus.io/docs/guides/node-exporter/), [Blackbox Exporter](https://github.com/prometheus/blackbox_exporter) and [Grafana](https://grafana.com/docs/)).
It's only for develop environments and **learn how-to use Prometheus monitoring**.
## Requirements
* `docker-compose` installed.
* `docker` version 18.06.0+ or above.## Quick start
### Initialize Stack
* Deploy configs.
* Started containers.```bash
$ ./initialize_stack.sh
```### Remove Stack
* Remove configs.
* Stop and remove containers.```bash
$ ./remove_stack.sh
```## Services
### Prometheus
* **Name Container**: prometheus
* **Image**: prom/prometheus:latest
* **Port**: 9090
* **Configuration**: `/srv/prometheus/prometheus.yml`
* **Rules**: `/srv/prometheus/rules.d/*.yml`### Alertmanager
* **Name Container**: alertmanager
* **Image**: prom/alertmanager:latest
* **Port**: 9093
* **Configuration**: `/srv/alertmanager/alertmanager.yml`### Grafana
* **Name Container**: grafana
* **Image**: grafana/grafana:latest
* **Port**: 3000
* **Provisioning**: `/srv/grafana/provisioning`
* **Dashboards**: `/srv/grafana/dashboards`#### Dashboards
**By default** exists the Node Exporter dashboard (id: [1860](https://grafana.com/grafana/dashboards/1860)). If you want added new dashboards, use Grafana **provisioning** function to save the dashboards. Only need create `.json` file on `configs/grafana/dashboards` folder.
Check the currently `configs/grafana/provisioning` folders to see the demo configuration.
#### Datasources
**By default** exists the Prometheus datasource. If the dashboard uses another **datasource** -- non-default Prometheus datasource--, please, added on `datasources` the new `.yml` file.
Check the currently `configs/grafana/provisioning` folders to see the demo configuration.
## Exporters
### Blackbox Exporter
* **Name Container**: blackbox_exporter
* **Image**: prom/blackbox-exporter
* **Port**: 9115
* **Configuration**: `/srv/blackbox_exporter/blackbox.yml`### Node Exporter
* **Name Container**: node_exporter
* **Image**: prom/node-exporter:latest
* **Port**: 9100## Contributing
Refer to [CONTRIBUTING.md](https://github.com/ialejandro/prometheus-stack/blob/master/CONTRIBUTING.md).
## License
Apache License 2.0. Refer to [LICENSE](https://github.com/ialejandro/prometheus-stack/blob/master/LICENSE).