mirror of
https://github.com/stefanprodan/dockprom.git
synced 2025-05-05 15:32:50 +00:00
added config file for credentials and updated README.md how to use it and how to change the password correctly
This commit is contained in:
parent
5ec3ce13d5
commit
b044344fbd
37
README.md
37
README.md
@ -1,7 +1,7 @@
|
|||||||
dockprom
|
dockprom
|
||||||
========
|
========
|
||||||
|
|
||||||
A monitoring solution for Docker hosts and containers with [Prometheus](https://prometheus.io/), [Grafana](http://grafana.org/), [cAdvisor](https://github.com/google/cadvisor),
|
A monitoring solution for Docker hosts and containers with [Prometheus](https://prometheus.io/), [Grafana](http://grafana.org/), [cAdvisor](https://github.com/google/cadvisor),
|
||||||
[NodeExporter](https://github.com/prometheus/node_exporter) and alerting with [AlertManager](https://github.com/prometheus/alertmanager).
|
[NodeExporter](https://github.com/prometheus/node_exporter) and alerting with [AlertManager](https://github.com/prometheus/alertmanager).
|
||||||
|
|
||||||
***If you're looking for the Docker Swarm version please go to [stefanprodan/swarmprom](https://github.com/stefanprodan/swarmprom)***
|
***If you're looking for the Docker Swarm version please go to [stefanprodan/swarmprom](https://github.com/stefanprodan/swarmprom)***
|
||||||
@ -30,11 +30,28 @@ Containers:
|
|||||||
* Grafana (visualize metrics) `http://<host-ip>:3000`
|
* Grafana (visualize metrics) `http://<host-ip>:3000`
|
||||||
* NodeExporter (host metrics collector)
|
* NodeExporter (host metrics collector)
|
||||||
* cAdvisor (containers metrics collector)
|
* cAdvisor (containers metrics collector)
|
||||||
* Caddy (reverse proxy and basic auth provider for prometheus and alertmanager)
|
* Caddy (reverse proxy and basic auth provider for prometheus and alertmanager)
|
||||||
|
|
||||||
## Setup Grafana
|
## Setup Grafana
|
||||||
|
|
||||||
Navigate to `http://<host-ip>:3000` and login with user ***admin*** password ***admin***. You can change the credentials in the compose file or by supplying the `ADMIN_USER` and `ADMIN_PASSWORD` environment variables on compose up.
|
Navigate to `http://<host-ip>:3000` and login with user ***admin*** password ***admin***. You can change the credentials in the compose file or by supplying the `ADMIN_USER` and `ADMIN_PASSWORD` environment variables on compose up. The config file can be added directly in grafana part like this
|
||||||
|
```
|
||||||
|
grafana:
|
||||||
|
image: grafana/grafana:5.2.4
|
||||||
|
env_file:
|
||||||
|
- config
|
||||||
|
|
||||||
|
```
|
||||||
|
and the config file format should have this content
|
||||||
|
```
|
||||||
|
GF_SECURITY_ADMIN_USER=admin
|
||||||
|
GF_SECURITY_ADMIN_PASSWORD=changeme
|
||||||
|
GF_USERS_ALLOW_SIGN_UP=false
|
||||||
|
```
|
||||||
|
If you want to change the password, you have to remove this entry, otherwise the change will not take effect
|
||||||
|
```
|
||||||
|
- grafana_data:/var/lib/grafana
|
||||||
|
```
|
||||||
|
|
||||||
Grafana is preconfigured with dashboards and Prometheus as the default data source:
|
Grafana is preconfigured with dashboards and Prometheus as the default data source:
|
||||||
|
|
||||||
@ -61,7 +78,7 @@ For storage and particularly Free Storage graph, you have to specify the fstype
|
|||||||
You can find it in `grafana/dashboards/docker_host.json`, at line 480 :
|
You can find it in `grafana/dashboards/docker_host.json`, at line 480 :
|
||||||
|
|
||||||
"expr": "sum(node_filesystem_free_bytes{fstype=\"btrfs\"})",
|
"expr": "sum(node_filesystem_free_bytes{fstype=\"btrfs\"})",
|
||||||
|
|
||||||
I work on BTRFS, so i need to change `aufs` to `btrfs`.
|
I work on BTRFS, so i need to change `aufs` to `btrfs`.
|
||||||
|
|
||||||
You can find right value for your system in Prometheus `http://<host-ip>:9090` launching this request :
|
You can find right value for your system in Prometheus `http://<host-ip>:9090` launching this request :
|
||||||
@ -109,7 +126,7 @@ I've set the Prometheus retention period to 200h and the heap size to 1GB, you c
|
|||||||
- '-storage.local.retention=200h'
|
- '-storage.local.retention=200h'
|
||||||
```
|
```
|
||||||
|
|
||||||
Make sure you set the heap size to a maximum of 50% of the total physical memory.
|
Make sure you set the heap size to a maximum of 50% of the total physical memory.
|
||||||
|
|
||||||
## Define alerts
|
## Define alerts
|
||||||
|
|
||||||
@ -226,15 +243,15 @@ ALERT jenkins_high_memory
|
|||||||
|
|
||||||
## Setup alerting
|
## Setup alerting
|
||||||
|
|
||||||
The AlertManager service is responsible for handling alerts sent by Prometheus server.
|
The AlertManager service is responsible for handling alerts sent by Prometheus server.
|
||||||
AlertManager can send notifications via email, Pushover, Slack, HipChat or any other system that exposes a webhook interface.
|
AlertManager can send notifications via email, Pushover, Slack, HipChat or any other system that exposes a webhook interface.
|
||||||
A complete list of integrations can be found [here](https://prometheus.io/docs/alerting/configuration).
|
A complete list of integrations can be found [here](https://prometheus.io/docs/alerting/configuration).
|
||||||
|
|
||||||
You can view and silence notifications by accessing `http://<host-ip>:9093`.
|
You can view and silence notifications by accessing `http://<host-ip>:9093`.
|
||||||
|
|
||||||
The notification receivers can be configured in [alertmanager/config.yml](https://github.com/stefanprodan/dockprom/blob/master/alertmanager/config.yml) file.
|
The notification receivers can be configured in [alertmanager/config.yml](https://github.com/stefanprodan/dockprom/blob/master/alertmanager/config.yml) file.
|
||||||
|
|
||||||
To receive alerts via Slack you need to make a custom integration by choose ***incoming web hooks*** in your Slack team app page.
|
To receive alerts via Slack you need to make a custom integration by choose ***incoming web hooks*** in your Slack team app page.
|
||||||
You can find more details on setting up Slack integration [here](http://www.robustperception.io/using-slack-with-the-alertmanager/).
|
You can find more details on setting up Slack integration [here](http://www.robustperception.io/using-slack-with-the-alertmanager/).
|
||||||
|
|
||||||
Copy the Slack Webhook URL into the ***api_url*** field and specify a Slack ***channel***.
|
Copy the Slack Webhook URL into the ***api_url*** field and specify a Slack ***channel***.
|
||||||
@ -258,7 +275,7 @@ receivers:
|
|||||||
## Sending metrics to the Pushgateway
|
## Sending metrics to the Pushgateway
|
||||||
|
|
||||||
The [pushgateway](https://github.com/prometheus/pushgateway) is used to collect data from batch jobs or from services.
|
The [pushgateway](https://github.com/prometheus/pushgateway) is used to collect data from batch jobs or from services.
|
||||||
|
|
||||||
To push data, simply execute:
|
To push data, simply execute:
|
||||||
|
|
||||||
echo "some_metric 3.14" | curl --data-binary @- http://user:password@localhost:9091/metrics/job/some_job
|
echo "some_metric 3.14" | curl --data-binary @- http://user:password@localhost:9091/metrics/job/some_job
|
||||||
@ -344,4 +361,4 @@ To run the grafana container as `user: 104` change your `docker-compose.yml` lik
|
|||||||
- monitor-net
|
- monitor-net
|
||||||
labels:
|
labels:
|
||||||
org.label-schema.group: "monitoring"
|
org.label-schema.group: "monitoring"
|
||||||
```
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user