AMQ adapter version w/o endpints for CleverSwarm integration

This commit is contained in:
Stanislav Hejny
2025-01-23 10:27:21 +00:00
committed by Rui Hu
parent d2b1b59c66
commit 286a4986b3
39 changed files with 1104 additions and 271 deletions
@@ -0,0 +1,16 @@
route:
receiver: 'demo.web.hook'
group_by: ['path', 'queue']
group_wait: 3s
group_interval: 1s
repeat_interval: 1m
receivers:
- name: 'demo.web.hook'
webhook_configs:
- url: 'http://10.233.1.4:8080/alert'
inhibit_rules:
# override warnings if we have critical
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
@@ -0,0 +1,271 @@
{
"__inputs": [
{
"name": "DS_PROMETHEUS",
"label": "prometheus",
"description": "",
"type": "datasource",
"pluginId": "prometheus",
"pluginName": "Prometheus"
}
],
"__elements": {},
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "11.3.0"
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
"version": "1.0.0"
},
{
"type": "panel",
"id": "timeseries",
"name": "Time series",
"version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"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": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.3.0",
"targets": [
{
"disableTextWrap": false,
"editorMode": "builder",
"expr": "rabbitmq_queue_messages_ready{queue=\"demo.getRandom\"}",
"fullMetaSearch": false,
"includeNullMetadata": true,
"legendFormat": "__auto",
"range": true,
"refId": "A",
"useBackend": false,
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
}
}
],
"title": "RabbitMQ Queue getRandom",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"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": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 8
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "11.3.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"disableTextWrap": false,
"editorMode": "builder",
"expr": "delta(application_demo_http_req_duration_second_seconds_count[$__interval])",
"fullMetaSearch": false,
"includeNullMetadata": false,
"legendFormat": "__auto",
"range": true,
"refId": "A",
"useBackend": false
}
],
"title": "/number req",
"type": "timeseries"
}
],
"schemaVersion": 40,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "Application",
"uid": "ce2wmjrfkm7lsf",
"version": 5,
"weekStart": ""
}
+9
View File
@@ -0,0 +1,9 @@
server.host: 0.0.0.0
elasticsearch.hosts: [ http://elasticsearch:9200 ]
monitoring.ui.container.elasticsearch.enabled: true
monitoring.ui.container.logstash.enabled: true
# X-Pack security credentials
elasticsearch.username: kibana_system
elasticsearch.password: ${KIBANA_SYSTEM_PASSWORD}
@@ -0,0 +1,15 @@
input {
beats {
port => 5044
}
}
## Add your filters / logstash plugins configuration here
output {
elasticsearch {
hosts => "elasticsearch:9200"
user => "logstash_internal"
password => "${LOGSTASH_INTERNAL_PASSWORD}"
}
}
+21
View File
@@ -0,0 +1,21 @@
groups:
- name: demo_application
rules:
- alert: application_http_duration_alert
expr: rate(application_demo_http_req_duration_second_seconds_bucket{le="+Inf"}[5s]) >= 100
for: 5s
labels:
severity: critical
annotations:
summary: "Application process http req take too long"
description: "Endpoint {{ $labels.path }} is taking too long"
- name: rabbitmq
rules:
- alert: rabbitmq_queue_message_ready_count_alert
expr: rabbitmq_queue_messages_ready >= 50
for: 3s
labels:
severity: critical
annotations:
summary: "RabbitMQ queue backpressure too high"
description: "Queue {{ $labels.queue }} is taking too long"
+32
View File
@@ -0,0 +1,32 @@
scrape_configs:
- job_name: RabbitMQ
scrape_interval: 2s
metrics_path: /metrics/per-object
docker_sd_configs:
- host: unix:///var/run/docker.sock
relabel_configs:
# Only keep containers that have a `prometheus-job=rabbitmq` label.
# also requires the port = 15962, that's the report port of RabbitMQ
- source_labels: [__meta_docker_container_label_prometheus_job, __meta_docker_port_private]
regex: rabbitmq;15692
action: keep
- job_name: SpringActuator
metrics_path: /actuator/prometheus
scrape_interval: 2s
docker_sd_configs:
- host: unix:///var/run/docker.sock
relabel_configs:
- source_labels: [__meta_docker_container_label_prometheus_job, __meta_docker_port_private]
regex: spring-actuator;8080
action: keep
alerting:
alertmanagers:
- scheme: http
static_configs:
- targets:
- "alertmanager:9093"
rule_files:
- "alert-rules.yml"
+1
View File
@@ -0,0 +1 @@
[rabbitmq_management,rabbitmq_prometheus].
+20
View File
@@ -0,0 +1,20 @@
api:
insecure: true
dashboard: true
debug: true
disableDashboardAd: true
providers:
docker:
exposedbydefault: false
log:
level: "DEBUG"
entryPoints:
web:
address: ":8080"
# ampqs:
# address: ":3333"
# websecure:
# address: ":443"