docker-logs-grafana-clickhouse/dashboards/Logs + Structured via transforms.json
2023-10-24 15:46:25 +03:00

1009 lines
26 KiB
JSON

{
"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": 1,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 3,
"panels": [],
"title": "Total & Errors",
"type": "row"
},
{
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": "f70e773b-26c3-4b74-9a45-291fab27524b"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "series",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "hue",
"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
}
]
},
"unit": "recps"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 1
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"timezone": [
"Europe/Moscow"
],
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"builderOptions": {
"database": "default",
"fields": [
"priority",
"logdatetime"
],
"filters": [
{
"condition": "AND",
"filterType": "custom",
"key": "logdatetime",
"operator": "WITH IN DASHBOARD TIME RANGE",
"restrictToFields": [
{
"label": "logdatetime",
"name": "logdatetime",
"picklistValues": [],
"type": "DateTime"
}
],
"type": "datetime"
},
{
"condition": "AND",
"filterType": "custom",
"key": "program",
"operator": "=",
"type": "String",
"value": "${program:singlequote}"
},
{
"condition": "AND",
"filterType": "custom",
"key": "message",
"operator": "LIKE",
"type": "String",
"value": "$filter1"
}
],
"limit": 5000,
"metrics": [
{
"aggregation": "count",
"alias": "",
"field": ""
}
],
"mode": "trend",
"orderBy": [],
"table": "log_docker_raw",
"timeField": "logdatetime",
"timeFieldType": "DateTime"
},
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": "f70e773b-26c3-4b74-9a45-291fab27524b"
},
"queryType": "builder",
"rawSql": "SELECT $__timeInterval(logdatetime) as time, count() FROM \"default\".\"log_docker_raw\" WHERE $__timeFilter(logdatetime) AND ( logdatetime >= $__fromTime AND logdatetime <= $__toTime ) AND ( program = ${program:singlequote} ) AND ( message LIKE '%$filter1%' ) GROUP BY time ORDER BY time ASC LIMIT 5000",
"refId": "A"
}
],
"title": "Total messages",
"type": "timeseries"
},
{
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": "f70e773b-26c3-4b74-9a45-291fab27524b"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"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": 12,
"y": 1
},
"id": 5,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"builderOptions": {
"database": "default",
"fields": [
"priority"
],
"filters": [
{
"condition": "AND",
"filterType": "custom",
"key": "logdatetime",
"operator": "WITH IN DASHBOARD TIME RANGE",
"restrictToFields": [
{
"label": "logdatetime",
"name": "logdatetime",
"picklistValues": [],
"type": "DateTime"
}
],
"type": "datetime"
},
{
"condition": "AND",
"filterType": "custom",
"key": "priority",
"operator": "=",
"type": "String",
"value": "error"
},
{
"condition": "AND",
"filterType": "custom",
"key": "message",
"operator": "LIKE",
"type": "String",
"value": "$filter1"
}
],
"limit": 5000,
"metrics": [],
"mode": "trend",
"orderBy": [],
"table": "log_docker_raw",
"timeField": "logdatetime",
"timeFieldType": "DateTime"
},
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": "f70e773b-26c3-4b74-9a45-291fab27524b"
},
"queryType": "builder",
"rawSql": "SELECT $__timeInterval(logdatetime) as time FROM \"default\".\"log_docker_raw\" WHERE $__timeFilter(logdatetime) AND ( logdatetime >= $__fromTime AND logdatetime <= $__toTime ) AND ( priority = 'error' ) AND ( message LIKE '%$filter1%' ) GROUP BY time ORDER BY time ASC LIMIT 5000",
"refId": "A"
}
],
"title": "Total errors",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 9
},
"id": 6,
"panels": [],
"title": "Structured logs",
"type": "row"
},
{
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": "f70e773b-26c3-4b74-9a45-291fab27524b"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "logdatetime"
},
"properties": [
{
"id": "custom.width",
"value": 196
}
]
},
{
"matcher": {
"id": "byName",
"options": "host"
},
"properties": [
{
"id": "custom.width",
"value": 132
}
]
},
{
"matcher": {
"id": "byName",
"options": "program"
},
"properties": [
{
"id": "custom.width",
"value": 210
}
]
},
{
"matcher": {
"id": "byName",
"options": "priority"
},
"properties": [
{
"id": "custom.width",
"value": 71
}
]
},
{
"matcher": {
"id": "byName",
"options": "time"
},
"properties": [
{
"id": "custom.width",
"value": 266
}
]
},
{
"matcher": {
"id": "byName",
"options": "level"
},
"properties": [
{
"id": "custom.width",
"value": 80
}
]
},
{
"matcher": {
"id": "byName",
"options": "handler"
},
"properties": [
{
"id": "custom.width",
"value": 217
}
]
},
{
"matcher": {
"id": "byName",
"options": "msg"
},
"properties": [
{
"id": "custom.width",
"value": 300
},
{
"id": "custom.inspect",
"value": true
}
]
},
{
"matcher": {
"id": "byName",
"options": "Message"
},
"properties": [
{
"id": "custom.width",
"value": 1610
}
]
},
{
"matcher": {
"id": "byName",
"options": "Context"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"type": "color-text"
}
},
{
"id": "custom.inspect",
"value": true
}
]
}
]
},
"gridPos": {
"h": 27,
"w": 24,
"x": 0,
"y": 10
},
"id": 7,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"enablePagination": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"sortBy": []
},
"pluginVersion": "10.1.5",
"targets": [
{
"builderOptions": {
"database": "default",
"fields": [
"host",
"program",
"logdatetime",
"message"
],
"filters": [
{
"condition": "AND",
"filterType": "custom",
"key": "logdatetime",
"operator": "WITH IN DASHBOARD TIME RANGE",
"type": "DateTime",
"value": "TODAY"
},
{
"condition": "AND",
"filterType": "custom",
"key": "program",
"operator": "=",
"type": "String",
"value": "${program:singlequote}"
},
{
"condition": "AND",
"filterType": "custom",
"key": "message",
"operator": "LIKE",
"type": "String",
"value": "$filter1"
}
],
"limit": 5000,
"metrics": [],
"mode": "list",
"orderBy": [
{
"dir": "DESC",
"name": "logdatetime"
}
],
"table": "log_docker_raw",
"timeField": "logdatetime",
"timeFieldType": "DateTime"
},
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": "f70e773b-26c3-4b74-9a45-291fab27524b"
},
"format": 1,
"meta": {
"builderOptions": {
"fields": [],
"limit": 100,
"mode": "list"
}
},
"queryType": "builder",
"rawSql": "SELECT \"host\", \"program\", \"logdatetime\", \"message\" FROM \"default\".\"log_docker_raw\" WHERE ( logdatetime >= $__fromTime AND logdatetime <= $__toTime ) AND ( program = ${program:singlequote} ) AND ( message LIKE '%$filter1%' ) ORDER BY logdatetime DESC LIMIT 5000",
"refId": "A",
"selectedFormat": 4
}
],
"title": "Structured logs output",
"transformations": [
{
"id": "extractFields",
"options": {
"format": "json",
"keepTime": false,
"replace": true,
"source": "message"
}
},
{
"id": "calculateField",
"options": {
"alias": "Context",
"mode": "reduceRow",
"reduce": {
"include": [
"startTime",
"endTime",
"latency",
"remoteAddress",
"method",
"path",
"bodySize",
"messageId",
"body",
"userId",
"error",
"updateId",
"statusCode",
"handlerCount",
"minRequests",
"counterId"
],
"reducer": "uniqueValues"
}
}
},
{
"id": "organize",
"options": {
"excludeByName": {
"body": true,
"bodySize": true,
"counterId": true,
"endTime": true,
"error": true,
"handlerCount": true,
"latency": true,
"messageId": true,
"method": true,
"minRequests": true,
"path": true,
"remoteAddress": true,
"startTime": true,
"statusCode": true,
"updateId": true,
"user": true,
"userId": true
},
"indexByName": {
"Context": 23,
"account": 3,
"body": 14,
"bodySize": 12,
"connection": 2,
"counterId": 21,
"endTime": 7,
"error": 17,
"handler": 4,
"handlerCount": 20,
"latency": 8,
"level": 1,
"messageId": 13,
"method": 10,
"minRequests": 22,
"msg": 5,
"path": 11,
"remoteAddress": 9,
"startTime": 6,
"statusCode": 19,
"time": 0,
"updateId": 18,
"user": 15,
"userId": 16
},
"renameByName": {
"account": "Account",
"body": "Body",
"connection": "Connection",
"error": "Error",
"handler": "Handler",
"handlerCount": "Handler Count",
"level": "Priority",
"method": "Method",
"msg": "Message",
"path": "Path",
"statusCode": "Status Code",
"time": "TS"
}
}
}
],
"type": "table"
},
{
"collapsed": true,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 37
},
"id": 1,
"panels": [
{
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": "f70e773b-26c3-4b74-9a45-291fab27524b"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "logdatetime"
},
"properties": [
{
"id": "custom.width",
"value": 196
}
]
},
{
"matcher": {
"id": "byName",
"options": "host"
},
"properties": [
{
"id": "custom.width",
"value": 132
}
]
},
{
"matcher": {
"id": "byName",
"options": "program"
},
"properties": [
{
"id": "custom.width",
"value": 210
}
]
},
{
"matcher": {
"id": "byName",
"options": "priority"
},
"properties": [
{
"id": "custom.width",
"value": 71
}
]
},
{
"matcher": {
"id": "byName",
"options": "message"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"type": "json-view"
}
},
{
"id": "custom.inspect",
"value": true
}
]
}
]
},
"gridPos": {
"h": 27,
"w": 24,
"x": 0,
"y": 11
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"sortBy": []
},
"pluginVersion": "10.1.5",
"targets": [
{
"builderOptions": {
"database": "default",
"fields": [
"host",
"program",
"logdatetime",
"priority",
"message"
],
"filters": [
{
"condition": "AND",
"filterType": "custom",
"key": "logdatetime",
"operator": "WITH IN DASHBOARD TIME RANGE",
"type": "DateTime",
"value": "TODAY"
},
{
"condition": "AND",
"filterType": "custom",
"key": "program",
"operator": "=",
"type": "String",
"value": "${program:singlequote}"
},
{
"condition": "AND",
"filterType": "custom",
"key": "message",
"operator": "LIKE",
"type": "String",
"value": "$filter1"
}
],
"limit": 5000,
"metrics": [],
"mode": "list",
"orderBy": [
{
"dir": "DESC",
"name": "logdatetime"
}
],
"table": "log_docker_raw",
"timeField": "logdatetime",
"timeFieldType": "DateTime"
},
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": "f70e773b-26c3-4b74-9a45-291fab27524b"
},
"format": 1,
"meta": {
"builderOptions": {
"fields": [],
"limit": 100,
"mode": "list"
}
},
"queryType": "builder",
"rawSql": "SELECT \"host\", \"program\", \"logdatetime\", \"priority\", \"message\" FROM \"default\".\"log_docker_raw\" WHERE ( logdatetime >= $__fromTime AND logdatetime <= $__toTime ) AND ( program = ${program:singlequote} ) AND ( message LIKE '%$filter1%' ) ORDER BY logdatetime DESC LIMIT 5000",
"refId": "A",
"selectedFormat": 4
}
],
"title": "Panel Title",
"type": "table"
}
],
"title": "Logs",
"type": "row"
}
],
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "telegram-mg_telegram-1",
"value": "telegram-mg_telegram-1"
},
"datasource": {
"type": "grafana-clickhouse-datasource",
"uid": "f70e773b-26c3-4b74-9a45-291fab27524b"
},
"definition": "SELECT DISTINCT program FROM default.log_docker_raw WHERE logdatetime > now() - interval 6 hours;",
"hide": 0,
"includeAll": false,
"label": "Program",
"multi": false,
"name": "program",
"options": [],
"query": "SELECT DISTINCT program FROM default.log_docker_raw WHERE logdatetime > now() - interval 6 hours;",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"type": "query"
},
{
"current": {
"selected": false,
"text": "DEBUG",
"value": "DEBUG"
},
"hide": 0,
"includeAll": false,
"label": "Priority",
"multi": false,
"name": "priority",
"options": [
{
"selected": false,
"text": ".*",
"value": ".*"
},
{
"selected": true,
"text": "DEBUG",
"value": "DEBUG"
},
{
"selected": false,
"text": "INFO",
"value": "INFO"
},
{
"selected": false,
"text": "WARN",
"value": "WARN"
},
{
"selected": false,
"text": "ERROR",
"value": "ERROR"
}
],
"query": ".*,DEBUG,INFO,WARN,ERROR",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
},
{
"current": {
"selected": false,
"text": "",
"value": ""
},
"hide": 0,
"label": "Filter #1",
"name": "filter1",
"options": [
{
"selected": false,
"text": "*",
"value": "*"
}
],
"query": "",
"skipUrlSync": false,
"type": "textbox"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Logs + Structured via transforms",
"uid": "ea7584d7-a2bd-406f-a15e-59b4906bca55",
"version": 19,
"weekStart": ""
}