Initial commit, adding Prometheus to rancher community catalog
This commit is contained in:
parent
bc07f1db46
commit
1876b1e8a6
25
templates/Prometheus/0/README.md
Normal file
25
templates/Prometheus/0/README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Prometheus
|
||||
|
||||
### Info:
|
||||
|
||||
This template deploys a collection of containers based upon the technologies below, once deployed you should have a monitoring platform capable of querying all aspects of your environment with some nice pre-built dashboards.
|
||||
In this deployment the following technologies are utilised to make this as useful as possible.
|
||||
* **Prometheus** - Used to scrape and store metrics from our data sources. (https://github.com/prometheus/prometheus)
|
||||
* **Prometheus Node Exporter** - Gets host level metrics and exposes them to Prometheus. (https://github.com/prometheus/node_exporter)
|
||||
* **Ranch-Eye** - Pre-configured lightwieght haproxy to expose the cadvsior stats used by Rancher's agent container, to Prometheus. (https://github.com/Rucknar/ranch-eye)
|
||||
* **Grafana** - Used to visualise the data from Prometheus and InfluxDB. (https://github.com/grafana/grafana/)
|
||||
* **InfluxDB** - Used as database for storing rancher server metrics that rancher exports via the graphite connector. (https://github.com/influxdata/influxdb)
|
||||
* **rancher-api-integration** - Allows Prometheus to access the Rancher API and return the status of any stack or service in the rancher environment associated with the API key used.(https://github.com/Limilo/prometheus-rancher-exporter/)
|
||||
|
||||
To get the full compliment of metrics available,you need to configure the Rancher `graphite.host` address. This can be done automatically when you deploy the template by choosing the option below, for more information or how to do this change manually,see the following [guide](https://github.com/Rucknar/Guide_Rancher_Monitoring)
|
||||
|
||||
All components in this stack are open source tools available in the community. All this template does is to bound them together in an easy to use package.
|
||||
I expect most people who find this useful will make use of this as a starting point and develop it further around their own needs.
|
||||
|
||||
## Deployment:
|
||||
* Select Prometheus from the community catalog.
|
||||
* Click deploy.
|
||||
|
||||
## Usage
|
||||
* Grafana will now be available on, running on port 3000. I've added a number of dashboards to help get you started. Authentication is with the default `admin/admin`.
|
||||
* Prometheus will now be avaialble, running on port 9090. Have a play around with some of the data. For more information on Prometheus - https://prometheus.io/docs/introduction/overview/
|
86
templates/Prometheus/0/docker-compose.yml
Normal file
86
templates/Prometheus/0/docker-compose.yml
Normal file
@ -0,0 +1,86 @@
|
||||
ranch-eye:
|
||||
ports:
|
||||
- 9104:9104/tcp
|
||||
labels:
|
||||
io.rancher.scheduler.global: 'true'
|
||||
tty: true
|
||||
image: rucknar/ranch-eye:01
|
||||
stdin_open: true
|
||||
net: "host"
|
||||
|
||||
node-exporter:
|
||||
ports:
|
||||
- 9100:9100
|
||||
labels:
|
||||
io.rancher.scheduler.global: 'true'
|
||||
tty: true
|
||||
image: prom/node-exporter:latest
|
||||
stdin_open: true
|
||||
net: "host"
|
||||
|
||||
prom-conf:
|
||||
tty: true
|
||||
labels:
|
||||
io.rancher.container.pull_image: always
|
||||
image: rucknar/prom-conf:02
|
||||
command: /bin/sh -c "/usr//bin/confd -onetime -backend rancher -prefix /2015-12-19 && cat"
|
||||
volumes:
|
||||
- /etc/prom-conf/
|
||||
|
||||
prometheus:
|
||||
tty: true
|
||||
image: prom/prometheus:latest
|
||||
command: -alertmanager.url=http://alertmanager:9093 -config.file=/etc/prom-conf/prometheus.yml -storage.local.path=/prometheus -web.console.libraries=/etc/prometheus/console_libraries -web.console.templates=/etc/prometheus/consoles
|
||||
ports:
|
||||
- 9090:9090
|
||||
labels:
|
||||
io.rancher.sidekicks: prom-conf
|
||||
volumes_from:
|
||||
- prom-conf
|
||||
links:
|
||||
- ranch-eye:ranch-eye
|
||||
- node-exporter:node-exporter
|
||||
- rancher-api-integration:rancher-api-integration
|
||||
|
||||
graf-db:
|
||||
tty: true
|
||||
image: rucknar/graf-db:01
|
||||
labels:
|
||||
io.rancher.container.pull_image: always
|
||||
command: cat
|
||||
volumes:
|
||||
- /var/lib/grafana/
|
||||
|
||||
influxdb:
|
||||
image: tutum/influxdb:0.10
|
||||
ports:
|
||||
- 8083:8083
|
||||
- 8086:8086
|
||||
- 8090:8090
|
||||
- 2003:2003
|
||||
environment:
|
||||
- PRE_CREATE_DB=grafana;prometheus;rancher
|
||||
- GRAPHITE_DB=rancher
|
||||
- GRAPHITE_BINDING=:2003
|
||||
|
||||
grafana:
|
||||
tty: true
|
||||
image: grafana/grafana:2.6.0
|
||||
ports:
|
||||
- 3000:3000
|
||||
labels:
|
||||
io.rancher.sidekicks: graf-db
|
||||
volumes_from:
|
||||
- graf-db
|
||||
links:
|
||||
- prometheus:prometheus
|
||||
- rancher-api-integration:rancher-api-integration
|
||||
|
||||
rancher-api-integration:
|
||||
tty: true
|
||||
labels:
|
||||
io.rancher.container.create_agent: true
|
||||
io.rancher.container.agent.role: environment
|
||||
expose:
|
||||
- 9010:9010
|
||||
image: rucknar/prometheus-rancher-exporter:01
|
63
templates/Prometheus/0/rancher-compose.yml
Normal file
63
templates/Prometheus/0/rancher-compose.yml
Normal file
@ -0,0 +1,63 @@
|
||||
.catalog:
|
||||
name: "Prometheus"
|
||||
version: "1.0.2"
|
||||
description: "Prometheus Monitoring Solution"
|
||||
uuid: prometheus-1
|
||||
minimum_rancher_version: v0.56.0
|
||||
questions:
|
||||
|
||||
ranch-eye:
|
||||
upgrade_strategy:
|
||||
start_first: true
|
||||
|
||||
node-exporter:
|
||||
upgrade_strategy:
|
||||
start_first: true
|
||||
|
||||
prometheus:
|
||||
upgrade_strategy:
|
||||
start_first: true
|
||||
scale: 1
|
||||
health_check:
|
||||
port: 9090
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: ''
|
||||
healthy_threshold: 2
|
||||
response_timeout: 5000
|
||||
|
||||
influxdb:
|
||||
upgrade_strategy:
|
||||
start_first: true
|
||||
scale: 1
|
||||
health_check:
|
||||
port: 8086
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: ''
|
||||
healthy_threshold: 2
|
||||
response_timeout: 5000
|
||||
|
||||
grafana:
|
||||
upgrade_strategy:
|
||||
start_first: true
|
||||
scale: 1
|
||||
health_check:
|
||||
port: 3000
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: ''
|
||||
healthy_threshold: 2
|
||||
response_timeout: 5000
|
||||
|
||||
rancher-api-integration:
|
||||
upgrade_strategy:
|
||||
start_first: true
|
||||
scale: 1
|
||||
health_check:
|
||||
port: 9010
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: ''
|
||||
healthy_threshold: 2
|
||||
response_timeout: 5000
|
6
templates/Prometheus/catalogIcon-prometheus.svg
Normal file
6
templates/Prometheus/catalogIcon-prometheus.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="256px" height="257px" viewBox="0 0 256 257" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
||||
<g>
|
||||
<path d="M128.001129,0.667 C57.3110392,0.667 0,57.9712627 0,128.663612 C0,199.353702 57.3110392,256.662482 128.001129,256.662482 C198.69122,256.662482 256,199.353702 256,128.663612 C256,57.9712627 198.688961,0.667 128.001129,0.667 L128.001129,0.667 Z M128.001129,240.227234 C107.888506,240.227234 91.5820105,226.791712 91.5820105,210.223193 L164.420248,210.223193 C164.420248,226.789453 148.113753,240.227234 128.001129,240.227234 L128.001129,240.227234 Z M188.153777,200.286599 L67.8417054,200.286599 L67.8417054,178.470817 L188.156036,178.470817 L188.156036,200.286599 L188.153777,200.286599 Z M187.72234,167.242172 L68.1850476,167.242172 C67.7874935,166.78363 67.3809041,166.331864 66.9969029,165.866545 C54.6817608,150.913089 51.7814229,143.106572 48.9646617,135.150972 C48.9172262,134.888948 63.8977879,138.211687 74.5210662,140.601529 C74.5210662,140.601529 79.9874353,141.866474 87.9791764,143.32342 C80.3059303,134.328758 75.7498699,122.894559 75.7498699,111.207372 C75.7498699,85.5493202 95.4287983,63.1281719 88.3292951,45.0055775 C95.2390566,45.5680262 102.629949,59.5885851 103.12915,81.5105319 C110.474866,71.3593491 113.549134,52.8211299 113.549134,41.4546964 C113.549134,29.6861912 121.303698,16.015751 129.060521,15.5481732 C122.146242,26.9439714 130.851773,36.7134119 138.590525,60.9484008 C141.493122,70.0514864 141.122674,85.3708727 143.363433,95.0861012 C144.106589,74.9079713 147.576152,45.4663788 160.376942,35.301643 C154.729867,48.1024336 161.212709,64.1197984 165.646793,71.8201505 C172.800508,84.2437164 177.137462,93.6562617 177.137462,111.458102 C177.137462,123.393761 172.730485,134.631441 165.296674,143.416032 C173.749217,141.830333 179.586034,140.400493 179.586034,140.400493 L207.035338,135.044807 C207.037597,135.042548 203.048503,151.446173 187.72234,167.242172 L187.72234,167.242172 Z" fill="#DA4E31"></path>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
5
templates/Prometheus/config.yml
Normal file
5
templates/Prometheus/config.yml
Normal file
@ -0,0 +1,5 @@
|
||||
name: Prometheus
|
||||
description: |
|
||||
Prometheus and friends, auto-discovering monitoring solution for Rancher deployments.
|
||||
version: 1.0.2
|
||||
category: Monitoring
|
Loading…
x
Reference in New Issue
Block a user