1942 lines
61 KiB
JSON
1942 lines
61 KiB
JSON
{
|
|
"apiVersion": "dashboard.grafana.app/v2",
|
|
"kind": "Dashboard",
|
|
"metadata": {
|
|
"name": "grOSx5-Mz",
|
|
"generation": 10,
|
|
"creationTimestamp": "2023-09-28T15:24:35Z",
|
|
"labels": {},
|
|
"annotations": {}
|
|
},
|
|
"spec": {
|
|
"annotations": [
|
|
{
|
|
"kind": "AnnotationQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "grafana",
|
|
"version": "v0",
|
|
"spec": {
|
|
"limit": 100,
|
|
"matchAny": false,
|
|
"tags": [],
|
|
"type": "dashboard"
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "grafana-1"
|
|
}
|
|
},
|
|
"enable": true,
|
|
"hide": true,
|
|
"iconColor": "rgba(0, 211, 255, 1)",
|
|
"name": "Annotations & Alerts",
|
|
"builtIn": true
|
|
}
|
|
}
|
|
],
|
|
"cursorSync": "Off",
|
|
"editable": true,
|
|
"elements": {
|
|
"panel-14": {
|
|
"kind": "Panel",
|
|
"spec": {
|
|
"id": 14,
|
|
"title": "Attacks Map",
|
|
"description": "",
|
|
"links": [],
|
|
"data": {
|
|
"kind": "QueryGroup",
|
|
"spec": {
|
|
"queries": [
|
|
{
|
|
"kind": "PanelQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "mysql",
|
|
"version": "v0",
|
|
"spec": {
|
|
"editorMode": "code",
|
|
"format": "table",
|
|
"group": [
|
|
{
|
|
"params": [
|
|
"ip"
|
|
],
|
|
"type": "column"
|
|
}
|
|
],
|
|
"metricColumn": "none",
|
|
"rawQuery": true,
|
|
"rawSql": "SELECT\n timestamp AS \"time\",\n latitude,\n longitude,\n ip,\n city,\n country,\n isp,\n count(ip) AS \"attacks\"\nFROM connections\nWHERE\n $__timeFilter(timestamp)\nAND\n latitude <> ''\nAND\n longitude <> ''\nGROUP BY ip\nORDER BY timestamp",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"lat"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"lat"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"params": [
|
|
"lon"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"lon"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"params": [
|
|
"ip"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"ip"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"params": [
|
|
"country"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"country"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"params": [
|
|
"value"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"count"
|
|
],
|
|
"type": "aggregate"
|
|
},
|
|
{
|
|
"params": [
|
|
"attacks"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
]
|
|
],
|
|
"sql": {
|
|
"columns": [
|
|
{
|
|
"parameters": [],
|
|
"type": "function"
|
|
}
|
|
],
|
|
"groupBy": [
|
|
{
|
|
"property": {
|
|
"type": "string"
|
|
},
|
|
"type": "groupBy"
|
|
}
|
|
],
|
|
"limit": 50
|
|
},
|
|
"table": "locations",
|
|
"timeColumn": "timestamp",
|
|
"timeColumnType": "timestamp",
|
|
"where": [
|
|
{
|
|
"name": "$__timeFilter",
|
|
"params": [],
|
|
"type": "macro"
|
|
}
|
|
]
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "mysql-1"
|
|
}
|
|
},
|
|
"refId": "A",
|
|
"hidden": false
|
|
}
|
|
}
|
|
],
|
|
"transformations": [],
|
|
"queryOptions": {}
|
|
}
|
|
},
|
|
"vizConfig": {
|
|
"kind": "VizConfig",
|
|
"group": "geomap",
|
|
"version": "13.1.0",
|
|
"spec": {
|
|
"options": {
|
|
"basemap": {
|
|
"config": {},
|
|
"name": "Layer 0",
|
|
"type": "default"
|
|
},
|
|
"controls": {
|
|
"mouseWheelZoom": false,
|
|
"showAttribution": false,
|
|
"showDebug": false,
|
|
"showMeasure": false,
|
|
"showScale": false,
|
|
"showZoom": true
|
|
},
|
|
"layers": [
|
|
{
|
|
"config": {
|
|
"showLegend": true,
|
|
"style": {
|
|
"color": {
|
|
"field": "attacks",
|
|
"fixed": "red"
|
|
},
|
|
"opacity": 0.4,
|
|
"rotation": {
|
|
"fixed": 0,
|
|
"max": 360,
|
|
"min": -360,
|
|
"mode": "mod"
|
|
},
|
|
"size": {
|
|
"field": "attacks",
|
|
"fixed": 1,
|
|
"max": 10,
|
|
"min": 2
|
|
},
|
|
"symbol": {
|
|
"fixed": "img/icons/marker/circle.svg",
|
|
"mode": "fixed"
|
|
},
|
|
"text": {
|
|
"field": "ip",
|
|
"fixed": "",
|
|
"mode": "fixed"
|
|
},
|
|
"textConfig": {
|
|
"fontSize": 12,
|
|
"offsetX": 0,
|
|
"offsetY": 0,
|
|
"textAlign": "center",
|
|
"textBaseline": "middle"
|
|
}
|
|
}
|
|
},
|
|
"location": {
|
|
"latitude": "latitude",
|
|
"longitude": "longitude",
|
|
"mode": "auto"
|
|
},
|
|
"name": "Mark",
|
|
"tooltip": true,
|
|
"type": "markers"
|
|
}
|
|
],
|
|
"tooltip": {
|
|
"mode": "details"
|
|
},
|
|
"view": {
|
|
"allLayers": true,
|
|
"dashboardVariable": false,
|
|
"id": "coords",
|
|
"lat": 30,
|
|
"lon": 14,
|
|
"noRepeat": false,
|
|
"zoom": 2
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "none",
|
|
"thresholds": {
|
|
"mode": "percentage",
|
|
"steps": [
|
|
{
|
|
"value": 0,
|
|
"color": "green"
|
|
}
|
|
]
|
|
},
|
|
"color": {
|
|
"mode": "continuous-GrYlRd"
|
|
},
|
|
"custom": {
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"panel-18": {
|
|
"kind": "Panel",
|
|
"spec": {
|
|
"id": 18,
|
|
"title": "Top IPs",
|
|
"description": "",
|
|
"links": [],
|
|
"data": {
|
|
"kind": "QueryGroup",
|
|
"spec": {
|
|
"queries": [
|
|
{
|
|
"kind": "PanelQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "mysql",
|
|
"version": "v0",
|
|
"spec": {
|
|
"editorMode": "code",
|
|
"format": "table",
|
|
"group": [
|
|
{
|
|
"params": [
|
|
"ip"
|
|
],
|
|
"type": "column"
|
|
}
|
|
],
|
|
"metricColumn": "ip",
|
|
"rawQuery": true,
|
|
"rawSql": "SELECT\n timestamp AS \"time\",\n ip AS \"IP\",\n count(ip) AS \"Attacks\"\nFROM connections\nWHERE\n $__timeFilter(timestamp)\nGROUP BY ip\nORDER BY timestamp",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"cc"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"Country"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"params": [
|
|
"value"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"count"
|
|
],
|
|
"type": "aggregate"
|
|
},
|
|
{
|
|
"params": [
|
|
"Attacks"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
]
|
|
],
|
|
"sql": {
|
|
"columns": [
|
|
{
|
|
"parameters": [],
|
|
"type": "function"
|
|
}
|
|
],
|
|
"groupBy": [
|
|
{
|
|
"property": {
|
|
"type": "string"
|
|
},
|
|
"type": "groupBy"
|
|
}
|
|
],
|
|
"limit": 50
|
|
},
|
|
"table": "locations",
|
|
"timeColumn": "timestamp",
|
|
"timeColumnType": "timestamp",
|
|
"where": [
|
|
{
|
|
"name": "$__timeFilter",
|
|
"params": [],
|
|
"type": "macro"
|
|
}
|
|
]
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "mysql-1"
|
|
}
|
|
},
|
|
"refId": "A",
|
|
"hidden": false
|
|
}
|
|
}
|
|
],
|
|
"transformations": [],
|
|
"queryOptions": {}
|
|
}
|
|
},
|
|
"vizConfig": {
|
|
"kind": "VizConfig",
|
|
"group": "table",
|
|
"version": "13.1.0",
|
|
"spec": {
|
|
"options": {
|
|
"cellHeight": "sm",
|
|
"showHeader": false,
|
|
"sortBy": [
|
|
{
|
|
"desc": true,
|
|
"displayName": "Attacks"
|
|
}
|
|
]
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"value": 0,
|
|
"color": "green"
|
|
},
|
|
{
|
|
"value": 80,
|
|
"color": "red"
|
|
}
|
|
]
|
|
},
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"custom": {
|
|
"align": "left",
|
|
"cellOptions": {
|
|
"type": "auto"
|
|
},
|
|
"footer": {
|
|
"reducers": []
|
|
},
|
|
"inspect": false
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byType",
|
|
"options": "time"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.hideFrom.viz",
|
|
"value": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Attacks"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "IP"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "links",
|
|
"value": [
|
|
{
|
|
"targetBlank": true,
|
|
"title": "",
|
|
"url": "https://iplookup.fr/${__data.fields.IP}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"panel-20": {
|
|
"kind": "Panel",
|
|
"spec": {
|
|
"id": 20,
|
|
"title": "Connections per hour",
|
|
"description": "",
|
|
"links": [],
|
|
"data": {
|
|
"kind": "QueryGroup",
|
|
"spec": {
|
|
"queries": [
|
|
{
|
|
"kind": "PanelQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "mysql",
|
|
"version": "v0",
|
|
"spec": {
|
|
"editorMode": "code",
|
|
"format": "time_series",
|
|
"group": [
|
|
{
|
|
"params": [
|
|
"starttime"
|
|
],
|
|
"type": "column"
|
|
}
|
|
],
|
|
"metricColumn": "id",
|
|
"rawQuery": true,
|
|
"rawSql": "SELECT\n $__timeGroupAlias(timestamp, '1h'),\nCOUNT(ip) AS value\nFROM\n connections\nWHERE\n $__timeFilter(timestamp)\nGROUP BY time\n ORDER BY timestamp ASC",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"id"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"count"
|
|
],
|
|
"type": "aggregate"
|
|
},
|
|
{
|
|
"params": [
|
|
"id"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
]
|
|
],
|
|
"sql": {
|
|
"columns": [
|
|
{
|
|
"parameters": [],
|
|
"type": "function"
|
|
}
|
|
],
|
|
"groupBy": [
|
|
{
|
|
"property": {
|
|
"type": "string"
|
|
},
|
|
"type": "groupBy"
|
|
}
|
|
],
|
|
"limit": 50
|
|
},
|
|
"table": "sessions",
|
|
"timeColumn": "starttime",
|
|
"timeColumnType": "datetime",
|
|
"where": [
|
|
{
|
|
"name": "$__timeFilter",
|
|
"params": [],
|
|
"type": "macro"
|
|
},
|
|
{
|
|
"name": "",
|
|
"params": [
|
|
"value",
|
|
"=",
|
|
"value"
|
|
],
|
|
"type": "expression"
|
|
}
|
|
]
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "mysql-1"
|
|
}
|
|
},
|
|
"refId": "A",
|
|
"hidden": false
|
|
}
|
|
}
|
|
],
|
|
"transformations": [],
|
|
"queryOptions": {}
|
|
}
|
|
},
|
|
"vizConfig": {
|
|
"kind": "VizConfig",
|
|
"group": "timeseries",
|
|
"version": "13.1.0",
|
|
"spec": {
|
|
"options": {
|
|
"annotations": {
|
|
"clustering": -1,
|
|
"multiLane": false
|
|
},
|
|
"legend": {
|
|
"calcs": [],
|
|
"displayMode": "list",
|
|
"enableFacetedFilter": false,
|
|
"overflow": "ellipsis",
|
|
"placement": "bottom",
|
|
"showLegend": false
|
|
},
|
|
"tooltip": {
|
|
"hideZeros": false,
|
|
"mode": "single",
|
|
"sort": "none"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"value": 0,
|
|
"color": "green"
|
|
},
|
|
{
|
|
"value": 80,
|
|
"color": "red"
|
|
}
|
|
]
|
|
},
|
|
"color": {
|
|
"mode": "continuous-GrYlRd"
|
|
},
|
|
"custom": {
|
|
"axisBorderShow": false,
|
|
"axisCenteredZero": false,
|
|
"axisColorMode": "text",
|
|
"axisLabel": "",
|
|
"axisPlacement": "auto",
|
|
"barAlignment": 0,
|
|
"barWidthFactor": 0.6,
|
|
"drawStyle": "bars",
|
|
"fillOpacity": 90,
|
|
"gradientMode": "scheme",
|
|
"hideFrom": {
|
|
"legend": false,
|
|
"tooltip": false,
|
|
"viz": false
|
|
},
|
|
"insertNulls": false,
|
|
"lineInterpolation": "linear",
|
|
"lineWidth": 1,
|
|
"pointSize": 5,
|
|
"scaleDistribution": {
|
|
"type": "linear"
|
|
},
|
|
"showPoints": "auto",
|
|
"showValues": false,
|
|
"spanNulls": false,
|
|
"stacking": {
|
|
"group": "A",
|
|
"mode": "none"
|
|
},
|
|
"thresholdsStyle": {
|
|
"mode": "off"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"panel-25": {
|
|
"kind": "Panel",
|
|
"spec": {
|
|
"id": 25,
|
|
"title": "Connections",
|
|
"description": "",
|
|
"links": [],
|
|
"data": {
|
|
"kind": "QueryGroup",
|
|
"spec": {
|
|
"queries": [
|
|
{
|
|
"kind": "PanelQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "mysql",
|
|
"version": "v0",
|
|
"spec": {
|
|
"editorMode": "code",
|
|
"format": "time_series",
|
|
"group": [],
|
|
"metricColumn": "id",
|
|
"rawQuery": true,
|
|
"rawSql": "SELECT\n$__timeGroupAlias(timestamp, '1m'),\nCOUNT(ip) AS value\nFROM\nconnections\nWHERE\n$__timeFilter(timestamp)\nGROUP BY DATE(timestamp), HOUR(timestamp), MINUTE(timestamp)",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"id"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"count"
|
|
],
|
|
"type": "aggregate"
|
|
},
|
|
{
|
|
"params": [
|
|
"id"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
]
|
|
],
|
|
"sql": {
|
|
"columns": [
|
|
{
|
|
"parameters": [],
|
|
"type": "function"
|
|
}
|
|
],
|
|
"groupBy": [
|
|
{
|
|
"property": {
|
|
"type": "string"
|
|
},
|
|
"type": "groupBy"
|
|
}
|
|
],
|
|
"limit": 50
|
|
},
|
|
"table": "sessions",
|
|
"timeColumn": "starttime",
|
|
"timeColumnType": "datetime",
|
|
"where": [
|
|
{
|
|
"name": "$__timeFilter",
|
|
"params": [],
|
|
"type": "macro"
|
|
}
|
|
]
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "mysql-1"
|
|
}
|
|
},
|
|
"refId": "A",
|
|
"hidden": false
|
|
}
|
|
}
|
|
],
|
|
"transformations": [],
|
|
"queryOptions": {}
|
|
}
|
|
},
|
|
"vizConfig": {
|
|
"kind": "VizConfig",
|
|
"group": "stat",
|
|
"version": "13.1.0",
|
|
"spec": {
|
|
"options": {
|
|
"colorMode": "none",
|
|
"graphMode": "none",
|
|
"justifyMode": "center",
|
|
"orientation": "auto",
|
|
"percentChangeColorMode": "standard",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"sum"
|
|
],
|
|
"fields": "/^value$/",
|
|
"values": false
|
|
},
|
|
"showPercentChange": false,
|
|
"textMode": "auto",
|
|
"wideLayout": true
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"value": 0,
|
|
"color": "green"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"panel-27": {
|
|
"kind": "Panel",
|
|
"spec": {
|
|
"id": 27,
|
|
"title": "Top Countries",
|
|
"description": "",
|
|
"links": [],
|
|
"data": {
|
|
"kind": "QueryGroup",
|
|
"spec": {
|
|
"queries": [
|
|
{
|
|
"kind": "PanelQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "mysql",
|
|
"version": "v0",
|
|
"spec": {
|
|
"editorMode": "code",
|
|
"format": "table",
|
|
"group": [
|
|
{
|
|
"params": [
|
|
"country"
|
|
],
|
|
"type": "column"
|
|
}
|
|
],
|
|
"metricColumn": "country",
|
|
"rawQuery": true,
|
|
"rawSql": "SELECT\n timestamp AS \"time\",\n country AS \"Country\",\n count(ip) AS \"Attacks\"\nFROM connections\nWHERE\n $__timeFilter(timestamp)\nGROUP BY country\nORDER BY timestamp",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"id"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"count"
|
|
],
|
|
"type": "aggregate"
|
|
},
|
|
{
|
|
"params": [
|
|
"Attacks"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
]
|
|
],
|
|
"sql": {
|
|
"columns": [
|
|
{
|
|
"parameters": [],
|
|
"type": "function"
|
|
}
|
|
],
|
|
"groupBy": [
|
|
{
|
|
"property": {
|
|
"type": "string"
|
|
},
|
|
"type": "groupBy"
|
|
}
|
|
],
|
|
"limit": 50
|
|
},
|
|
"table": "locations",
|
|
"timeColumn": "timestamp",
|
|
"timeColumnType": "timestamp",
|
|
"where": [
|
|
{
|
|
"name": "$__timeFilter",
|
|
"params": [],
|
|
"type": "macro"
|
|
}
|
|
]
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "mysql-1"
|
|
}
|
|
},
|
|
"refId": "A",
|
|
"hidden": false
|
|
}
|
|
}
|
|
],
|
|
"transformations": [],
|
|
"queryOptions": {}
|
|
}
|
|
},
|
|
"vizConfig": {
|
|
"kind": "VizConfig",
|
|
"group": "table",
|
|
"version": "13.1.0",
|
|
"spec": {
|
|
"options": {
|
|
"cellHeight": "sm",
|
|
"showHeader": false,
|
|
"sortBy": [
|
|
{
|
|
"desc": true,
|
|
"displayName": "Attacks"
|
|
}
|
|
]
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"value": 0,
|
|
"color": "green"
|
|
},
|
|
{
|
|
"value": 80,
|
|
"color": "red"
|
|
}
|
|
]
|
|
},
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"custom": {
|
|
"align": "left",
|
|
"cellOptions": {
|
|
"type": "auto"
|
|
},
|
|
"footer": {
|
|
"reducers": []
|
|
},
|
|
"inspect": false
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byType",
|
|
"options": "time"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.hideFrom.viz",
|
|
"value": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Attacks"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 80
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Country"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "links",
|
|
"value": [
|
|
{
|
|
"title": "Country",
|
|
"url": "d/grOSx5-Mz/sshtarpit?var-Country=${__data.fields.Country}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"panel-29": {
|
|
"kind": "Panel",
|
|
"spec": {
|
|
"id": 29,
|
|
"title": "Top ISPs",
|
|
"description": "",
|
|
"links": [],
|
|
"data": {
|
|
"kind": "QueryGroup",
|
|
"spec": {
|
|
"queries": [
|
|
{
|
|
"kind": "PanelQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "mysql",
|
|
"version": "v0",
|
|
"spec": {
|
|
"editorMode": "code",
|
|
"format": "table",
|
|
"group": [
|
|
{
|
|
"params": [
|
|
"isp"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"country"
|
|
],
|
|
"type": "column"
|
|
}
|
|
],
|
|
"metricColumn": "isp",
|
|
"rawQuery": true,
|
|
"rawSql": "SELECT\n timestamp AS \"time\",\n isp AS \"ISP\",\n count(ip) AS \"Attacks\"\nFROM connections\nWHERE\n $__timeFilter(timestamp)\nGROUP BY isp\nORDER BY timestamp",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"Country"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"Country"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"params": [
|
|
"value"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"count"
|
|
],
|
|
"type": "aggregate"
|
|
},
|
|
{
|
|
"params": [
|
|
"Attacks"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
]
|
|
],
|
|
"sql": {
|
|
"columns": [
|
|
{
|
|
"parameters": [],
|
|
"type": "function"
|
|
}
|
|
],
|
|
"groupBy": [
|
|
{
|
|
"property": {
|
|
"type": "string"
|
|
},
|
|
"type": "groupBy"
|
|
}
|
|
],
|
|
"limit": 50
|
|
},
|
|
"table": "locations",
|
|
"timeColumn": "timestamp",
|
|
"timeColumnType": "timestamp",
|
|
"where": [
|
|
{
|
|
"name": "$__timeFilter",
|
|
"params": [],
|
|
"type": "macro"
|
|
}
|
|
]
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "mysql-1"
|
|
}
|
|
},
|
|
"refId": "A",
|
|
"hidden": false
|
|
}
|
|
}
|
|
],
|
|
"transformations": [],
|
|
"queryOptions": {}
|
|
}
|
|
},
|
|
"vizConfig": {
|
|
"kind": "VizConfig",
|
|
"group": "table",
|
|
"version": "13.1.0",
|
|
"spec": {
|
|
"options": {
|
|
"cellHeight": "sm",
|
|
"showHeader": false,
|
|
"sortBy": [
|
|
{
|
|
"desc": true,
|
|
"displayName": "Attacks"
|
|
}
|
|
]
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"value": 0,
|
|
"color": "green"
|
|
}
|
|
]
|
|
},
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"custom": {
|
|
"align": "left",
|
|
"cellOptions": {
|
|
"type": "auto"
|
|
},
|
|
"footer": {
|
|
"reducers": []
|
|
},
|
|
"inspect": false
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byType",
|
|
"options": "time"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.hideFrom.viz",
|
|
"value": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Attacks"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "ISP"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "links",
|
|
"value": [
|
|
{
|
|
"title": "ISP",
|
|
"url": "d/grOSx5-Mz/sshtarpit?var-ISP=${__data.fields.ISP}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"panel-37": {
|
|
"kind": "Panel",
|
|
"spec": {
|
|
"id": 37,
|
|
"title": "Top IPs Details",
|
|
"description": "",
|
|
"links": [],
|
|
"data": {
|
|
"kind": "QueryGroup",
|
|
"spec": {
|
|
"queries": [
|
|
{
|
|
"kind": "PanelQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "mysql",
|
|
"version": "v0",
|
|
"spec": {
|
|
"editorMode": "code",
|
|
"format": "table",
|
|
"group": [
|
|
{
|
|
"params": [
|
|
"isp"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"country"
|
|
],
|
|
"type": "column"
|
|
}
|
|
],
|
|
"metricColumn": "isp",
|
|
"rawQuery": true,
|
|
"rawSql": "SELECT\n timestamp AS \"time\",\n ip AS \"IP\",\n country AS \"Country\",\n city AS \"City\",\n isp AS \"ISP\",\n count(ip) AS \"Attacks\"\nFROM connections\nWHERE\n $__timeFilter(timestamp)\nGROUP BY ip\nORDER BY timestamp",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"Country"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"Country"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"params": [
|
|
"value"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"count"
|
|
],
|
|
"type": "aggregate"
|
|
},
|
|
{
|
|
"params": [
|
|
"Attacks"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
]
|
|
],
|
|
"sql": {
|
|
"columns": [
|
|
{
|
|
"parameters": [],
|
|
"type": "function"
|
|
}
|
|
],
|
|
"groupBy": [
|
|
{
|
|
"property": {
|
|
"type": "string"
|
|
},
|
|
"type": "groupBy"
|
|
}
|
|
],
|
|
"limit": 50
|
|
},
|
|
"table": "locations",
|
|
"timeColumn": "timestamp",
|
|
"timeColumnType": "timestamp",
|
|
"where": [
|
|
{
|
|
"name": "$__timeFilter",
|
|
"params": [],
|
|
"type": "macro"
|
|
}
|
|
]
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "mysql-1"
|
|
}
|
|
},
|
|
"refId": "A",
|
|
"hidden": false
|
|
}
|
|
}
|
|
],
|
|
"transformations": [],
|
|
"queryOptions": {}
|
|
}
|
|
},
|
|
"vizConfig": {
|
|
"kind": "VizConfig",
|
|
"group": "table",
|
|
"version": "13.1.0",
|
|
"spec": {
|
|
"options": {
|
|
"cellHeight": "sm",
|
|
"showHeader": true,
|
|
"sortBy": [
|
|
{
|
|
"desc": true,
|
|
"displayName": "Attacks"
|
|
}
|
|
]
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "none",
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"value": 0,
|
|
"color": "green"
|
|
}
|
|
]
|
|
},
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"custom": {
|
|
"align": "left",
|
|
"cellOptions": {
|
|
"type": "auto"
|
|
},
|
|
"footer": {
|
|
"reducers": []
|
|
},
|
|
"inspect": false
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Attacks"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "IP"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "links",
|
|
"value": [
|
|
{
|
|
"targetBlank": true,
|
|
"title": "",
|
|
"url": "https://iplookup.fr/${__data.fields.IP}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "time"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.hideFrom.viz",
|
|
"value": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"panel-38": {
|
|
"kind": "Panel",
|
|
"spec": {
|
|
"id": 38,
|
|
"title": "Top ISPs by Country",
|
|
"description": "",
|
|
"links": [],
|
|
"data": {
|
|
"kind": "QueryGroup",
|
|
"spec": {
|
|
"queries": [
|
|
{
|
|
"kind": "PanelQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "mysql",
|
|
"version": "v0",
|
|
"spec": {
|
|
"editorMode": "code",
|
|
"format": "table",
|
|
"group": [
|
|
{
|
|
"params": [
|
|
"isp"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"country"
|
|
],
|
|
"type": "column"
|
|
}
|
|
],
|
|
"metricColumn": "isp",
|
|
"rawQuery": true,
|
|
"rawSql": "SELECT\n timestamp AS \"time\",\n isp AS \"ISP\",\n country AS \"Country\",\n count(ip) AS \"Attacks\"\nFROM connections\nWHERE\n $__timeFilter(timestamp)\nGROUP BY isp, country\nORDER BY timestamp",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"Country"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"Country"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"params": [
|
|
"value"
|
|
],
|
|
"type": "column"
|
|
},
|
|
{
|
|
"params": [
|
|
"count"
|
|
],
|
|
"type": "aggregate"
|
|
},
|
|
{
|
|
"params": [
|
|
"Attacks"
|
|
],
|
|
"type": "alias"
|
|
}
|
|
]
|
|
],
|
|
"sql": {
|
|
"columns": [
|
|
{
|
|
"parameters": [],
|
|
"type": "function"
|
|
}
|
|
],
|
|
"groupBy": [
|
|
{
|
|
"property": {
|
|
"type": "string"
|
|
},
|
|
"type": "groupBy"
|
|
}
|
|
],
|
|
"limit": 50
|
|
},
|
|
"table": "locations",
|
|
"timeColumn": "timestamp",
|
|
"timeColumnType": "timestamp",
|
|
"where": [
|
|
{
|
|
"name": "$__timeFilter",
|
|
"params": [],
|
|
"type": "macro"
|
|
}
|
|
]
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "mysql-1"
|
|
}
|
|
},
|
|
"refId": "A",
|
|
"hidden": false
|
|
}
|
|
}
|
|
],
|
|
"transformations": [],
|
|
"queryOptions": {}
|
|
}
|
|
},
|
|
"vizConfig": {
|
|
"kind": "VizConfig",
|
|
"group": "table",
|
|
"version": "13.1.0",
|
|
"spec": {
|
|
"options": {
|
|
"cellHeight": "sm",
|
|
"showHeader": false,
|
|
"sortBy": [
|
|
{
|
|
"desc": true,
|
|
"displayName": "Attacks"
|
|
}
|
|
]
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"value": 0,
|
|
"color": "green"
|
|
}
|
|
]
|
|
},
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"custom": {
|
|
"align": "left",
|
|
"cellOptions": {
|
|
"type": "auto"
|
|
},
|
|
"footer": {
|
|
"reducers": []
|
|
},
|
|
"inspect": false
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": {
|
|
"id": "byType",
|
|
"options": "time"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.hideFrom.viz",
|
|
"value": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Attacks"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 100
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "Country"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "custom.width",
|
|
"value": 256
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": {
|
|
"id": "byName",
|
|
"options": "ISP"
|
|
},
|
|
"properties": [
|
|
{
|
|
"id": "links",
|
|
"value": [
|
|
{
|
|
"title": "ISP",
|
|
"url": "d/grOSx5-Mz/sshtarpit?var-ISP=${__data.fields.ISP}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"panel-8": {
|
|
"kind": "Panel",
|
|
"spec": {
|
|
"id": 8,
|
|
"title": "Unique IPs",
|
|
"description": "",
|
|
"links": [],
|
|
"data": {
|
|
"kind": "QueryGroup",
|
|
"spec": {
|
|
"queries": [
|
|
{
|
|
"kind": "PanelQuery",
|
|
"spec": {
|
|
"query": {
|
|
"kind": "DataQuery",
|
|
"group": "mysql",
|
|
"version": "v0",
|
|
"spec": {
|
|
"editorMode": "code",
|
|
"format": "table",
|
|
"group": [],
|
|
"metricColumn": "none",
|
|
"rawQuery": true,
|
|
"rawSql": "SELECT\n count(distinct ip)\nFROM connections\nWHERE\n $__timeFilter(timestamp)",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"id"
|
|
],
|
|
"type": "column"
|
|
}
|
|
]
|
|
],
|
|
"sql": {
|
|
"columns": [
|
|
{
|
|
"parameters": [],
|
|
"type": "function"
|
|
}
|
|
],
|
|
"groupBy": [
|
|
{
|
|
"property": {
|
|
"type": "string"
|
|
},
|
|
"type": "groupBy"
|
|
}
|
|
],
|
|
"limit": 50
|
|
},
|
|
"table": "auth",
|
|
"timeColumn": "timestamp",
|
|
"timeColumnType": "timestamp",
|
|
"where": [
|
|
{
|
|
"name": "$__timeFilter",
|
|
"params": [],
|
|
"type": "macro"
|
|
}
|
|
]
|
|
},
|
|
"labels": {
|
|
"grafana.app/export-label": "mysql-1"
|
|
}
|
|
},
|
|
"refId": "A",
|
|
"hidden": false
|
|
}
|
|
}
|
|
],
|
|
"transformations": [],
|
|
"queryOptions": {}
|
|
}
|
|
},
|
|
"vizConfig": {
|
|
"kind": "VizConfig",
|
|
"group": "stat",
|
|
"version": "13.1.0",
|
|
"spec": {
|
|
"options": {
|
|
"colorMode": "none",
|
|
"graphMode": "none",
|
|
"justifyMode": "center",
|
|
"orientation": "auto",
|
|
"percentChangeColorMode": "standard",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"sum"
|
|
],
|
|
"fields": "/^count\\(distinct ip\\)$/",
|
|
"values": false
|
|
},
|
|
"showPercentChange": false,
|
|
"textMode": "auto",
|
|
"wideLayout": true
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"value": 0,
|
|
"color": "green"
|
|
},
|
|
{
|
|
"value": 80,
|
|
"color": "red"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"layout": {
|
|
"kind": "GridLayout",
|
|
"spec": {
|
|
"items": [
|
|
{
|
|
"kind": "GridLayoutItem",
|
|
"spec": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"width": 16,
|
|
"height": 15,
|
|
"element": {
|
|
"kind": "ElementReference",
|
|
"name": "panel-14"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "GridLayoutItem",
|
|
"spec": {
|
|
"x": 16,
|
|
"y": 0,
|
|
"width": 4,
|
|
"height": 15,
|
|
"element": {
|
|
"kind": "ElementReference",
|
|
"name": "panel-18"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "GridLayoutItem",
|
|
"spec": {
|
|
"x": 20,
|
|
"y": 0,
|
|
"width": 4,
|
|
"height": 15,
|
|
"element": {
|
|
"kind": "ElementReference",
|
|
"name": "panel-27"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "GridLayoutItem",
|
|
"spec": {
|
|
"x": 0,
|
|
"y": 15,
|
|
"width": 10,
|
|
"height": 12,
|
|
"element": {
|
|
"kind": "ElementReference",
|
|
"name": "panel-29"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "GridLayoutItem",
|
|
"spec": {
|
|
"x": 10,
|
|
"y": 15,
|
|
"width": 2,
|
|
"height": 3,
|
|
"element": {
|
|
"kind": "ElementReference",
|
|
"name": "panel-25"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "GridLayoutItem",
|
|
"spec": {
|
|
"x": 12,
|
|
"y": 15,
|
|
"width": 12,
|
|
"height": 6,
|
|
"element": {
|
|
"kind": "ElementReference",
|
|
"name": "panel-20"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "GridLayoutItem",
|
|
"spec": {
|
|
"x": 10,
|
|
"y": 18,
|
|
"width": 2,
|
|
"height": 3,
|
|
"element": {
|
|
"kind": "ElementReference",
|
|
"name": "panel-8"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "GridLayoutItem",
|
|
"spec": {
|
|
"x": 10,
|
|
"y": 21,
|
|
"width": 14,
|
|
"height": 18,
|
|
"element": {
|
|
"kind": "ElementReference",
|
|
"name": "panel-37"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "GridLayoutItem",
|
|
"spec": {
|
|
"x": 0,
|
|
"y": 27,
|
|
"width": 10,
|
|
"height": 12,
|
|
"element": {
|
|
"kind": "ElementReference",
|
|
"name": "panel-38"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"links": [
|
|
{
|
|
"title": "ssh-tarpit",
|
|
"type": "link",
|
|
"icon": "external link",
|
|
"tooltip": "",
|
|
"url": "https://git.rznet.fr/razian/ssh-tarpit",
|
|
"tags": [],
|
|
"asDropdown": false,
|
|
"targetBlank": true,
|
|
"includeVars": false,
|
|
"keepTime": false
|
|
},
|
|
{
|
|
"title": "iplookup.fr",
|
|
"type": "link",
|
|
"icon": "external link",
|
|
"tooltip": "",
|
|
"url": "https://iplookup.fr",
|
|
"tags": [],
|
|
"asDropdown": false,
|
|
"targetBlank": true,
|
|
"includeVars": false,
|
|
"keepTime": false
|
|
},
|
|
{
|
|
"title": "endlessh",
|
|
"type": "link",
|
|
"icon": "external link",
|
|
"tooltip": "",
|
|
"url": "https://nullprogram.com/blog/2019/03/22/",
|
|
"tags": [],
|
|
"asDropdown": false,
|
|
"targetBlank": true,
|
|
"includeVars": false,
|
|
"keepTime": false
|
|
}
|
|
],
|
|
"liveNow": true,
|
|
"preload": false,
|
|
"tags": [],
|
|
"timeSettings": {
|
|
"timezone": "browser",
|
|
"from": "2023-04-26T07:27:19.862Z",
|
|
"to": "2023-08-06T07:27:19.862Z",
|
|
"autoRefresh": "",
|
|
"autoRefreshIntervals": [
|
|
"5s",
|
|
"10s",
|
|
"30s",
|
|
"1m",
|
|
"5m",
|
|
"15m",
|
|
"30m",
|
|
"1h",
|
|
"2h",
|
|
"1d"
|
|
],
|
|
"hideTimepicker": false,
|
|
"fiscalYearStartMonth": 0
|
|
},
|
|
"title": "SSH-Tarpit",
|
|
"variables": []
|
|
}
|
|
}
|