Compare commits
72 Commits
1eff4b7e51
...
main
Author | SHA1 | Date | |
---|---|---|---|
57e6341eac | |||
2c0f69c7d4 | |||
cc60702464 | |||
00808cdd68 | |||
603575ef4f | |||
d292f6dca1 | |||
3276795293 | |||
09347dfb4b | |||
4903dc467d | |||
0799a41a01 | |||
07f55dae29 | |||
999ebbffed | |||
e966b8abc2 | |||
ff4e3b5e68 | |||
e5d1adeded | |||
b0e49711cb | |||
e46839c397 | |||
52b7b73a25 | |||
834b1a6d5e | |||
ad01295f6c | |||
2a0b7d44ca | |||
8e5f14cf5f | |||
35d29a4015 | |||
33c19ea94b | |||
1874526af4 | |||
61e5bc823e | |||
42435a5c99 | |||
84f57d8981 | |||
b51ced33ed | |||
400e3ff58d | |||
aca249b5c2 | |||
0f47fe5a81 | |||
ec65c1cb51 | |||
0c746269f2 | |||
b4877c7c89 | |||
91d0d6678b | |||
f3d5dbd1d5 | |||
ce8c70c6d0 | |||
cd0826db20 | |||
02525ae35c | |||
87ee04484f | |||
feabcbf064 | |||
424a85c88f | |||
023ae33b7b | |||
64568b0572 | |||
09440d04e1 | |||
8241b93f28 | |||
e8da995134 | |||
50cb783bf6 | |||
90fed8362c | |||
46eddfbb2b | |||
adb3ab0dee | |||
d6bcd45c75 | |||
b79a14fc0b | |||
1f2e56cf3b | |||
7ced29fc93 | |||
1844fc030e | |||
68b7951ffc | |||
5314dffef9 | |||
799736eaa1 | |||
1a2bd471aa | |||
0e68a71c82 | |||
9ff75d2962 | |||
f60ecf13d4 | |||
9542fdfa89 | |||
4007a024f6 | |||
ddd0827e20 | |||
8fbef5ae83 | |||
4587baa193 | |||
e43954bdd6 | |||
a6c5dab19b | |||
e016b87640 |
9
LICENSE
Normal file
9
LICENSE
Normal file
@ -0,0 +1,9 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024 ansible-roles
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
12
README.md
12
README.md
@ -2,8 +2,8 @@ prometheus
|
||||
==========
|
||||
|
||||
The present role :
|
||||
- installs prometheus server inside a Docker container
|
||||
- installs various prometheus exporter
|
||||
- Installs Prometheus server inside a docker container.
|
||||
- Installs various Prometheus exporter.
|
||||
- node
|
||||
- blackbox
|
||||
- apache
|
||||
@ -15,7 +15,12 @@ The present role :
|
||||
- mysql
|
||||
- postgres
|
||||
- mongodb
|
||||
- elasticsearch
|
||||
- nginx
|
||||
- opensearch (via plugin for opensearch https://github.com/aiven/prometheus-exporter-plugin-for-opensearch)
|
||||
- rabbitmq
|
||||
- Deploys Grafana with a dashboard for each exporter configured.
|
||||
- Supports deploying VictoriaMetrics as the Prometheus backend.
|
||||
|
||||
Please note that Docker and Haproxy their own embedded exporters.
|
||||
- https://docs.docker.com/config/daemon/prometheus/
|
||||
@ -25,6 +30,7 @@ The role has been successfully tested on :
|
||||
- Debian 9
|
||||
- Debian 10
|
||||
- Debian 11
|
||||
- Debian 12
|
||||
|
||||
Forced upgrade of installed exporters can be done by setting the extra parameters "exporter_upgrade" to "yes".
|
||||
|
||||
@ -88,7 +94,7 @@ TODO
|
||||
License
|
||||
-------
|
||||
|
||||
GPLv3
|
||||
MIT
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
@ -45,6 +45,8 @@ prometheus_server_scrape_interval: 5
|
||||
prometheus_server_scrape_timeout: 5
|
||||
prometheus_server_version: "latest"
|
||||
|
||||
prometheus_use_victoriametrics: false
|
||||
|
||||
## exporter
|
||||
prometheus_exporter_packages: []
|
||||
|
||||
@ -68,6 +70,8 @@ prometheus_postgres_exporter_user: "postgres"
|
||||
prometheus_postgres_exporter_password: "changeme_"
|
||||
prometheus_postgres_exporter_port: 5432
|
||||
|
||||
prometheus_proxmox_venv_path: "/opt/venv/prometheus-pve-exporter"
|
||||
|
||||
prometheus_redis_exporter_addr: "redis://localhost:6379"
|
||||
prometheus_redis_exporter_user: ""
|
||||
prometheus_redis_exporter_password: ""
|
||||
@ -75,7 +79,7 @@ prometheus_redis_exporter_password: ""
|
||||
## grafana
|
||||
|
||||
grafana_auth_anonymous_enabled: false
|
||||
grafana_auth_anonymous_org_role: Editor # Viewer
|
||||
grafana_auth_anonymous_org_role: Viewer
|
||||
grafana_auth_anonymous_org_name: 'Main Org.'
|
||||
grafana_auth_disable_login_form: false
|
||||
grafana_editors_can_admin: false
|
||||
@ -84,3 +88,7 @@ grafana_log_level: error
|
||||
grafana_router_logging: false
|
||||
grafana_disable_sanitize_html: true
|
||||
grafana_traefik_entrypoint: 'websecure'
|
||||
|
||||
# cloudflare
|
||||
|
||||
prometheus_cloudflare_dns: "1.1.1.1"
|
||||
|
@ -19,12 +19,14 @@
|
||||
| prometheus_nodes_ip | The IP addresses of Prometheus nodes | Dictionary | localhost: "127.0.0.1" |
|
||||
| prometheus_retention_time | The retention time for Prometheus data | String | "15d" |
|
||||
| prometheus_server_enable | Whether to enable the Prometheus server | Boolean | false |
|
||||
| prometheus_use_victoriametrics | Use VictoriaMetrics as prometheus backend | Boolean | false |
|
||||
| prometheus_server_global_evaluation_interval | The global evaluation interval for Prometheus server | Integer | 15 |
|
||||
| prometheus_server_global_scrape_interval | The global scrape interval for Prometheus server | Integer | 15 |
|
||||
| prometheus_server_job_name | The job name for Prometheus server | String | "prometheus" |
|
||||
| prometheus_server_scrape_interval | The scrape interval for Prometheus server | Integer | 5 |
|
||||
| prometheus_server_scrape_timeout | The scrape timeout for Prometheus server | Integer | 5 |
|
||||
| prometheus_server_version | The version of Prometheus server to install | String | "latest" |
|
||||
| prometheus_watchtower_enable | Whether to enable watchtower on this container | Boolean | true |
|
||||
|
||||
## Prometheus Exporters
|
||||
|
||||
@ -60,6 +62,9 @@
|
||||
| prometheus_postgres_exporter_user | The user for Postgres exporter | String | "postgres" |
|
||||
| prometheus_postgres_exporter_password | The password for Postgres exporter | String | "changeme_" |
|
||||
| prometheus_postgres_exporter_port | The port for Postgres exporter | Integer | 5432 |
|
||||
| prometheus_proxmox_exporter_user | Username used to contact Proxmox API | String | "" |
|
||||
| prometheus_proxmox_exporter_password | Password for previous username | String | "" |
|
||||
| prometheus_proxmox_exporter_node | Proxmox node to metrics from | String | "" |
|
||||
| prometheus_redis_exporter_addr | The address for Redis exporter | String | "redis://localhost:6379" |
|
||||
| prometheus_redis_exporter_user | The user for Redis exporter | String | "" |
|
||||
| prometheus_redis_exporter_password | The password for Redis exporter | String | "" |
|
||||
@ -78,3 +83,4 @@
|
||||
| grafana_router_logging | Whether to enable router logging in Grafana | Boolean | false |
|
||||
| grafana_disable_sanitize_html | Whether to disable HTML sanitization in Grafana | Boolean | true |
|
||||
| grafana_traefik_entrypoint | The Traefik entrypoint for Grafana | String | 'websecure' |
|
||||
| grafana_watchtower_enable | Whether to enable watchtower on this container | Boolean | true |
|
||||
|
@ -761,14 +761,14 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"emzprdfront01",
|
||||
"emzprdfront02",
|
||||
"emzprdfront03"
|
||||
"sv1",
|
||||
"sv2",
|
||||
"sv3"
|
||||
],
|
||||
"value": [
|
||||
"emzprdfront01",
|
||||
"emzprdfront02",
|
||||
"emzprdfront03"
|
||||
"sv1",
|
||||
"sv2",
|
||||
"sv3"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
|
4751
files/dashboards/elasticsearch.json
Normal file
4751
files/dashboards/elasticsearch.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -6199,12 +6199,12 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"emzprdrpc01",
|
||||
"emzprdrpc02"
|
||||
"sv1",
|
||||
"sv2"
|
||||
],
|
||||
"value": [
|
||||
"emzprdrpc01",
|
||||
"emzprdrpc02"
|
||||
"sv1",
|
||||
"sv2"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
|
@ -856,12 +856,12 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"emzprdcache01",
|
||||
"emzprdcache02"
|
||||
"sv1",
|
||||
"sv2"
|
||||
],
|
||||
"value": [
|
||||
"emzprdcache01",
|
||||
"emzprdcache02"
|
||||
"sv1",
|
||||
"sv2"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
|
1504
files/dashboards/mongodb.json
Normal file
1504
files/dashboards/mongodb.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -757,8 +757,8 @@
|
||||
{
|
||||
"current": {
|
||||
"selected": false,
|
||||
"text": "emzhc01",
|
||||
"value": "emzhc01"
|
||||
"text": "sv1",
|
||||
"value": "sv1"
|
||||
},
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
|
544
files/dashboards/nfs.json
Normal file
544
files/dashboards/nfs.json
Normal file
@ -0,0 +1,544 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": {
|
||||
"type": "grafana",
|
||||
"uid": "-- Grafana --"
|
||||
},
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"type": "dashboard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"description": "NFS Prometheus Dashboard",
|
||||
"editable": true,
|
||||
"fiscalYearStartMonth": 0,
|
||||
"graphTooltip": 0,
|
||||
"id": 13,
|
||||
"links": [],
|
||||
"panels": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"description": "Request rate per 5m",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisBorderShow": false,
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"barWidthFactor": 0.6,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 20,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"insertNulls": false,
|
||||
"lineInterpolation": "smooth",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "never",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"min": 0,
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "short"
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 10,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"id": 243,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [
|
||||
"mean",
|
||||
"lastNotNull",
|
||||
"max",
|
||||
"min"
|
||||
],
|
||||
"displayMode": "table",
|
||||
"placement": "bottom",
|
||||
"showLegend": true,
|
||||
"sortBy": "Mean",
|
||||
"sortDesc": true
|
||||
},
|
||||
"tooltip": {
|
||||
"hideZeros": false,
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "code",
|
||||
"expr": "sum by (instance) (rate(node_nfs_requests_total{instance=~\"$node\"}[5m]))",
|
||||
"format": "time_series",
|
||||
"fullMetaSearch": false,
|
||||
"hide": false,
|
||||
"includeNullMetadata": true,
|
||||
"intervalFactor": 1,
|
||||
"legendFormat": "{{instance}}",
|
||||
"range": true,
|
||||
"refId": "C",
|
||||
"step": 240,
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "NFS Requests by instance",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"description": "Request rate per 5m",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisBorderShow": false,
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "Connections",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"barWidthFactor": 0.6,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 20,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"insertNulls": false,
|
||||
"lineInterpolation": "smooth",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "never",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"min": 0,
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "short"
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 10,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 10
|
||||
},
|
||||
"id": 267,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [
|
||||
"mean",
|
||||
"lastNotNull",
|
||||
"max",
|
||||
"min"
|
||||
],
|
||||
"displayMode": "table",
|
||||
"placement": "bottom",
|
||||
"showLegend": true,
|
||||
"sortBy": "Mean",
|
||||
"sortDesc": true
|
||||
},
|
||||
"tooltip": {
|
||||
"hideZeros": false,
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "code",
|
||||
"expr": "sum by (method) (rate(node_nfs_requests_total{instance=~\"$node\"}[5m]))",
|
||||
"format": "time_series",
|
||||
"fullMetaSearch": false,
|
||||
"hide": false,
|
||||
"includeNullMetadata": true,
|
||||
"intervalFactor": 1,
|
||||
"legendFormat": "{{method}}",
|
||||
"range": true,
|
||||
"refId": "C",
|
||||
"step": 240,
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "NFS Requests by method",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"description": "",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"fixedColor": "blue",
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisBorderShow": false,
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"barWidthFactor": 0.6,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"insertNulls": false,
|
||||
"lineInterpolation": "smooth",
|
||||
"lineStyle": {
|
||||
"fill": "solid"
|
||||
},
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "never",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"min": 0,
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "percent"
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 10,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 20
|
||||
},
|
||||
"id": 268,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [
|
||||
"lastNotNull"
|
||||
],
|
||||
"displayMode": "table",
|
||||
"placement": "bottom",
|
||||
"showLegend": true,
|
||||
"sortBy": "Last *",
|
||||
"sortDesc": true
|
||||
},
|
||||
"tooltip": {
|
||||
"hideZeros": false,
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "code",
|
||||
"expr": "avg(100 - (node_filesystem_avail_bytes{instance=~\"$node\", fstype=\"$type\"} * 100 / node_filesystem_size_bytes{instance=~\"$node\", fstype=\"$type\"})) by (mountpoint)",
|
||||
"format": "time_series",
|
||||
"fullMetaSearch": false,
|
||||
"hide": false,
|
||||
"includeNullMetadata": true,
|
||||
"intervalFactor": 1,
|
||||
"legendFormat": "{{device}}",
|
||||
"range": true,
|
||||
"refId": "C",
|
||||
"step": 240,
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "NFS Mounts Usage",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"description": "",
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"fixedColor": "blue",
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisBorderShow": false,
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"barWidthFactor": 0.6,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "hue",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"insertNulls": false,
|
||||
"lineInterpolation": "smooth",
|
||||
"lineStyle": {
|
||||
"fill": "solid"
|
||||
},
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "never",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"min": 0,
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "short"
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 10,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 20
|
||||
},
|
||||
"id": 269,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [
|
||||
"lastNotNull"
|
||||
],
|
||||
"displayMode": "table",
|
||||
"placement": "bottom",
|
||||
"showLegend": true,
|
||||
"sortBy": "Last *",
|
||||
"sortDesc": true
|
||||
},
|
||||
"tooltip": {
|
||||
"hideZeros": false,
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"pluginVersion": "11.6.0",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"disableTextWrap": false,
|
||||
"editorMode": "code",
|
||||
"expr": "avg(node_filesystem_device_error{instance=~\"$node\", fstype=\"$type\"}) by (mountpoint)",
|
||||
"format": "time_series",
|
||||
"fullMetaSearch": false,
|
||||
"hide": false,
|
||||
"includeNullMetadata": true,
|
||||
"intervalFactor": 1,
|
||||
"legendFormat": "{{device}}",
|
||||
"range": true,
|
||||
"refId": "C",
|
||||
"step": 240,
|
||||
"useBackend": false
|
||||
}
|
||||
],
|
||||
"title": "NFS Mounts Errors",
|
||||
"type": "timeseries"
|
||||
}
|
||||
],
|
||||
"preload": false,
|
||||
"refresh": "5m",
|
||||
"schemaVersion": 41,
|
||||
"tags": [],
|
||||
"templating": {
|
||||
"list": [
|
||||
{
|
||||
"current": {
|
||||
"text": "All",
|
||||
"value": "$__all"
|
||||
},
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"definition": "label_values(node_boot_time_seconds,instance)",
|
||||
"includeAll": true,
|
||||
"label": "Host:",
|
||||
"name": "node",
|
||||
"options": [],
|
||||
"query": {
|
||||
"qryType": 1,
|
||||
"query": "label_values(node_boot_time_seconds,instance)",
|
||||
"refId": "PrometheusVariableQueryEditor-VariableQuery"
|
||||
},
|
||||
"refresh": 1,
|
||||
"regex": "",
|
||||
"sort": 1,
|
||||
"type": "query"
|
||||
},
|
||||
{
|
||||
"current": {
|
||||
"text": "All",
|
||||
"value": "$__all"
|
||||
},
|
||||
"definition": "label_values(node_filesystem_avail_bytes{instance=~\"$node\"},fstype)",
|
||||
"includeAll": true,
|
||||
"label": "Type",
|
||||
"name": "type",
|
||||
"options": [],
|
||||
"query": {
|
||||
"qryType": 1,
|
||||
"query": "label_values(node_filesystem_avail_bytes{instance=~\"$node\"},fstype)",
|
||||
"refId": "PrometheusVariableQueryEditor-VariableQuery"
|
||||
},
|
||||
"refresh": 1,
|
||||
"regex": "/^nfs4?.*/",
|
||||
"type": "query"
|
||||
}
|
||||
]
|
||||
},
|
||||
"time": {
|
||||
"from": "now-24h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {},
|
||||
"timezone": "browser",
|
||||
"title": "NFS",
|
||||
"uid": "cc0d5bef-8b9d-47df-8be7-cf75c3efeece",
|
||||
"version": 3
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -735,18 +735,18 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"emzprdback01",
|
||||
"emzprdback02",
|
||||
"emzprdfront01",
|
||||
"emzprdfront02",
|
||||
"emzprdfront03"
|
||||
"sv1",
|
||||
"sv2",
|
||||
"sv1",
|
||||
"sv2",
|
||||
"sv3"
|
||||
],
|
||||
"value": [
|
||||
"emzprdback01",
|
||||
"emzprdback02",
|
||||
"emzprdfront01",
|
||||
"emzprdfront02",
|
||||
"emzprdfront03"
|
||||
"sv1",
|
||||
"sv2",
|
||||
"sv1",
|
||||
"sv2",
|
||||
"sv3"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
|
1164
files/dashboards/overview-cf.json
Normal file
1164
files/dashboards/overview-cf.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,721 +0,0 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": {
|
||||
"type": "grafana",
|
||||
"uid": "-- Grafana --"
|
||||
},
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"target": {
|
||||
"limit": 100,
|
||||
"matchAny": false,
|
||||
"tags": [],
|
||||
"type": "dashboard"
|
||||
},
|
||||
"type": "dashboard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"fiscalYearStartMonth": 0,
|
||||
"graphTooltip": 0,
|
||||
"id": 25,
|
||||
"links": [],
|
||||
"liveNow": false,
|
||||
"panels": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 30,
|
||||
"gradientMode": "hue",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"lineInterpolation": "smooth",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "never",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"links": [],
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green",
|
||||
"value": null
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "short"
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 8,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"id": 28,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [
|
||||
"mean",
|
||||
"lastNotNull",
|
||||
"max",
|
||||
"min"
|
||||
],
|
||||
"displayMode": "table",
|
||||
"placement": "right",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "multi",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"pluginVersion": "9.4.0-90864pre",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "sum(rate(cloudflare_zone_requests_total{}[$__interval]))",
|
||||
"interval": "",
|
||||
"intervalFactor": 10,
|
||||
"legendFormat": "total",
|
||||
"range": true,
|
||||
"refId": "A"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "sum(rate(cloudflare_zone_requests_cached{}[$__interval]))",
|
||||
"interval": "",
|
||||
"intervalFactor": 10,
|
||||
"legendFormat": "cached",
|
||||
"range": true,
|
||||
"refId": "B"
|
||||
}
|
||||
],
|
||||
"title": "Cloudflare Requests / second",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"columns": [],
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"description": "\n\nCurrEstab: The number of TCP connections whose current status is ESTABLISHED or CLOSE-WAIT.",
|
||||
"fontSize": "80%",
|
||||
"gridPos": {
|
||||
"h": 24,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 8
|
||||
},
|
||||
"id": 24,
|
||||
"showHeader": true,
|
||||
"sort": {
|
||||
"col": 31,
|
||||
"desc": false
|
||||
},
|
||||
"styles": [
|
||||
{
|
||||
"$$hashKey": "object:1600",
|
||||
"alias": "Hostname",
|
||||
"align": "auto",
|
||||
"colors": [
|
||||
"rgba(245, 54, 54, 0.9)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(50, 172, 45, 0.97)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 1,
|
||||
"link": false,
|
||||
"linkTooltip": "",
|
||||
"linkUrl": "",
|
||||
"mappingType": 1,
|
||||
"pattern": "nodename",
|
||||
"thresholds": [],
|
||||
"type": "string",
|
||||
"unit": "bytes"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1602",
|
||||
"alias": "Memory",
|
||||
"align": "auto",
|
||||
"colors": [
|
||||
"rgba(245, 54, 54, 0.9)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(50, 172, 45, 0.97)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"link": false,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #B",
|
||||
"thresholds": [],
|
||||
"type": "number",
|
||||
"unit": "bytes"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1603",
|
||||
"alias": "CPU Cores",
|
||||
"align": "auto",
|
||||
"colors": [
|
||||
"rgba(245, 54, 54, 0.9)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(50, 172, 45, 0.97)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #C",
|
||||
"thresholds": [],
|
||||
"type": "number",
|
||||
"unit": "short"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1604",
|
||||
"alias": " Uptime",
|
||||
"align": "auto",
|
||||
"colors": [
|
||||
"rgba(245, 54, 54, 0.9)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(50, 172, 45, 0.97)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #D",
|
||||
"thresholds": [],
|
||||
"type": "number",
|
||||
"unit": "s"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1605",
|
||||
"alias": "Partition used%*",
|
||||
"align": "auto",
|
||||
"colorMode": "cell",
|
||||
"colors": [
|
||||
"rgba(50, 172, 45, 0.97)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(245, 54, 54, 0.9)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #E",
|
||||
"thresholds": [
|
||||
"70",
|
||||
"85"
|
||||
],
|
||||
"type": "number",
|
||||
"unit": "percent"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1606",
|
||||
"alias": "CPU used%",
|
||||
"align": "auto",
|
||||
"colorMode": "cell",
|
||||
"colors": [
|
||||
"rgba(50, 172, 45, 0.97)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(245, 54, 54, 0.9)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #F",
|
||||
"thresholds": [
|
||||
"70",
|
||||
"85"
|
||||
],
|
||||
"type": "number",
|
||||
"unit": "percent"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1607",
|
||||
"alias": "Memory used%",
|
||||
"align": "auto",
|
||||
"colorMode": "cell",
|
||||
"colors": [
|
||||
"rgba(50, 172, 45, 0.97)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(245, 54, 54, 0.9)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #G",
|
||||
"thresholds": [
|
||||
"70",
|
||||
"85"
|
||||
],
|
||||
"type": "number",
|
||||
"unit": "percent"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1608",
|
||||
"alias": "Disk read*",
|
||||
"align": "auto",
|
||||
"colorMode": "cell",
|
||||
"colors": [
|
||||
"rgba(50, 172, 45, 0.97)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(245, 54, 54, 0.9)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #H",
|
||||
"thresholds": [
|
||||
"10485760",
|
||||
"20485760"
|
||||
],
|
||||
"type": "number",
|
||||
"unit": "Bps"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1609",
|
||||
"alias": "Disk write*",
|
||||
"align": "auto",
|
||||
"colorMode": "cell",
|
||||
"colors": [
|
||||
"rgba(50, 172, 45, 0.97)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(245, 54, 54, 0.9)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #I",
|
||||
"thresholds": [
|
||||
"10485760",
|
||||
"20485760"
|
||||
],
|
||||
"type": "number",
|
||||
"unit": "Bps"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1610",
|
||||
"alias": "Download*",
|
||||
"align": "auto",
|
||||
"colorMode": "cell",
|
||||
"colors": [
|
||||
"rgba(50, 172, 45, 0.97)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(245, 54, 54, 0.9)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #J",
|
||||
"thresholds": [
|
||||
"30485760",
|
||||
"104857600"
|
||||
],
|
||||
"type": "number",
|
||||
"unit": "bps"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1611",
|
||||
"alias": "Upload*",
|
||||
"align": "auto",
|
||||
"colorMode": "cell",
|
||||
"colors": [
|
||||
"rgba(50, 172, 45, 0.97)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(245, 54, 54, 0.9)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #K",
|
||||
"thresholds": [
|
||||
"30485760",
|
||||
"104857600"
|
||||
],
|
||||
"type": "number",
|
||||
"unit": "bps"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1612",
|
||||
"alias": "5m load",
|
||||
"align": "auto",
|
||||
"colors": [
|
||||
"rgba(245, 54, 54, 0.9)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(50, 172, 45, 0.97)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #L",
|
||||
"thresholds": [],
|
||||
"type": "number",
|
||||
"unit": "short"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1613",
|
||||
"alias": "CurrEstab",
|
||||
"align": "auto",
|
||||
"colorMode": "cell",
|
||||
"colors": [
|
||||
"rgba(50, 172, 45, 0.97)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(245, 54, 54, 0.9)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"decimals": 2,
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #M",
|
||||
"thresholds": [
|
||||
"1000",
|
||||
"1500"
|
||||
],
|
||||
"type": "string",
|
||||
"unit": "short"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1614",
|
||||
"alias": "TCP_tw",
|
||||
"align": "center",
|
||||
"colorMode": "cell",
|
||||
"colors": [
|
||||
"rgba(50, 172, 45, 0.97)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(245, 54, 54, 0.9)"
|
||||
],
|
||||
"dateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"mappingType": 1,
|
||||
"pattern": "Value #N",
|
||||
"thresholds": [
|
||||
"5000",
|
||||
"20000"
|
||||
],
|
||||
"type": "number",
|
||||
"unit": "short"
|
||||
},
|
||||
{
|
||||
"$$hashKey": "object:1615",
|
||||
"alias": "",
|
||||
"align": "right",
|
||||
"colors": [
|
||||
"rgba(245, 54, 54, 0.9)",
|
||||
"rgba(237, 129, 40, 0.89)",
|
||||
"rgba(50, 172, 45, 0.97)"
|
||||
],
|
||||
"decimals": 2,
|
||||
"pattern": "/.*/",
|
||||
"thresholds": [],
|
||||
"type": "hidden",
|
||||
"unit": "short"
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "node_uname_info{job=~\"$job\"} - 0",
|
||||
"format": "table",
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "主机名",
|
||||
"refId": "A"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "sum(time() - node_boot_time_seconds{job=~\"$job\"})by(instance)",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "运行时间",
|
||||
"refId": "D"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "node_memory_MemTotal_bytes{job=~\"$job\"} - 0",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "总内存",
|
||||
"refId": "B"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "count(node_cpu_seconds_total{job=~\"$job\",mode='system'}) by (instance)",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "总核数",
|
||||
"refId": "C"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "node_load5{job=~\"$job\"}",
|
||||
"format": "table",
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "5分钟负载",
|
||||
"refId": "L"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "(1 - avg(rate(node_cpu_seconds_total{job=~\"$job\",mode=\"idle\"}[$__rate_interval])) by (instance)) * 100",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "CPU使用率",
|
||||
"refId": "F"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "(1 - (node_memory_MemAvailable_bytes{job=~\"$job\"} / (node_memory_MemTotal_bytes{job=~\"$job\"})))* 100",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "内存使用率",
|
||||
"refId": "G"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "max((node_filesystem_size_bytes{job=~\"$job\",fstype=~\"ext.?|xfs\"}-node_filesystem_free_bytes{job=~\"$job\",fstype=~\"ext.?|xfs\"}) *100/(node_filesystem_avail_bytes {job=~\"$job\",fstype=~\"ext.?|xfs\"}+(node_filesystem_size_bytes{job=~\"$job\",fstype=~\"ext.?|xfs\"}-node_filesystem_free_bytes{job=~\"$job\",fstype=~\"ext.?|xfs\"})))by(instance)",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "分区使用率",
|
||||
"refId": "E"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "max(rate(node_disk_read_bytes_total{job=~\"$job\"}[$__rate_interval])) by (instance)",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "最大读取",
|
||||
"refId": "H"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "max(rate(node_disk_written_bytes_total{job=~\"$job\"}[$__rate_interval])) by (instance)",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "最大写入",
|
||||
"refId": "I"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "node_netstat_Tcp_CurrEstab{job=~\"$job\"} - 0",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "连接数",
|
||||
"refId": "M"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "node_sockstat_TCP_tw{job=~\"$job\"} - 0",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "TIME_WAIT",
|
||||
"refId": "N"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "max(rate(node_network_receive_bytes_total{job=~\"$job\"}[$__rate_interval])*8) by (instance)",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "下载带宽",
|
||||
"refId": "J"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"editorMode": "code",
|
||||
"expr": "max(rate(node_network_transmit_bytes_total{job=~\"$job\"}[$__rate_interval])*8) by (instance)",
|
||||
"format": "table",
|
||||
"hide": false,
|
||||
"instant": true,
|
||||
"interval": "",
|
||||
"legendFormat": "上传带宽",
|
||||
"refId": "K"
|
||||
}
|
||||
],
|
||||
"title": "Resource Overview",
|
||||
"transform": "table",
|
||||
"type": "table-old"
|
||||
}
|
||||
],
|
||||
"refresh": "1m",
|
||||
"revision": 1,
|
||||
"schemaVersion": 38,
|
||||
"style": "dark",
|
||||
"tags": [
|
||||
"system"
|
||||
],
|
||||
"templating": {
|
||||
"list": [
|
||||
{
|
||||
"current": {
|
||||
"selected": false,
|
||||
"text": "node",
|
||||
"value": "node"
|
||||
},
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"definition": "label_values(node_uname_info, job)",
|
||||
"hide": 2,
|
||||
"includeAll": false,
|
||||
"label": "Job",
|
||||
"multi": false,
|
||||
"name": "job",
|
||||
"options": [],
|
||||
"query": {
|
||||
"query": "label_values(node_uname_info, job)",
|
||||
"refId": "StandardVariableQuery"
|
||||
},
|
||||
"refresh": 1,
|
||||
"regex": "",
|
||||
"skipUrlSync": false,
|
||||
"sort": 1,
|
||||
"type": "query"
|
||||
}
|
||||
]
|
||||
},
|
||||
"time": {
|
||||
"from": "now-24h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {
|
||||
"refresh_intervals": [
|
||||
"5s",
|
||||
"10s",
|
||||
"30s",
|
||||
"1m",
|
||||
"5m",
|
||||
"15m",
|
||||
"30m",
|
||||
"1h",
|
||||
"2h",
|
||||
"1d"
|
||||
]
|
||||
},
|
||||
"timezone": "",
|
||||
"title": "Overview",
|
||||
"uid": "HHYqp7T4z",
|
||||
"version": 6,
|
||||
"weekStart": ""
|
||||
}
|
@ -853,16 +853,16 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"emzprdback01",
|
||||
"emzprdback02",
|
||||
"emzprdfront02",
|
||||
"emzprdfront03"
|
||||
"sv1",
|
||||
"sv2",
|
||||
"sv2",
|
||||
"sv3"
|
||||
],
|
||||
"value": [
|
||||
"emzprdback01",
|
||||
"emzprdback02",
|
||||
"emzprdfront02",
|
||||
"emzprdfront03"
|
||||
"sv1",
|
||||
"sv2",
|
||||
"sv2",
|
||||
"sv3"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
|
@ -1920,14 +1920,14 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"emzhyp03",
|
||||
"emzhyp04",
|
||||
"emzhyp05"
|
||||
"sv3",
|
||||
"sv4",
|
||||
"sv5"
|
||||
],
|
||||
"value": [
|
||||
"emzhyp03",
|
||||
"emzhyp04",
|
||||
"emzhyp05"
|
||||
"sv3",
|
||||
"sv4",
|
||||
"sv5"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
@ -1971,7 +1971,7 @@
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"definition": "label_values(node_filesystem_avail_bytes{instance=~\"$host\",fstype!=\"nfs\"}, mountpoint)",
|
||||
"definition": "label_values(node_filesystem_avail_bytes{instance=~\"$host\"}, mountpoint)",
|
||||
"hide": 0,
|
||||
"includeAll": false,
|
||||
"label": "Mountpoints",
|
||||
@ -1979,7 +1979,7 @@
|
||||
"name": "mountpoints",
|
||||
"options": [],
|
||||
"query": {
|
||||
"query": "label_values(node_filesystem_avail_bytes{instance=~\"$host\",fstype!=\"nfs\"}, mountpoint)",
|
||||
"query": "label_values(node_filesystem_avail_bytes{instance=~\"$host\"}, mountpoint)",
|
||||
"refId": "StandardVariableQuery"
|
||||
},
|
||||
"refresh": 1,
|
||||
|
@ -1908,12 +1908,12 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"cprprdcache1",
|
||||
"cprprdcache2"
|
||||
"sv1",
|
||||
"sv2"
|
||||
],
|
||||
"value": [
|
||||
"cprprdcache1",
|
||||
"cprprdcache2"
|
||||
"sv1",
|
||||
"sv2"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
@ -1953,7 +1953,7 @@
|
||||
"type": "prometheus",
|
||||
"uid": "yPhvsDP7k"
|
||||
},
|
||||
"definition": "label_values(node_filesystem_avail_bytes{instance=~\"$host\",fstype!=\"nfs\"}, mountpoint)",
|
||||
"definition": "label_values(node_filesystem_avail_bytes{instance=~\"$host\"}, mountpoint)",
|
||||
"hide": 0,
|
||||
"includeAll": false,
|
||||
"label": "Mountpoints",
|
||||
@ -1961,7 +1961,7 @@
|
||||
"name": "mountpoints",
|
||||
"options": [],
|
||||
"query": {
|
||||
"query": "label_values(node_filesystem_avail_bytes{instance=~\"$host\",fstype!=\"nfs\"}, mountpoint)",
|
||||
"query": "label_values(node_filesystem_avail_bytes{instance=~\"$host\"}, mountpoint)",
|
||||
"refId": "StandardVariableQuery"
|
||||
},
|
||||
"refresh": 1,
|
||||
|
@ -1099,12 +1099,12 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"keoprdbdd01:9187",
|
||||
"keoprdbdd02:9187"
|
||||
"sv1:9187",
|
||||
"sv2:9187"
|
||||
],
|
||||
"value": [
|
||||
"keoprdbdd01:9187",
|
||||
"keoprdbdd02:9187"
|
||||
"sv1:9187",
|
||||
"sv2:9187"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
|
@ -1260,8 +1260,8 @@
|
||||
{
|
||||
"current": {
|
||||
"selected": false,
|
||||
"text": "emzhyp03",
|
||||
"value": "emzhyp03"
|
||||
"text": "sv3",
|
||||
"value": "sv3"
|
||||
},
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
@ -1289,8 +1289,8 @@
|
||||
{
|
||||
"current": {
|
||||
"selected": false,
|
||||
"text": "emzhyp05",
|
||||
"value": "emzhyp05"
|
||||
"text": "sv5",
|
||||
"value": "sv5"
|
||||
},
|
||||
"datasource": {
|
||||
"type": "prometheus",
|
||||
|
8389
files/dashboards/rabbitmq.json
Normal file
8389
files/dashboards/rabbitmq.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -1358,12 +1358,12 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"emzprdcache01",
|
||||
"emzprdcache02"
|
||||
"sv1",
|
||||
"sv2"
|
||||
],
|
||||
"value": [
|
||||
"emzprdcache01",
|
||||
"emzprdcache02"
|
||||
"sv1",
|
||||
"sv2"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
|
@ -364,7 +364,7 @@
|
||||
"calcs": [
|
||||
"lastNotNull"
|
||||
],
|
||||
"fields": "/^min\\(varnish_main_uptime\\{instance=~\"\\(emzprdrpc01\\|emzprdrpc02\\)\"\\}\\)$/",
|
||||
"fields": "/^min\\(varnish_main_uptime\\{instance=~\"\\(sv1\\|sv2\\)\"\\}\\)$/",
|
||||
"values": false
|
||||
},
|
||||
"textMode": "auto"
|
||||
@ -1664,12 +1664,12 @@
|
||||
"current": {
|
||||
"selected": true,
|
||||
"text": [
|
||||
"emzprdrpc01",
|
||||
"emzprdrpc02"
|
||||
"sv1",
|
||||
"sv2"
|
||||
],
|
||||
"value": [
|
||||
"emzprdrpc01",
|
||||
"emzprdrpc02"
|
||||
"sv1",
|
||||
"sv2"
|
||||
]
|
||||
},
|
||||
"datasource": {
|
||||
|
@ -103,3 +103,10 @@
|
||||
state: restarted
|
||||
enabled: yes
|
||||
tags: ['prometheus']
|
||||
|
||||
- name: 'elasticsearch-exporter-restart'
|
||||
systemd:
|
||||
name: prometheus-elasticsearch-exporter.service
|
||||
state: restarted
|
||||
enabled: yes
|
||||
tags: ['prometheus']
|
||||
|
@ -3,7 +3,7 @@ galaxy_info:
|
||||
author: Ludovic Cartier
|
||||
description: Install and configure Prometheus and exporters
|
||||
company: brainsys
|
||||
license: GPLv3
|
||||
license: MIT
|
||||
min_ansible_version: 2.8
|
||||
issue_tracker_url: https://github.com/ludal13/ansible-role-prometheus/issues
|
||||
github_branch: master
|
||||
issue_tracker_url: https://git.brainsys.io/ansible-roles/prometheus/issues
|
||||
github_branch: main
|
||||
|
@ -3,7 +3,6 @@
|
||||
get_url:
|
||||
url: "{{prometheus_exporters_repo}}/releases/download/{{prometheus_exporters_release}}/{{exporter}}_exporter"
|
||||
dest: /usr/local/bin/prometheus-{{ exporter }}-exporter
|
||||
remote_src: yes
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0755
|
||||
|
@ -3,6 +3,7 @@
|
||||
assert:
|
||||
that:
|
||||
- cloudflare_api_key is defined
|
||||
- cloudflare_api_email is defined
|
||||
tags: ['prometheus_cloudflare']
|
||||
|
||||
- include_tasks: ../docker.yml
|
||||
|
3
tasks/exporter/services/elasticsearch.yml
Normal file
3
tasks/exporter/services/elasticsearch.yml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
- include_tasks: ../common.yml
|
||||
tags: ['prometheus_elasticsearch_exporter']
|
@ -7,11 +7,22 @@
|
||||
- prometheus_proxmox_exporter_node is defined
|
||||
tags: ['prometheus_proxmox']
|
||||
|
||||
- name: 'proxmox exporter | install package through pip3'
|
||||
- name: 'proxmox exporter | create dedicated venv path'
|
||||
file:
|
||||
path: "{{ prometheus_proxmox_venv_path | default('/opt/venv/prometheus-pve-exporter') }}"
|
||||
state: directory
|
||||
tags: ['prometheus_proxmox']
|
||||
|
||||
- name: 'proxmox exporter | create dedicated venv'
|
||||
command:
|
||||
cmd: python3 -m venv "{{ prometheus_proxmox_venv_path | default('/opt/venv/prometheus-pve-exporter') }}"
|
||||
tags: ['prometheus_proxmox']
|
||||
|
||||
- name: 'proxmox exporter | install package into a dedicated venv'
|
||||
pip:
|
||||
name:
|
||||
- prometheus-pve-exporter
|
||||
executable: pip3
|
||||
virtualenv: "{{ prometheus_proxmox_venv_path | default('/opt/venv/prometheus-pve-exporter') }}"
|
||||
tags: ['prometheus_proxmox']
|
||||
|
||||
- name: 'proxmox exporter | configuration'
|
||||
|
@ -9,6 +9,5 @@
|
||||
name:
|
||||
- curl
|
||||
- jq
|
||||
- docker-compose-plugin
|
||||
state: present
|
||||
tags: ['prometheus']
|
||||
|
@ -17,6 +17,18 @@
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
when: prometheus_use_victoriametrics == false
|
||||
notify:
|
||||
- 'grafana-prometheus-restart'
|
||||
|
||||
- name: 'prometheus | server | copy config vmagent.yml'
|
||||
template:
|
||||
src: conf/vmagent.yml.j2
|
||||
dest: /etc/prometheus/vmagent.yml
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
when: prometheus_use_victoriametrics == true
|
||||
notify:
|
||||
- 'grafana-prometheus-restart'
|
||||
|
||||
@ -36,12 +48,12 @@
|
||||
notify: "grafana-prometheus-restart"
|
||||
|
||||
- name: "grafana-prometheus | create grafana.ini file"
|
||||
file:
|
||||
path: /opt/docker-compose/grafana-prometheus/grafana.ini
|
||||
template:
|
||||
src: conf/grafana.ini.j2
|
||||
dest: /opt/docker-compose/grafana-prometheus/grafana.ini
|
||||
owner: '1000'
|
||||
group: '1000'
|
||||
mode: '0750'
|
||||
state: touch
|
||||
notify: "grafana-prometheus-restart"
|
||||
ignore_errors: '{{ ansible_check_mode }}'
|
||||
|
||||
|
@ -26,13 +26,13 @@
|
||||
notify: "grafana-prometheus-restart"
|
||||
|
||||
- name: "grafana-prometheus | import grafana provisioned datasources conf"
|
||||
copy:
|
||||
src: dashboards/datasources.yaml
|
||||
template:
|
||||
src: conf/datasources.yaml.j2
|
||||
dest: /opt/docker-compose/grafana-prometheus/datasources/datasources.yaml
|
||||
owner: '1000'
|
||||
group: '1000'
|
||||
mode: '0750'
|
||||
when: grafana_provisioned_datasources_path is not defined
|
||||
#when: grafana_provisioned_datasources_path is not defined
|
||||
notify: "grafana-prometheus-restart"
|
||||
|
||||
- name: "grafana-prometheus | import grafana provisioned dashboards conf"
|
||||
@ -125,6 +125,16 @@
|
||||
when: prometheus_mysqld_exporter_targets is defined
|
||||
notify: "grafana-prometheus-restart"
|
||||
|
||||
- name: "grafana-prometheus | import grafana mongodb dashboard"
|
||||
copy:
|
||||
src: dashboards/mongodb.json
|
||||
dest: /opt/docker-compose/grafana-prometheus/dashboards/mongodb.json
|
||||
owner: '1000'
|
||||
group: '1000'
|
||||
mode: '0750'
|
||||
when: prometheus_mongodb_exporter_targets is defined
|
||||
notify: "grafana-prometheus-restart"
|
||||
|
||||
- name: "grafana-prometheus | import grafana network dashboard"
|
||||
copy:
|
||||
src: dashboards/network.json
|
||||
@ -282,3 +292,23 @@
|
||||
mode: '0750'
|
||||
when: prometheus_nginx_exporter_targets is defined
|
||||
notify: "grafana-prometheus-restart"
|
||||
|
||||
- name: "grafana-prometheus | import grafana elasticsearch dashboard"
|
||||
copy:
|
||||
src: dashboards/elasticsearch.json
|
||||
dest: /opt/docker-compose/grafana-prometheus/dashboards/elasticsearch.json
|
||||
owner: '1000'
|
||||
group: '1000'
|
||||
mode: '0750'
|
||||
when: prometheus_elasticsearch_exporter_targets is defined
|
||||
notify: "grafana-prometheus-restart"
|
||||
|
||||
- name: "grafana-prometheus | import grafana rabbitmq dashboard"
|
||||
copy:
|
||||
src: dashboards/rabbitmq.json
|
||||
dest: /opt/docker-compose/grafana-prometheus/dashboards/rabbitmq.json
|
||||
owner: '1000'
|
||||
group: '1000'
|
||||
mode: '0750'
|
||||
when: prometheus_rabbitmq_exporter_targets is defined
|
||||
notify: "grafana-prometheus-restart"
|
@ -11,7 +11,12 @@ services:
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- CF_API_TOKEN={{ cloudflare_api_key }}
|
||||
- CF_API_EMAIL={{ cloudflare_api_email }}
|
||||
labels:
|
||||
com.centurylinklabs.watchtower.enable: {{ cloudflare_exporter_watchtower_enable | default('true') }}
|
||||
ports:
|
||||
- 8082:8080
|
||||
networks:
|
||||
- {{ prometheus_docker_network }}
|
||||
dns:
|
||||
- "{{ prometheus_cloudflare_dns }}"
|
||||
|
@ -8,7 +8,11 @@ networks:
|
||||
{% endif %}
|
||||
|
||||
volumes:
|
||||
{% if prometheus_use_victoriametrics == false %}
|
||||
prometheus-data:
|
||||
{% else %}
|
||||
victoria-metrics-data:
|
||||
{% endif %}
|
||||
grafana-data:
|
||||
|
||||
services:
|
||||
@ -54,7 +58,10 @@ services:
|
||||
- grafana
|
||||
{% if grafana_traefik_enable is defined %}
|
||||
- traefik
|
||||
{% endif %}
|
||||
labels:
|
||||
com.centurylinklabs.watchtower.enable: {{ grafana_watchtower_enable | default('true') }}
|
||||
{% if grafana_traefik_enable is defined %}
|
||||
traefik.enable: true
|
||||
traefik.docker.network: traefik
|
||||
traefik.http.routers.grafana.rule: Host(`{{ grafana_domain|default(omit) }}`)
|
||||
@ -62,11 +69,16 @@ services:
|
||||
traefik.http.routers.grafana.tls.certresolver: letsencrypt
|
||||
traefik.http.routers.grafana.entrypoints: "{{ grafana_traefik_entrypoint }}"
|
||||
traefik.http.services.grafana.loadbalancer.server.port: 3000
|
||||
{% if grafana_traefik_ipwhitelist is defined %}
|
||||
traefik.http.middlewares.grafana-clientips.ipwhitelist.sourcerange: {{ grafana_traefik_ipwhitelist }}
|
||||
traefik.http.routers.grafana.middlewares: "grafana-clientips@docker"
|
||||
{% endif %}
|
||||
{% else %}
|
||||
ports:
|
||||
- "{{ grafana_port | default(3000) }}:3000"
|
||||
{% endif %}
|
||||
|
||||
{% if prometheus_use_victoriametrics == false %}
|
||||
prometheus:
|
||||
container_name: prometheus
|
||||
image: prom/prometheus:{{ grafana_prometheus_version | default('latest') }}
|
||||
@ -82,7 +94,10 @@ services:
|
||||
- grafana
|
||||
{% if prometheus_traefik_enable is defined %}
|
||||
- traefik
|
||||
{% endif %}
|
||||
labels:
|
||||
com.centurylinklabs.watchtower.enable: {{ prometheus_watchtower_enable | default('true') }}
|
||||
{% if prometheus_traefik_enable is defined %}
|
||||
traefik.enable: true
|
||||
traefik.docker.network: traefik
|
||||
traefik.http.routers.prometheus.rule: Host(`{{ prometheus_domain|default(omit) }}`)
|
||||
@ -90,6 +105,10 @@ services:
|
||||
traefik.http.routers.prometheus.tls.certresolver: letsencrypt
|
||||
traefik.http.routers.prometheus.entrypoints: "{{ grafana_traefik_entrypoint }}"
|
||||
traefik.http.services.prometheus.loadbalancer.server.port: 9090
|
||||
{% if prometheus_traefik_ipwhitelist is defined %}
|
||||
traefik.http.middlewares.prometheus-clientips.ipwhitelist.sourcerange: {{ prometheus_traefik_ipwhitelist }}
|
||||
traefik.http.routers.prometheus.middlewares: "prometheus-clientips@docker"
|
||||
{% endif %}
|
||||
{% else %}
|
||||
ports:
|
||||
- "{{ prometheus_port | default(9090) }}:9090"
|
||||
@ -101,3 +120,54 @@ services:
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
restart: unless-stopped
|
||||
{% else %}
|
||||
victoriametrics:
|
||||
image: victoriametrics/victoria-metrics
|
||||
container_name: victoriametrics
|
||||
restart: always
|
||||
command:
|
||||
- '-storageDataPath=/victoria-metrics-data'
|
||||
- '-retentionPeriod={{ prometheus_retention_time }}'
|
||||
volumes:
|
||||
- victoria-metrics-data:/victoria-metrics-data
|
||||
{% if prometheus_traefik_enable is defined %}
|
||||
- traefik
|
||||
{% endif %}
|
||||
labels:
|
||||
com.centurylinklabs.watchtower.enable: {{ prometheus_watchtower_enable | default('true') }}
|
||||
{% if prometheus_traefik_enable is defined %}
|
||||
traefik.enable: true
|
||||
traefik.docker.network: traefik
|
||||
traefik.http.routers.prometheus.rule: Host(`{{ prometheus_domain|default(omit) }}`)
|
||||
traefik.http.routers.prometheus.tls: true
|
||||
traefik.http.routers.prometheus.tls.certresolver: letsencrypt
|
||||
traefik.http.routers.prometheus.entrypoints: "{{ grafana_traefik_entrypoint }}"
|
||||
traefik.http.services.prometheus.loadbalancer.server.port: 8428
|
||||
{% else %}
|
||||
ports:
|
||||
- "{{ prometheus_port | default(8428) }}:8428"
|
||||
{% endif %}
|
||||
networks:
|
||||
- grafana
|
||||
|
||||
vmagent:
|
||||
image: victoriametrics/vmagent
|
||||
container_name: vmagent
|
||||
restart: always
|
||||
command:
|
||||
- '-promscrape.config=/etc/vmagent/vmagent.yml'
|
||||
- '-remoteWrite.url=http://victoriametrics:8428/api/v1/write'
|
||||
- '-loggerLevel=ERROR'
|
||||
volumes:
|
||||
- /etc/prometheus:/etc/vmagent
|
||||
labels:
|
||||
com.centurylinklabs.watchtower.enable: {{ prometheus_watchtower_enable | default('true') }}
|
||||
networks:
|
||||
- grafana
|
||||
{% if prometheus_nodes_ip is defined %}
|
||||
extra_hosts:
|
||||
{% for key, value in prometheus_nodes_ip.items() %}
|
||||
- "{{ key }}:{{ value }}"
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
@ -5,5 +5,9 @@ datasources:
|
||||
uid: yPhvsDP7k
|
||||
type: prometheus
|
||||
access: proxy
|
||||
{% if prometheus_use_victoriametrics == false %}
|
||||
url: http://prometheus:9090
|
||||
{% else %}
|
||||
url: http://victoriametrics:8428
|
||||
{% endif %}
|
||||
isDefault: true
|
10
templates/conf/grafana.ini.j2
Normal file
10
templates/conf/grafana.ini.j2
Normal file
@ -0,0 +1,10 @@
|
||||
[server]
|
||||
domain = {{ grafana_domain }}
|
||||
root_url = %(protocol)s://%(domain)s
|
||||
|
||||
[dashboards]
|
||||
{% if prometheus_cloudflare_exporter_targets is defined %}
|
||||
default_home_dashboard_path = /etc/grafana/provisioning/dashboards/overview.json
|
||||
{% else %}
|
||||
default_home_dashboard_path = /etc/grafana/provisioning/dashboards/overview.json
|
||||
{% endif %}
|
@ -414,13 +414,13 @@ scrape_configs:
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_pve_exporter_targets is defined %}
|
||||
{% if prometheus_proxmox_exporter_targets is defined %}
|
||||
# proxmox #
|
||||
- job_name: pve
|
||||
scrape_interval: 30s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_pve_exporter_targets %}
|
||||
{% for target in prometheus_proxmox_exporter_targets %}
|
||||
- {{ target }}:9221
|
||||
{% endfor %}
|
||||
metrics_path: /pve
|
||||
|
544
templates/conf/vmagent.yml.j2
Normal file
544
templates/conf/vmagent.yml.j2
Normal file
@ -0,0 +1,544 @@
|
||||
# {{ ansible_managed }}
|
||||
|
||||
global:
|
||||
scrape_interval: {{ prometheus_server_global_scrape_interval }}s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
||||
|
||||
{% if prometheus_server_rules is defined %}
|
||||
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
|
||||
rule_files:
|
||||
- 'rules.yml'
|
||||
{% endif %}
|
||||
|
||||
# A scrape configuration containing exactly one endpoint to scrape:
|
||||
# Here it's Prometheus itself.
|
||||
scrape_configs:
|
||||
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
|
||||
- job_name: 'vmagent'
|
||||
|
||||
# Override the global default and scrape targets from this job every 5 seconds.
|
||||
scrape_interval: {{ prometheus_server_scrape_interval }}s
|
||||
scrape_timeout: {{ prometheus_server_scrape_timeout }}s
|
||||
|
||||
# metrics_path defaults to '/metrics'
|
||||
# scheme defaults to 'http'.
|
||||
|
||||
static_configs:
|
||||
- targets: ['victoriametrics:8428']
|
||||
|
||||
{% if prometheus_node_exporter_targets is defined %}
|
||||
# node exporter #
|
||||
- job_name: node
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_node_exporter_targets %}
|
||||
- {{ target }}:9100
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9100'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_mysqld_exporter_targets is defined %}
|
||||
# mysql exporter #
|
||||
- job_name: mysql
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
{% if prometheus_mysqld_exporter_custom is defined %}
|
||||
{% for target in prometheus_mysqld_exporter_custom.values() %}
|
||||
- targets: ['{{ target.node_name }}:9104']
|
||||
labels:
|
||||
environment: '{{ target.environment }}'
|
||||
node_name: '{{ target.node_name }}'
|
||||
service_name: '{{ target.service_name }}'
|
||||
cluster: '{{ target.cluster }}'
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
- targets:
|
||||
{% for target in prometheus_mysqld_exporter_targets %}
|
||||
- {{ target }}:9104
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9104'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_mongodb_exporter_targets is defined %}
|
||||
# mongoDB exporter #
|
||||
- job_name: mongodb
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
{% if prometheus_mongodb_exporter_custom is defined %}
|
||||
{% for target in prometheus_mongodb_exporter_custom.values() %}
|
||||
- targets: ['{{ target.node_name }}:9216']
|
||||
labels:
|
||||
environment: '{{ target.environment }}'
|
||||
node_name: '{{ target.node_name }}'
|
||||
service_name: '{{ target.service_name }}'
|
||||
cluster: '{{ target.cluster }}'
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
- targets:
|
||||
{% for target in prometheus_mongodb_exporter_targets %}
|
||||
- {{ target }}:9216
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9216'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_postgres_exporter_targets is defined %}
|
||||
# postgresql exporter #
|
||||
- job_name: postgresql
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
{% if prometheus_postgres_exporter_custom is defined %}
|
||||
{% for target in prometheus_postgres_exporter_custom.values() %}
|
||||
- targets: ['{{ target.node_name }}:9187']
|
||||
labels:
|
||||
environment: '{{ target.environment }}'
|
||||
node_name: '{{ target.node_name }}'
|
||||
service_name: '{{ target.service_name }}'
|
||||
cluster: '{{ target.cluster }}'
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
- targets:
|
||||
{% for target in prometheus_postgres_exporter_targets %}
|
||||
- {{ target }}:9187
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9187'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_phpfpm_exporter_targets is defined %}
|
||||
# PHP-FPM exporter #
|
||||
- job_name: phpfpm
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_phpfpm_exporter_targets %}
|
||||
- {{ target }}:9253
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9253'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_opcache_exporter_targets is defined %}
|
||||
# opcache exporter #
|
||||
- job_name: opcache
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_opcache_exporter_targets %}
|
||||
- {{ target }}:9101
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9101'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_apache_exporter_targets is defined %}
|
||||
# apache exporter #
|
||||
- job_name: apache
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_apache_exporter_targets %}
|
||||
- {{ target }}:9117
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9117'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_nginx_exporter_targets is defined %}
|
||||
# nginx exporter #
|
||||
- job_name: nginx
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_nginx_exporter_targets %}
|
||||
- {{ target }}:9113
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9113'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_haproxy_exporter_targets is defined %}
|
||||
# haproxy exporter #
|
||||
- job_name: haproxy
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_haproxy_exporter_targets %}
|
||||
- {{ target }}:8404
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):8404'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_varnish_exporter_targets is defined %}
|
||||
# Varnish exporter #
|
||||
- job_name: varnish
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_varnish_exporter_targets %}
|
||||
- {{ target }}:9131
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9131'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_blackbox_exporter is defined %}
|
||||
# blackbox #
|
||||
{% if prometheus_blackbox_exporter_http is defined %}
|
||||
## http check ##
|
||||
- job_name: blackbox - url
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
metrics_path: /probe
|
||||
params:
|
||||
module: [http_2xx]
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_blackbox_exporter_http %}
|
||||
- {{target }}
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
target_label: __param_target
|
||||
- source_labels: [__param_target]
|
||||
target_label: instance
|
||||
- target_label: __address__
|
||||
replacement: {{ prometheus_blackbox_exporter_host }}:9115
|
||||
{% endif %}
|
||||
{% if prometheus_blackbox_exporter_ping is defined %}
|
||||
## ping ##
|
||||
- job_name: blackbox - ping
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
params:
|
||||
module: [icmp]
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_blackbox_exporter_ping %}
|
||||
- {{ target }}
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
target_label: __param_target
|
||||
- source_labels: [__param_target]
|
||||
target_label: instance
|
||||
- target_label: __address__
|
||||
replacement: {{ prometheus_blackbox_exporter_host }}:9115
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_redis_multi_instances_exporter_targets is defined %}
|
||||
# Redis exporter #
|
||||
- job_name: 'redis_exporter_targets'
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_redis_multi_instances_exporter_targets %}
|
||||
- {{ target }}
|
||||
{% endfor %}
|
||||
metrics_path: /scrape
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
target_label: __param_target
|
||||
- source_labels: [__param_target]
|
||||
target_label: instance
|
||||
- source_labels: [instance]
|
||||
target_label: __address__
|
||||
regex: 'redis://(.*):63..'
|
||||
replacement: '${1}:9121'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_redis_exporter_targets is defined %}
|
||||
# Redis exporter #
|
||||
- job_name: redis
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_redis_exporter_targets %}
|
||||
- {{ target }}:9121
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9121'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_proxysql_exporter_targets is defined %}
|
||||
# ProxySQL exporter #
|
||||
- job_name: proxysql
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_proxysql_exporter_targets %}
|
||||
- {{ target }}:6070
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):6070'
|
||||
replacement: '${1}'
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_kong_exporter_targets is defined %}
|
||||
# Kong exporter #
|
||||
- job_name: kong
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
metrics_path: /metrics
|
||||
honor_labels: false
|
||||
honor_timestamps: true
|
||||
sample_limit: 0
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_kong_exporter_targets %}
|
||||
- {{ target }}
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_memcached_exporter_targets is defined %}
|
||||
# Memcached exporter #
|
||||
- job_name: memcached
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_memcached_exporter_targets %}
|
||||
- {{ target }}:9150
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9150'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_docker_exporter_targets is defined %}
|
||||
# Docker exporter #
|
||||
- job_name: docker
|
||||
scrape_interval: 30s
|
||||
scrape_timeout: 10s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_docker_exporter_targets %}
|
||||
- {{ target }}:9323
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9323'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_cadvisor_exporter_targets is defined %}
|
||||
# cadvisor #
|
||||
- job_name: cadvisor
|
||||
scrape_interval: 30s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_cadvisor_exporter_targets %}
|
||||
- {{ target }}:8080
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):8080'
|
||||
replacement: '${1}'
|
||||
{% endif %}
|
||||
{% if prometheus_cloudflare_exporter_targets is defined %}
|
||||
# cloudflare #
|
||||
- job_name: cloudflare
|
||||
scrape_interval: 30s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_cloudflare_exporter_targets %}
|
||||
- {{ target }}:8082
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):8082'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_proxmox_exporter_targets is defined %}
|
||||
# proxmox #
|
||||
- job_name: pve
|
||||
scrape_interval: 30s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_proxmox_exporter_targets %}
|
||||
- {{ target }}:9221
|
||||
{% endfor %}
|
||||
metrics_path: /pve
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9221'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_opensearch_exporter_targets is defined %}
|
||||
# opensearch #
|
||||
- job_name: opensearch
|
||||
scrape_interval: 30s
|
||||
metrics_path: "/_prometheus/metrics"
|
||||
scheme: https
|
||||
tls_config:
|
||||
insecure_skip_verify: true
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_opensearch_exporter_targets %}
|
||||
- {{ target }}:9200
|
||||
{% endfor %}
|
||||
basic_auth:
|
||||
username: {{ opensearch_user }}
|
||||
password: {{ opensearch_pass }}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9200'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_gitlab_exporter_targets is defined %}
|
||||
# gitlab #
|
||||
- job_name: gitlab-nginx
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:8060
|
||||
{% endfor %}
|
||||
- job_name: gitlab-node
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:9101
|
||||
{% endfor %}
|
||||
- job_name: gitlab-redis
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:9121
|
||||
{% endfor %}
|
||||
- job_name: gitlab-postgres
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:9187
|
||||
{% endfor %}
|
||||
- job_name: gitlab-workhorse
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:9229
|
||||
{% endfor %}
|
||||
- job_name: gitlab-rails
|
||||
metrics_path: "/-/metrics"
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:8880
|
||||
{% endfor %}
|
||||
- job_name: gitlab-sidekiq
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:8082
|
||||
{% endfor %}
|
||||
- job_name: gitlab_exporter_database
|
||||
metrics_path: "/database"
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:9168
|
||||
{% endfor %}
|
||||
- job_name: gitlab_exporter_sidekiq
|
||||
metrics_path: "/sidekiq"
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:9168
|
||||
{% endfor %}
|
||||
- job_name: gitaly
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_gitlab_exporter_targets %}
|
||||
- {{ target }}:9236
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_elasticsearch_exporter_targets is defined %}
|
||||
# Elasticsearch #
|
||||
- job_name: elasticsearch
|
||||
scrape_interval: 30s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_elasticsearch_exporter_targets %}
|
||||
- {{ target }}:9114
|
||||
{% endfor %}
|
||||
relabel_configs:
|
||||
- source_labels: [ __address__ ]
|
||||
target_label: instance
|
||||
regex: '(.*):9114'
|
||||
replacement: '${1}'
|
||||
|
||||
{% endif %}
|
||||
{% if prometheus_rabbitmq_exporter_targets is defined %}
|
||||
# Rabbitmq #
|
||||
- job_name: rabbitmq
|
||||
scrape_interval: 15s
|
||||
static_configs:
|
||||
- targets:
|
||||
{% for target in prometheus_rabbitmq_exporter_targets %}
|
||||
- {{ target }}:15692
|
||||
{% endfor %}
|
||||
|
||||
{% endif %}
|
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Prometheus Elasticsearch Exporter
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/bin/prometheus-elasticsearch-exporter {% if prometheus_elasticsearch_user is defined %}--es.uri="http://{{ prometheus_elasticsearch_user }}:{{ prometheus_elasticsearch_password }}@localhost:9200"{% endif %}
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -4,7 +4,7 @@ After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/bin/prometheus-mongodb-exporter --compatible-mode
|
||||
ExecStart=/usr/local/bin/prometheus-mongodb-exporter --compatible-mode --collect-all
|
||||
EnvironmentFile=/etc/default/prometheus-mongodb-exporter
|
||||
|
||||
[Install]
|
||||
|
@ -5,7 +5,6 @@ Wants=network.target
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
ExecStart=/usr/local/bin/pve_exporter /etc/default/prometheus-proxmox-exporter {{ prometheus_proxmox_exporter_port | default('9221') }} {{ prometheus_proxmox_exporter_node }}
|
||||
|
||||
ExecStart="{{ prometheus_proxmox_venv_path | default('/opt/venv/prometheus-pve-exporter') }}"/bin/pve_exporter --config.file /etc/default/prometheus-proxmox-exporter --web.listen-address {{ prometheus_proxmox_exporter_node }}:{{ prometheus_proxmox_exporter_port | default('9221') }}
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
Reference in New Issue
Block a user