{ "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": "ef7b4f5b-7011-411b-88c2-4b2681b8ddbe" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "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" }, { "condition": "AND", "filterType": "custom", "key": "message", "operator": "LIKE", "type": "String", "value": "$filter2" }, { "condition": "AND", "filterType": "custom", "key": "message", "operator": "LIKE", "type": "String", "value": "$filter3" } ], "limit": 5000, "metrics": [ { "aggregation": "count", "alias": "", "field": "" } ], "mode": "trend", "orderBy": [], "table": "log_docker_raw", "timeField": "logdatetime", "timeFieldType": "DateTime" }, "datasource": { "type": "grafana-clickhouse-datasource", "uid": "ef7b4f5b-7011-411b-88c2-4b2681b8ddbe" }, "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%' ) AND ( message LIKE '%$filter2%' ) AND ( message LIKE '%$filter3%' ) GROUP BY time ORDER BY time ASC LIMIT 5000", "refId": "A" } ], "title": "Total messages", "type": "timeseries" }, { "datasource": { "type": "grafana-clickhouse-datasource", "uid": "ef7b4f5b-7011-411b-88c2-4b2681b8ddbe" }, "fieldConfig": { "defaults": { "color": { "fixedColor": "red", "mode": "fixed" }, "custom": { "axisBorderShow": false, "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": "red", "value": null } ] } }, "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": "ef7b4f5b-7011-411b-88c2-4b2681b8ddbe" }, "format": 1, "meta": { "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" } }, "queryType": "sql", "rawSql": "SELECT $__timeInterval(logdatetime) as time, count() FROM \"default\".\"log_docker_raw\" WHERE $__timeFilter(logdatetime) AND ( logdatetime >= $__fromTime AND logdatetime <= $__toTime ) AND ( visitParamExtractString(message, 'level') = 'ERROR' ) AND ( program = ${program:singlequote} ) AND ( message LIKE '%$filter1%' ) AND ( message LIKE '%$filter2%' ) AND ( message LIKE '%$filter3%' ) GROUP BY time ORDER BY time ASC LIMIT 5000\n\n", "refId": "A", "selectedFormat": 4 } ], "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": "ef7b4f5b-7011-411b-88c2-4b2681b8ddbe" }, "fieldConfig": { "defaults": { "color": { "mode": "continuous-GrYlRd" }, "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "inspect": false }, "displayName": "Priority", "mappings": [ { "options": { "DEBUG": { "color": "dark-green", "index": 0 }, "ERROR": { "color": "dark-red", "index": 3 }, "INFO": { "color": "dark-blue", "index": 1 }, "WARN": { "color": "dark-yellow", "index": 2 } }, "type": "value" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "string" }, "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": 1307 }, { "id": "custom.inspect", "value": true } ] }, { "matcher": { "id": "byName", "options": "Message" }, "properties": [ { "id": "custom.width", "value": 1466 } ] }, { "matcher": { "id": "byName", "options": "Context" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "color-text" } }, { "id": "custom.inspect", "value": true } ] }, { "matcher": { "id": "byName", "options": "connection" }, "properties": [ { "id": "custom.width", "value": 220 } ] }, { "matcher": { "id": "byName", "options": "account" }, "properties": [ { "id": "custom.width", "value": 223 } ] }, { "matcher": { "id": "byName", "options": "Raw" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "json-view" } }, { "id": "custom.inspect", "value": true } ] }, { "matcher": { "id": "byName", "options": "Message" }, "properties": [ { "id": "custom.inspect", "value": true } ] }, { "matcher": { "id": "byName", "options": "Priority" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "color-text" } } ] }, { "matcher": { "id": "byName", "options": "Handler" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "json-view" } } ] } ] }, "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.2.1", "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": "ef7b4f5b-7011-411b-88c2-4b2681b8ddbe" }, "format": 1, "meta": { "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" } }, "queryType": "sql", "rawSql": "SELECT \n visitParamExtractString(message, 'time') as time,\n visitParamExtractString(message, 'level') as level,\n visitParamExtractString(message, 'connection') as connection,\n visitParamExtractString(message, 'account') as account,\n visitParamExtractString(message, 'handler') as handler,\n visitParamExtractString(message, 'msg') as msg,\n mapFilter((k, v) -> k NOT IN ('time', 'level', 'connection', 'account', 'handler', 'msg'), JSONExtract(message, 'Map(String, String)')) as raw\nFROM \"default\".\"log_docker_raw\"\nWHERE ( logdatetime >= $__fromTime AND logdatetime <= $__toTime )\n AND IF('Any' IN (${priority}), 1 = 1, level IN (${priority}))\n AND ( program = ${program:singlequote} )\n AND ( message LIKE '%$filter1%' )\n AND ( message LIKE '%$filter2%' )\n AND ( message LIKE '%$filter3%' )\n AND ( msg <> '' )\nORDER BY logdatetime DESC LIMIT 5000", "refId": "A", "selectedFormat": 4 } ], "title": "Structured logs output", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "indexByName": {}, "renameByName": { "account": "Account", "connection": "Connection", "handler": "Handler", "level": "Priority", "msg": "Message", "raw": "Raw", "time": "TS" } } } ], "type": "table" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 37 }, "id": 1, "panels": [ { "datasource": { "type": "grafana-clickhouse-datasource", "uid": "ef7b4f5b-7011-411b-88c2-4b2681b8ddbe" }, "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": "ef7b4f5b-7011-411b-88c2-4b2681b8ddbe" }, "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, "tags": [], "templating": { "list": [ { "current": { "selected": false, "text": "telegram-mg_telegram-1", "value": "telegram-mg_telegram-1" }, "datasource": { "type": "grafana-clickhouse-datasource", "uid": "ef7b4f5b-7011-411b-88c2-4b2681b8ddbe" }, "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": true, "text": [ "Any" ], "value": [ "Any" ] }, "hide": 0, "includeAll": false, "label": "Priority", "multi": true, "name": "priority", "options": [ { "selected": true, "text": "Any", "value": "Any" }, { "selected": false, "text": "DEBUG", "value": "DEBUG" }, { "selected": false, "text": "INFO", "value": "INFO" }, { "selected": false, "text": "WARN", "value": "WARN" }, { "selected": false, "text": "ERROR", "value": "ERROR" } ], "query": "Any,DEBUG,INFO,WARN,ERROR", "queryValue": "", "skipUrlSync": false, "type": "custom" }, { "current": { "selected": false, "text": "", "value": "" }, "hide": 0, "label": "Filter #1", "name": "filter1", "options": [ { "selected": true, "text": "*", "value": "*" } ], "query": "", "skipUrlSync": false, "type": "textbox" }, { "current": {}, "hide": 0, "name": "filter2", "options": [], "query": "", "skipUrlSync": false, "type": "textbox" }, { "current": {}, "hide": 0, "name": "filter3", "options": [], "query": "", "skipUrlSync": false, "type": "textbox" } ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "Logs + Structured via Query", "uid": "b445eb43-25d1-4112-b628-3b8acf037f10", "version": 6, "weekStart": "" }