logsentinelai 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- logsentinelai-0.1.0/.gitignore +8 -0
- logsentinelai-0.1.0/.python-version +1 -0
- logsentinelai-0.1.0/Kibana-9.0.3-Advanced-Settings.ndjson +2 -0
- logsentinelai-0.1.0/Kibana-9.0.3-Dashboard-LogSentinelAI.ndjson +3 -0
- logsentinelai-0.1.0/LICENSE +21 -0
- logsentinelai-0.1.0/MANIFEST.in +0 -0
- logsentinelai-0.1.0/PACKAGE_MIGRATION.md +144 -0
- logsentinelai-0.1.0/PKG-INFO +831 -0
- logsentinelai-0.1.0/README.md +769 -0
- logsentinelai-0.1.0/config.template +195 -0
- logsentinelai-0.1.0/img/ex-dashboard.png +0 -0
- logsentinelai-0.1.0/img/ex-json.png +0 -0
- logsentinelai-0.1.0/pyproject.toml +107 -0
- logsentinelai-0.1.0/sample-logs/access-100.log +100 -0
- logsentinelai-0.1.0/sample-logs/access-10k.log +10000 -0
- logsentinelai-0.1.0/sample-logs/apache-100.log +100 -0
- logsentinelai-0.1.0/sample-logs/apache-10k.log +56482 -0
- logsentinelai-0.1.0/sample-logs/linux-100.log +100 -0
- logsentinelai-0.1.0/sample-logs/linux-2k.log +2000 -0
- logsentinelai-0.1.0/sample-logs/tcpdump-packet-2k-multi-line.log +10676 -0
- logsentinelai-0.1.0/sample-logs/tcpdump-packet-2k-single-line.log +2000 -0
- logsentinelai-0.1.0/sample-logs/tcpdump-packet-39-multi-line.log +322 -0
- logsentinelai-0.1.0/src/logsentinelai/__init__.py +31 -0
- logsentinelai-0.1.0/src/logsentinelai/analyzers/__init__.py +20 -0
- logsentinelai-0.1.0/src/logsentinelai/analyzers/httpd_access.py +103 -0
- logsentinelai-0.1.0/src/logsentinelai/analyzers/httpd_apache.py +103 -0
- logsentinelai-0.1.0/src/logsentinelai/analyzers/linux_system.py +106 -0
- logsentinelai-0.1.0/src/logsentinelai/analyzers/tcpdump_packet.py +287 -0
- logsentinelai-0.1.0/src/logsentinelai/cli.py +148 -0
- logsentinelai-0.1.0/src/logsentinelai/core/__init__.py +26 -0
- logsentinelai-0.1.0/src/logsentinelai/core/commons.py +2397 -0
- logsentinelai-0.1.0/src/logsentinelai/core/prompts.py +265 -0
- logsentinelai-0.1.0/src/logsentinelai/py.typed +0 -0
- logsentinelai-0.1.0/src/logsentinelai/utils/__init__.py +11 -0
- logsentinelai-0.1.0/src/logsentinelai/utils/geoip_downloader.py +193 -0
- logsentinelai-0.1.0/upload_to_testpypi.sh +0 -0
- logsentinelai-0.1.0/uv.lock +1907 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.11
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{"attributes":{"buildNum":84935,"defaultIndex":"logs-*","isDefaultIndexMigrated":true,"timepicker:quickRanges":"[\n {\n \"from\": \"now/d\",\n \"to\": \"now/d\",\n \"display\": \"Today\"\n },\n {\n \"from\": \"now/w\",\n \"to\": \"now/w\",\n \"display\": \"This week\"\n },\n {\n \"from\": \"now-1m\",\n \"to\": \"now\",\n \"display\": \"Last 1 minute\"\n },\n {\n \"from\": \"now-5m\",\n \"to\": \"now\",\n \"display\": \"Last 5 minutes\"\n },\n {\n \"from\": \"now-10m\",\n \"to\": \"now\",\n \"display\": \"Last 10 minutes\"\n },\n {\n \"from\": \"now-15m\",\n \"to\": \"now\",\n \"display\": \"Last 15 minutes\"\n },\n {\n \"from\": \"now-30m\",\n \"to\": \"now\",\n \"display\": \"Last 30 minutes\"\n },\n {\n \"from\": \"now-1h\",\n \"to\": \"now\",\n \"display\": \"Last 1 hour\"\n },\n {\n \"from\": \"now-3h\",\n \"to\": \"now\",\n \"display\": \"Last 3 hour\"\n },\n {\n \"from\": \"now-6h\",\n \"to\": \"now\",\n \"display\": \"Last 6 hour\"\n },\n {\n \"from\": \"now-12h\",\n \"to\": \"now\",\n \"display\": \"Last 12 hour\"\n },\n {\n \"from\": \"now-24h/h\",\n \"to\": \"now\",\n \"display\": \"Last 24 hours\"\n },\n {\n \"from\": \"now-3d/d\",\n \"to\": \"now\",\n \"display\": \"Last 3 days\"\n },\n {\n \"from\": \"now-7d/d\",\n \"to\": \"now\",\n \"display\": \"Last 7 days\"\n },\n {\n \"from\": \"now-14d/d\",\n \"to\": \"now\",\n \"display\": \"Last 14 days\"\n },\n {\n \"from\": \"now-30d/d\",\n \"to\": \"now\",\n \"display\": \"Last 30 days\"\n },\n {\n \"from\": \"now-60d/d\",\n \"to\": \"now\",\n \"display\": \"Last 60 days\"\n },\n {\n \"from\": \"now-90d/d\",\n \"to\": \"now\",\n \"display\": \"Last 90 days\"\n },\n {\n \"from\": \"now-180d/d\",\n \"to\": \"now\",\n \"display\": \"Last 180 days\"\n },\n {\n \"from\": \"now-1y/d\",\n \"to\": \"now\",\n \"display\": \"Last 1 year\"\n }\n]"},"coreMigrationVersion":"8.8.0","created_at":"2025-07-17T09:45:39.135Z","id":"9.0.3","managed":false,"references":[],"type":"config","typeMigrationVersion":"10.1.0","updated_at":"2025-07-20T05:08:51.597Z","updated_by":"u_mGBROF_q5bmFCATbLXAcCwKa0k8JvONAwSruelyKA5E_0","version":"WzEyNzQ3LDJd"}
|
|
2
|
+
{"excludedObjects":[],"excludedObjectsCount":0,"exportedCount":1,"missingRefCount":0,"missingReferences":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{"attributes":{"allowHidden":false,"fieldAttrs":"{}","fieldFormatMap":"{}","fields":"[]","name":"logsentinelai-analysis-*","runtimeFieldMap":"{}","sourceFilters":"[]","timeFieldName":"@timestamp","title":"logsentinelai-analysis-*"},"coreMigrationVersion":"8.8.0","created_at":"2025-07-19T10:57:16.821Z","created_by":"u_mGBROF_q5bmFCATbLXAcCwKa0k8JvONAwSruelyKA5E_0","id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","managed":false,"references":[],"type":"index-pattern","typeMigrationVersion":"8.0.0","updated_at":"2025-07-19T10:57:16.821Z","updated_by":"u_mGBROF_q5bmFCATbLXAcCwKa0k8JvONAwSruelyKA5E_0","version":"Wzc1MjgsMl0="}
|
|
2
|
+
{"attributes":{"controlGroupInput":{"chainingSystem":"HIERARCHICAL","controlStyle":"oneLine","ignoreParentSettingsJSON":"{\"ignoreFilters\":false,\"ignoreQuery\":false,\"ignoreTimerange\":false,\"ignoreValidations\":false}","panelsJSON":"{}","showApplySelections":false},"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"}}"},"optionsJSON":"{\"useMargins\":true,\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"hidePanelTitles\":false}","panelsJSON":"[{\"type\":\"lens\",\"title\":\"HTTPd Access - Precessing Result\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"description\":\"Success / Failed\",\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsPie\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-95c8cccd-56fb-4581-b44d-acf991b76ee4\"}],\"state\":{\"visualization\":{\"shape\":\"donut\",\"layers\":[{\"layerId\":\"95c8cccd-56fb-4581-b44d-acf991b76ee4\",\"primaryGroups\":[\"b0265cbc-e0db-4c62-949d-21453b1f9bd6\"],\"metrics\":[\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"],\"numberDisplay\":\"percent\",\"categoryDisplay\":\"default\",\"legendDisplay\":\"default\",\"nestedLegend\":false,\"layerType\":\"data\",\"colorMapping\":{\"assignments\":[],\"specialAssignments\":[{\"rule\":{\"type\":\"other\"},\"color\":{\"type\":\"loop\"},\"touched\":false}],\"paletteId\":\"elastic_brand_2023\",\"colorMode\":{\"type\":\"categorical\"}},\"emptySizeRatio\":0.3}]},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"95c8cccd-56fb-4581-b44d-acf991b76ee4\":{\"columns\":{\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_access\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true}},\"b0265cbc-e0db-4c62-949d-21453b1f9bd6\":{\"label\":\"Top 5 values of @processing_result.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"@processing_result.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false}}},\"columnOrder\":[\"b0265cbc-e0db-4c62-949d-21453b1f9bd6\",\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"logs-*\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"logs-*\",\"title\":\"logs-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"a86ae331-a867-4e9d-81cf-79477ce8d413\",\"gridData\":{\"i\":\"a86ae331-a867-4e9d-81cf-79477ce8d413\",\"y\":7,\"x\":8,\"w\":8,\"h\":12}},{\"type\":\"lens\",\"title\":\"HTTPd Access - Events Serverity\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsPie\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-7ecadc49-3cde-468f-9121-a487595708a9\"}],\"state\":{\"visualization\":{\"shape\":\"donut\",\"layers\":[{\"layerId\":\"7ecadc49-3cde-468f-9121-a487595708a9\",\"primaryGroups\":[\"001291ae-b7e9-49b0-baeb-c5e1836e949c\"],\"metrics\":[\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"],\"numberDisplay\":\"percent\",\"categoryDisplay\":\"default\",\"legendDisplay\":\"default\",\"nestedLegend\":false,\"layerType\":\"data\",\"emptySizeRatio\":0.3}],\"palette\":{\"type\":\"palette\",\"name\":\"kibana_palette\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"7ecadc49-3cde-468f-9121-a487595708a9\":{\"columns\":{\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_access\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true}},\"001291ae-b7e9-49b0-baeb-c5e1836e949c\":{\"label\":\"Top 5 values of events.severity.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"events.severity.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false},\"customLabel\":false}},\"columnOrder\":[\"001291ae-b7e9-49b0-baeb-c5e1836e949c\",\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"logs-*\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"logs-*\",\"title\":\"logs-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"e5ed4803-f9ff-411f-aab7-88975e7304e5\",\"gridData\":{\"i\":\"e5ed4803-f9ff-411f-aab7-88975e7304e5\",\"y\":7,\"x\":0,\"w\":8,\"h\":12}},{\"type\":\"lens\",\"title\":\"HTTPd Access - Event Serverity\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-bf8cabe3-5930-469c-af31-08860619d27e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"showSingleSeries\":false},\"valueLabels\":\"show\",\"preferredSeriesType\":\"bar_stacked\",\"layers\":[{\"layerId\":\"bf8cabe3-5930-469c-af31-08860619d27e\",\"accessors\":[\"dac479b4-2168-4958-9362-eba23613da8b\",\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"73262379-fde7-4dfa-af60-a824c535acef\",\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\"],\"position\":\"top\",\"seriesType\":\"bar_stacked\",\"showGridlines\":false,\"layerType\":\"data\",\"colorMapping\":{\"assignments\":[],\"specialAssignments\":[{\"rule\":{\"type\":\"other\"},\"color\":{\"type\":\"loop\"},\"touched\":false}],\"paletteId\":\"default\",\"colorMode\":{\"type\":\"categorical\"}},\"xAccessor\":\"acafc88c-a7f3-446e-a978-cc5805a11493\",\"yConfig\":[{\"forAccessor\":\"73262379-fde7-4dfa-af60-a824c535acef\",\"color\":\"#ffed87\"},{\"forAccessor\":\"dac479b4-2168-4958-9362-eba23613da8b\",\"color\":\"#81d7d3\"},{\"forAccessor\":\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"color\":\"#61a2ff\"},{\"forAccessor\":\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"color\":\"#ff9d79\"},{\"forAccessor\":\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\",\"color\":\"#ff3125\"}]}],\"yTitle\":\"Count\",\"axisTitlesVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"xTitle\":\"\",\"showCurrentTimeMarker\":true,\"hideEndzones\":true},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"bf8cabe3-5930-469c-af31-08860619d27e\":{\"columns\":{\"acafc88c-a7f3-446e-a978-cc5805a11493\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\",\"includeEmptyRows\":true,\"dropPartials\":false}},\"73262379-fde7-4dfa-af60-a824c535acef\":{\"label\":\"INFO\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_access\\\" AND events.severity.keyword : \\\"INFO\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"dac479b4-2168-4958-9362-eba23613da8b\":{\"label\":\"LOW\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_access\\\" AND events.severity.keyword : \\\"LOW\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"328165b0-620e-46f6-8439-c2c38b33faf0\":{\"label\":\"MEDIUM\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_access\\\" AND events.severity.keyword : \\\"MEDIUM\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\":{\"label\":\"HIGH\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_access\\\" AND events.severity.keyword : \\\"HIGH\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\":{\"label\":\"CRITICAL\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_access\\\" AND events.severity.keyword : \\\"CRITICAL\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true}},\"columnOrder\":[\"acafc88c-a7f3-446e-a978-cc5805a11493\",\"73262379-fde7-4dfa-af60-a824c535acef\",\"dac479b4-2168-4958-9362-eba23613da8b\",\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"title\":\"logsentinelai-analysis-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"7fb1195e-8696-43a5-8409-cbf2b92041f7\",\"gridData\":{\"i\":\"7fb1195e-8696-43a5-8409-cbf2b92041f7\",\"y\":7,\"x\":16,\"w\":32,\"h\":12}},{\"type\":\"lens\",\"title\":\"HTTPd Server Error - Precessing Result\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"description\":\"Success / Failed\",\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsPie\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-95c8cccd-56fb-4581-b44d-acf991b76ee4\"}],\"state\":{\"visualization\":{\"shape\":\"donut\",\"layers\":[{\"layerId\":\"95c8cccd-56fb-4581-b44d-acf991b76ee4\",\"primaryGroups\":[\"fcdfee8c-c999-4375-b7c8-d260d2e42049\"],\"metrics\":[\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"],\"numberDisplay\":\"percent\",\"categoryDisplay\":\"default\",\"legendDisplay\":\"default\",\"nestedLegend\":false,\"layerType\":\"data\",\"colorMapping\":{\"assignments\":[],\"specialAssignments\":[{\"rule\":{\"type\":\"other\"},\"color\":{\"type\":\"loop\"},\"touched\":false}],\"paletteId\":\"elastic_brand_2023\",\"colorMode\":{\"type\":\"categorical\"}},\"emptySizeRatio\":0.3}]},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"95c8cccd-56fb-4581-b44d-acf991b76ee4\":{\"columns\":{\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_apache_error\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true}},\"fcdfee8c-c999-4375-b7c8-d260d2e42049\":{\"label\":\"Top 5 values of @processing_result.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"@processing_result.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false}}},\"columnOrder\":[\"fcdfee8c-c999-4375-b7c8-d260d2e42049\",\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"logs-*\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"logs-*\",\"title\":\"logs-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"a3777294-cb97-40c6-adca-02e31b7be502\",\"gridData\":{\"i\":\"a3777294-cb97-40c6-adca-02e31b7be502\",\"y\":19,\"x\":8,\"w\":8,\"h\":12}},{\"type\":\"lens\",\"title\":\"HTTPd Server Error - Events Serverity\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsPie\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-7ecadc49-3cde-468f-9121-a487595708a9\"}],\"state\":{\"visualization\":{\"shape\":\"donut\",\"layers\":[{\"layerId\":\"7ecadc49-3cde-468f-9121-a487595708a9\",\"primaryGroups\":[\"001291ae-b7e9-49b0-baeb-c5e1836e949c\"],\"metrics\":[\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"],\"numberDisplay\":\"percent\",\"categoryDisplay\":\"default\",\"legendDisplay\":\"default\",\"nestedLegend\":false,\"layerType\":\"data\",\"emptySizeRatio\":0.3}],\"palette\":{\"type\":\"palette\",\"name\":\"kibana_palette\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"7ecadc49-3cde-468f-9121-a487595708a9\":{\"columns\":{\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_apache_error\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true}},\"001291ae-b7e9-49b0-baeb-c5e1836e949c\":{\"label\":\"Top 5 values of events.severity.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"events.severity.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false}}},\"columnOrder\":[\"001291ae-b7e9-49b0-baeb-c5e1836e949c\",\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"logs-*\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"logs-*\",\"title\":\"logs-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"8882f614-a6c1-48c7-bd47-22bd1ba467ee\",\"gridData\":{\"i\":\"8882f614-a6c1-48c7-bd47-22bd1ba467ee\",\"y\":19,\"x\":0,\"w\":8,\"h\":12}},{\"type\":\"lens\",\"title\":\"HTTPd Server Error - Event Serverity\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-bf8cabe3-5930-469c-af31-08860619d27e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"showSingleSeries\":false},\"valueLabels\":\"show\",\"preferredSeriesType\":\"bar_stacked\",\"layers\":[{\"layerId\":\"bf8cabe3-5930-469c-af31-08860619d27e\",\"accessors\":[\"dac479b4-2168-4958-9362-eba23613da8b\",\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"73262379-fde7-4dfa-af60-a824c535acef\",\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\"],\"position\":\"top\",\"seriesType\":\"bar_stacked\",\"showGridlines\":false,\"layerType\":\"data\",\"colorMapping\":{\"assignments\":[],\"specialAssignments\":[{\"rule\":{\"type\":\"other\"},\"color\":{\"type\":\"loop\"},\"touched\":false}],\"paletteId\":\"default\",\"colorMode\":{\"type\":\"categorical\"}},\"xAccessor\":\"acafc88c-a7f3-446e-a978-cc5805a11493\",\"yConfig\":[{\"forAccessor\":\"73262379-fde7-4dfa-af60-a824c535acef\",\"color\":\"#ffed87\"},{\"forAccessor\":\"dac479b4-2168-4958-9362-eba23613da8b\",\"color\":\"#81d7d3\"},{\"forAccessor\":\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"color\":\"#61a2ff\"},{\"forAccessor\":\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"color\":\"#ff9d79\"},{\"forAccessor\":\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\",\"color\":\"#ff3125\"}]}],\"yTitle\":\"Count\",\"axisTitlesVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"xTitle\":\"\",\"showCurrentTimeMarker\":true,\"hideEndzones\":true},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"bf8cabe3-5930-469c-af31-08860619d27e\":{\"columns\":{\"acafc88c-a7f3-446e-a978-cc5805a11493\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\",\"includeEmptyRows\":true,\"dropPartials\":false}},\"73262379-fde7-4dfa-af60-a824c535acef\":{\"label\":\"INFO\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_apache_error\\\" AND events.severity.keyword : \\\"INFO\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"dac479b4-2168-4958-9362-eba23613da8b\":{\"label\":\"LOW\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_apache_error\\\" AND events.severity.keyword : \\\"LOW\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"328165b0-620e-46f6-8439-c2c38b33faf0\":{\"label\":\"MEDIUM\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_apache_error\\\" AND events.severity.keyword : \\\"MEDIUM\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\":{\"label\":\"HIGH\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_apache_error\\\" AND events.severity.keyword : \\\"HIGH\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\":{\"label\":\"CRITICAL\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"httpd_apache_error\\\" AND events.severity.keyword : \\\"CRITICAL\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true}},\"columnOrder\":[\"acafc88c-a7f3-446e-a978-cc5805a11493\",\"73262379-fde7-4dfa-af60-a824c535acef\",\"dac479b4-2168-4958-9362-eba23613da8b\",\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"title\":\"logsentinelai-analysis-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"f44217c7-6bca-4864-a7c8-54768f912f68\",\"gridData\":{\"i\":\"f44217c7-6bca-4864-a7c8-54768f912f68\",\"y\":19,\"x\":16,\"w\":32,\"h\":12}},{\"type\":\"lens\",\"title\":\"Tcpdump Packet - Precessing Result\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"description\":\"Success / Failed\",\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsPie\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-95c8cccd-56fb-4581-b44d-acf991b76ee4\"}],\"state\":{\"visualization\":{\"shape\":\"donut\",\"layers\":[{\"layerId\":\"95c8cccd-56fb-4581-b44d-acf991b76ee4\",\"primaryGroups\":[\"f0b62e68-8b25-4db0-b033-6675e7260256\"],\"metrics\":[\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"],\"numberDisplay\":\"percent\",\"categoryDisplay\":\"default\",\"legendDisplay\":\"default\",\"nestedLegend\":false,\"layerType\":\"data\",\"colorMapping\":{\"assignments\":[],\"specialAssignments\":[{\"rule\":{\"type\":\"other\"},\"color\":{\"type\":\"loop\"},\"touched\":false}],\"paletteId\":\"elastic_brand_2023\",\"colorMode\":{\"type\":\"categorical\"}},\"emptySizeRatio\":0.3}]},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"95c8cccd-56fb-4581-b44d-acf991b76ee4\":{\"columns\":{\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"tcpdump_packet\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true}},\"f0b62e68-8b25-4db0-b033-6675e7260256\":{\"label\":\"Top 5 values of @processing_result.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"@processing_result.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false}}},\"columnOrder\":[\"f0b62e68-8b25-4db0-b033-6675e7260256\",\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"logs-*\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"logs-*\",\"title\":\"logs-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"df759446-0314-4842-a3aa-0ca04616cfb6\",\"gridData\":{\"i\":\"df759446-0314-4842-a3aa-0ca04616cfb6\",\"y\":43,\"x\":8,\"w\":8,\"h\":12}},{\"type\":\"lens\",\"title\":\"Tcpdump Packet - Events Serverity\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsPie\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-7ecadc49-3cde-468f-9121-a487595708a9\"}],\"state\":{\"visualization\":{\"shape\":\"donut\",\"layers\":[{\"layerId\":\"7ecadc49-3cde-468f-9121-a487595708a9\",\"primaryGroups\":[\"001291ae-b7e9-49b0-baeb-c5e1836e949c\"],\"metrics\":[\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"],\"numberDisplay\":\"percent\",\"categoryDisplay\":\"default\",\"legendDisplay\":\"default\",\"nestedLegend\":false,\"layerType\":\"data\",\"emptySizeRatio\":0.3}],\"palette\":{\"type\":\"palette\",\"name\":\"kibana_palette\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"7ecadc49-3cde-468f-9121-a487595708a9\":{\"columns\":{\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"tcpdump_packet\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true}},\"001291ae-b7e9-49b0-baeb-c5e1836e949c\":{\"label\":\"Top 5 values of events.severity.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"events.severity.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false}}},\"columnOrder\":[\"001291ae-b7e9-49b0-baeb-c5e1836e949c\",\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"logs-*\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"logs-*\",\"title\":\"logs-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"f771844a-1b72-4c64-a3d8-ade7409c340d\",\"gridData\":{\"i\":\"f771844a-1b72-4c64-a3d8-ade7409c340d\",\"y\":43,\"x\":0,\"w\":8,\"h\":12}},{\"type\":\"lens\",\"title\":\"Tcpdump Packet - Event Serverity\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-bf8cabe3-5930-469c-af31-08860619d27e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"showSingleSeries\":false},\"valueLabels\":\"show\",\"preferredSeriesType\":\"bar_stacked\",\"layers\":[{\"layerId\":\"bf8cabe3-5930-469c-af31-08860619d27e\",\"accessors\":[\"dac479b4-2168-4958-9362-eba23613da8b\",\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"73262379-fde7-4dfa-af60-a824c535acef\",\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\"],\"position\":\"top\",\"seriesType\":\"bar_stacked\",\"showGridlines\":false,\"layerType\":\"data\",\"colorMapping\":{\"assignments\":[],\"specialAssignments\":[{\"rule\":{\"type\":\"other\"},\"color\":{\"type\":\"loop\"},\"touched\":false}],\"paletteId\":\"default\",\"colorMode\":{\"type\":\"categorical\"}},\"xAccessor\":\"acafc88c-a7f3-446e-a978-cc5805a11493\",\"yConfig\":[{\"forAccessor\":\"73262379-fde7-4dfa-af60-a824c535acef\",\"color\":\"#ffed87\"},{\"forAccessor\":\"dac479b4-2168-4958-9362-eba23613da8b\",\"color\":\"#81d7d3\"},{\"forAccessor\":\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"color\":\"#61a2ff\"},{\"forAccessor\":\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"color\":\"#ff9d79\"},{\"forAccessor\":\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\",\"color\":\"#ff3125\"}]}],\"yTitle\":\"Count\",\"axisTitlesVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"xTitle\":\"\",\"showCurrentTimeMarker\":true,\"hideEndzones\":true},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"bf8cabe3-5930-469c-af31-08860619d27e\":{\"columns\":{\"acafc88c-a7f3-446e-a978-cc5805a11493\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\",\"includeEmptyRows\":true,\"dropPartials\":false}},\"73262379-fde7-4dfa-af60-a824c535acef\":{\"label\":\"INFO\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"tcpdump_packet\\\" AND events.severity.keyword : \\\"INFO\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"dac479b4-2168-4958-9362-eba23613da8b\":{\"label\":\"LOW\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"tcpdump_packet\\\" AND events.severity.keyword : \\\"LOW\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"328165b0-620e-46f6-8439-c2c38b33faf0\":{\"label\":\"MEDIUM\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"tcpdump_packet\\\" AND events.severity.keyword : \\\"MEDIUM\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\":{\"label\":\"HIGH\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"tcpdump_packet\\\" AND events.severity.keyword : \\\"HIGH\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\":{\"label\":\"CRITICAL\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"tcpdump_packet\\\" AND events.severity.keyword : \\\"CRITICAL\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true}},\"columnOrder\":[\"acafc88c-a7f3-446e-a978-cc5805a11493\",\"73262379-fde7-4dfa-af60-a824c535acef\",\"dac479b4-2168-4958-9362-eba23613da8b\",\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"e0f0473d-f665-48bb-aec6-82cc12ba96da\",\"gridData\":{\"i\":\"e0f0473d-f665-48bb-aec6-82cc12ba96da\",\"y\":43,\"x\":16,\"w\":32,\"h\":12}},{\"type\":\"lens\",\"title\":\"Processing Throughput\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"hidePanelTitles\":false,\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsMetric\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-674b2b6b-ff53-43e9-bf69-6a291b8d14e2\"},{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-e64c8105-a1c2-40fe-99bb-4eef764041f2\"}],\"state\":{\"visualization\":{\"layerId\":\"674b2b6b-ff53-43e9-bf69-6a291b8d14e2\",\"layerType\":\"data\",\"palette\":{\"name\":\"custom\",\"type\":\"palette\",\"params\":{\"steps\":3,\"name\":\"custom\",\"reverse\":false,\"rangeType\":\"number\",\"rangeMin\":null,\"rangeMax\":null,\"progression\":\"fixed\",\"stops\":[{\"color\":\"#BFDBFF\",\"stop\":500},{\"color\":\"#fcd883\",\"stop\":1000},{\"color\":\"#16c56e\",\"stop\":1001}],\"colorStops\":[{\"color\":\"#BFDBFF\",\"stop\":null},{\"color\":\"#fcd883\",\"stop\":500},{\"color\":\"#16c56e\",\"stop\":1000}],\"continuity\":\"all\",\"maxSteps\":5}},\"metricAccessor\":\"ac7425f0-7155-4853-a07e-31c237013eb3\",\"breakdownByAccessor\":\"ac96ec5e-dfd6-4e3c-a18d-d8ac1cd579e6\",\"maxAccessor\":\"c8a9cb17-cd4b-4f01-81e2-434709fd99a1\",\"showBar\":false,\"icon\":\"compute\",\"trendlineLayerId\":\"e64c8105-a1c2-40fe-99bb-4eef764041f2\",\"trendlineLayerType\":\"metricTrendline\",\"trendlineTimeAccessor\":\"06b2761b-b245-4691-b0b6-b011c0e3aab5\",\"trendlineMetricAccessor\":\"44e965bd-544e-4b6e-8092-4405efb2dd2b\",\"trendlineBreakdownByAccessor\":\"7cfb0b83-bb0e-4439-a7de-3fb381bd0ac3\",\"maxCols\":4},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"674b2b6b-ff53-43e9-bf69-6a291b8d14e2\":{\"columns\":{\"ac96ec5e-dfd6-4e3c-a18d-d8ac1cd579e6\":{\"label\":\"Top 4 values of @log_type.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"@log_type.keyword\",\"isBucketed\":true,\"params\":{\"size\":4,\"orderBy\":{\"type\":\"alphabetical\",\"fallback\":false},\"orderDirection\":\"asc\",\"otherBucket\":false,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false,\"accuracyMode\":true}},\"c8a9cb17-cd4b-4f01-81e2-434709fd99a1\":{\"label\":\"Static value: 0\",\"dataType\":\"number\",\"operationType\":\"static_value\",\"isStaticValue\":true,\"isBucketed\":false,\"scale\":\"ratio\",\"params\":{\"value\":\"0\"},\"references\":[]},\"ac7425f0-7155-4853-a07e-31c237013eb3\":{\"label\":\"Throughput (Logs/s,m,h)\",\"dataType\":\"number\",\"operationType\":\"sum\",\"sourceField\":\"@log_count\",\"isBucketed\":false,\"scale\":\"ratio\",\"timeScale\":\"m\",\"filter\":{\"query\":\"@processing_result.keyword : \\\"success\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true}},\"columnOrder\":[\"ac96ec5e-dfd6-4e3c-a18d-d8ac1cd579e6\",\"c8a9cb17-cd4b-4f01-81e2-434709fd99a1\",\"ac7425f0-7155-4853-a07e-31c237013eb3\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"e64c8105-a1c2-40fe-99bb-4eef764041f2\":{\"linkToLayers\":[\"674b2b6b-ff53-43e9-bf69-6a291b8d14e2\"],\"columns\":{\"06b2761b-b245-4691-b0b6-b011c0e3aab5\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\",\"includeEmptyRows\":true,\"dropPartials\":false}},\"44e965bd-544e-4b6e-8092-4405efb2dd2bX0\":{\"label\":\"Part of Throughput : Logs/min\",\"dataType\":\"number\",\"operationType\":\"sum\",\"sourceField\":\"@log_count\",\"isBucketed\":false,\"scale\":\"ratio\",\"filter\":{\"query\":\"@processing_result.keyword : \\\"success\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":false},\"customLabel\":true},\"44e965bd-544e-4b6e-8092-4405efb2dd2b\":{\"label\":\"Throughput (Logs/s,m,h)\",\"dataType\":\"number\",\"operationType\":\"sum\",\"sourceField\":\"@log_count\",\"isBucketed\":false,\"scale\":\"ratio\",\"timeScale\":\"m\",\"filter\":{\"query\":\"@processing_result.keyword : \\\"success\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"7cfb0b83-bb0e-4439-a7de-3fb381bd0ac3\":{\"label\":\"Top 4 values of @log_type.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"@log_type.keyword\",\"isBucketed\":true,\"params\":{\"size\":4,\"orderBy\":{\"type\":\"alphabetical\",\"fallback\":false},\"orderDirection\":\"asc\",\"otherBucket\":false,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false,\"accuracyMode\":true}}},\"columnOrder\":[\"7cfb0b83-bb0e-4439-a7de-3fb381bd0ac3\",\"06b2761b-b245-4691-b0b6-b011c0e3aab5\",\"44e965bd-544e-4b6e-8092-4405efb2dd2b\",\"44e965bd-544e-4b6e-8092-4405efb2dd2bX0\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"title\":\"logsentinelai-analysis-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"9d1863d9-418d-426a-aa27-e7616d11a8b0\",\"gridData\":{\"i\":\"9d1863d9-418d-426a-aa27-e7616d11a8b0\",\"y\":0,\"x\":24,\"w\":24,\"h\":7}},{\"type\":\"lens\",\"title\":\"Linux System - Precessing Result\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"description\":\"Success / Failed\",\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsPie\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-95c8cccd-56fb-4581-b44d-acf991b76ee4\"}],\"state\":{\"visualization\":{\"shape\":\"donut\",\"layers\":[{\"layerId\":\"95c8cccd-56fb-4581-b44d-acf991b76ee4\",\"primaryGroups\":[\"ba05d515-85a3-45c9-aef4-cfe8ba5dc719\"],\"metrics\":[\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"],\"numberDisplay\":\"percent\",\"categoryDisplay\":\"default\",\"legendDisplay\":\"default\",\"nestedLegend\":false,\"layerType\":\"data\",\"colorMapping\":{\"assignments\":[],\"specialAssignments\":[{\"rule\":{\"type\":\"other\"},\"color\":{\"type\":\"loop\"},\"touched\":false}],\"paletteId\":\"elastic_brand_2023\",\"colorMode\":{\"type\":\"categorical\"}},\"emptySizeRatio\":0.3}]},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"95c8cccd-56fb-4581-b44d-acf991b76ee4\":{\"columns\":{\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"linux_system\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true}},\"ba05d515-85a3-45c9-aef4-cfe8ba5dc719\":{\"label\":\"Top 5 values of @processing_result.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"@processing_result.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false}}},\"columnOrder\":[\"ba05d515-85a3-45c9-aef4-cfe8ba5dc719\",\"6db0b875-9572-4fc2-950b-1cfd96d1fa0a\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"logs-*\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"logs-*\",\"title\":\"logs-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"5e0b733f-9db6-4557-b69e-f829714bcba0\",\"gridData\":{\"i\":\"5e0b733f-9db6-4557-b69e-f829714bcba0\",\"y\":31,\"x\":8,\"w\":8,\"h\":12}},{\"type\":\"lens\",\"title\":\"Linux System - Events Serverity\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsPie\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-7ecadc49-3cde-468f-9121-a487595708a9\"}],\"state\":{\"visualization\":{\"shape\":\"donut\",\"layers\":[{\"layerId\":\"7ecadc49-3cde-468f-9121-a487595708a9\",\"primaryGroups\":[\"001291ae-b7e9-49b0-baeb-c5e1836e949c\"],\"metrics\":[\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"],\"numberDisplay\":\"percent\",\"categoryDisplay\":\"default\",\"legendDisplay\":\"default\",\"nestedLegend\":false,\"layerType\":\"data\",\"emptySizeRatio\":0.3}],\"palette\":{\"type\":\"palette\",\"name\":\"kibana_palette\"}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"7ecadc49-3cde-468f-9121-a487595708a9\":{\"columns\":{\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"linux_system\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true}},\"001291ae-b7e9-49b0-baeb-c5e1836e949c\":{\"label\":\"Top 5 values of events.severity.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"events.severity.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false}}},\"columnOrder\":[\"001291ae-b7e9-49b0-baeb-c5e1836e949c\",\"849bb0bd-d2ba-4a4d-93fd-2effa1dfa62b\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"logs-*\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"logs-*\",\"title\":\"logs-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"b03abe45-46f6-43d5-8ce3-f1b9bb012a3d\",\"gridData\":{\"i\":\"b03abe45-46f6-43d5-8ce3-f1b9bb012a3d\",\"y\":31,\"x\":0,\"w\":8,\"h\":12}},{\"type\":\"lens\",\"title\":\"Linux System - Event Serverity\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-bf8cabe3-5930-469c-af31-08860619d27e\"}],\"state\":{\"visualization\":{\"title\":\"Empty XY chart\",\"legend\":{\"isVisible\":true,\"position\":\"right\",\"showSingleSeries\":false},\"valueLabels\":\"show\",\"preferredSeriesType\":\"bar_stacked\",\"layers\":[{\"layerId\":\"bf8cabe3-5930-469c-af31-08860619d27e\",\"accessors\":[\"dac479b4-2168-4958-9362-eba23613da8b\",\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"73262379-fde7-4dfa-af60-a824c535acef\",\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\"],\"position\":\"top\",\"seriesType\":\"bar_stacked\",\"showGridlines\":false,\"layerType\":\"data\",\"colorMapping\":{\"assignments\":[],\"specialAssignments\":[{\"rule\":{\"type\":\"other\"},\"color\":{\"type\":\"loop\"},\"touched\":false}],\"paletteId\":\"default\",\"colorMode\":{\"type\":\"categorical\"}},\"xAccessor\":\"acafc88c-a7f3-446e-a978-cc5805a11493\",\"yConfig\":[{\"forAccessor\":\"73262379-fde7-4dfa-af60-a824c535acef\",\"color\":\"#ffed87\"},{\"forAccessor\":\"dac479b4-2168-4958-9362-eba23613da8b\",\"color\":\"#81d7d3\"},{\"forAccessor\":\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"color\":\"#61a2ff\"},{\"forAccessor\":\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"color\":\"#ff9d79\"},{\"forAccessor\":\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\",\"color\":\"#ff3125\"}]}],\"yTitle\":\"Count\",\"axisTitlesVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"xTitle\":\"\",\"showCurrentTimeMarker\":true,\"hideEndzones\":true,\"gridlinesVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"tickLabelsVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"yLeftExtent\":{\"mode\":\"full\",\"niceValues\":true}},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"bf8cabe3-5930-469c-af31-08860619d27e\":{\"columns\":{\"acafc88c-a7f3-446e-a978-cc5805a11493\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\",\"includeEmptyRows\":true,\"dropPartials\":false}},\"73262379-fde7-4dfa-af60-a824c535acef\":{\"label\":\"INFO\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"linux_system\\\" AND events.severity.keyword : \\\"INFO\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"dac479b4-2168-4958-9362-eba23613da8b\":{\"label\":\"LOW\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"linux_system\\\" AND events.severity.keyword : \\\"LOW\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"328165b0-620e-46f6-8439-c2c38b33faf0\":{\"label\":\"MEDIUM\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"linux_system\\\" AND events.severity.keyword : \\\"MEDIUM\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\":{\"label\":\"HIGH\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"linux_system\\\" AND events.severity.keyword : \\\"HIGH\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\":{\"label\":\"CRITICAL\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"filter\":{\"query\":\"@log_type.keyword : \\\"linux_system\\\" AND events.severity.keyword : \\\"CRITICAL\\\"\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true}},\"columnOrder\":[\"acafc88c-a7f3-446e-a978-cc5805a11493\",\"73262379-fde7-4dfa-af60-a824c535acef\",\"dac479b4-2168-4958-9362-eba23613da8b\",\"328165b0-620e-46f6-8439-c2c38b33faf0\",\"fa46045f-36e9-4fc3-8c5f-ca0737f64253\",\"b9587dea-da6f-4bb6-895d-b4ce509a9d57\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"title\":\"logsentinelai-analysis-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"f24d9706-d710-42e6-b79e-e9888a808277\",\"gridData\":{\"i\":\"f24d9706-d710-42e6-b79e-e9888a808277\",\"y\":31,\"x\":16,\"w\":32,\"h\":12}},{\"type\":\"lens\",\"title\":\"Critical Events\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[]}},\"hidePanelTitles\":false,\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"searchSessionId\":\"a1483059-d8cd-430b-b5a0-bc79d6bb0490\",\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsMetric\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-e16878f4-221a-42f9-b112-99216242dea4\"},{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-d28ff653-7177-4152-9292-4e73170029e2\"},{\"type\":\"index-pattern\",\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"name\":\"indexpattern-datasource-layer-ea748f2c-104f-4a2c-9f01-dd12c021628e\"}],\"state\":{\"visualization\":{\"layerId\":\"e16878f4-221a-42f9-b112-99216242dea4\",\"layerType\":\"data\",\"palette\":{\"name\":\"custom\",\"type\":\"palette\",\"params\":{\"steps\":3,\"name\":\"custom\",\"reverse\":false,\"rangeType\":\"number\",\"rangeMin\":0,\"rangeMax\":null,\"progression\":\"fixed\",\"stops\":[{\"color\":\"#24c292\",\"stop\":1},{\"color\":\"#f6726a\",\"stop\":8}],\"colorStops\":[{\"color\":\"#24c292\",\"stop\":0},{\"color\":\"#f6726a\",\"stop\":1}],\"continuity\":\"above\",\"maxSteps\":5}},\"metricAccessor\":\"bbb32859-4273-4669-a686-29204416d87b\",\"icon\":\"alert\",\"breakdownByAccessor\":\"be47c346-8b9e-408a-946f-d715cd917953\",\"maxCols\":4,\"showBar\":false,\"trendlineLayerId\":\"ea748f2c-104f-4a2c-9f01-dd12c021628e\",\"trendlineLayerType\":\"metricTrendline\",\"trendlineTimeAccessor\":\"ccfc6ef3-c67e-40ce-a9b3-deb5d6e02952\",\"trendlineMetricAccessor\":\"a1cf296c-d831-4ef8-b08f-97becea9132e\",\"trendlineBreakdownByAccessor\":\"3bbcb218-5c29-4d4b-ae85-aa77726ec68d\"},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"e16878f4-221a-42f9-b112-99216242dea4\":{\"columns\":{\"bbb32859-4273-4669-a686-29204416d87b\":{\"label\":\"Critical Events\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"events.severity.keyword\",\"filter\":{\"query\":\"@processing_result.keyword : \\\"success\\\" AND events.severity.keyword : \\\"CRITICAL\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"be47c346-8b9e-408a-946f-d715cd917953\":{\"label\":\"Top 4 values of @log_type.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"@log_type.keyword\",\"isBucketed\":true,\"params\":{\"size\":4,\"orderBy\":{\"type\":\"alphabetical\",\"fallback\":false},\"orderDirection\":\"asc\",\"otherBucket\":false,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false,\"accuracyMode\":true}}},\"columnOrder\":[\"be47c346-8b9e-408a-946f-d715cd917953\",\"bbb32859-4273-4669-a686-29204416d87b\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{},\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"d28ff653-7177-4152-9292-4e73170029e2\":{\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"linkToLayers\":[\"e16878f4-221a-42f9-b112-99216242dea4\"],\"columns\":{\"bdeed212-8b49-4fe7-a068-a2ca5fa20fe1\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\",\"includeEmptyRows\":true,\"dropPartials\":false}},\"639fecee-1434-4dc2-80a8-a8dda933b3c4\":{\"label\":\"Requires Immediate Attention (Last 10min)\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"requires_immediate_attention\",\"filter\":{\"query\":\"@timestamp >= now-10m AND requires_immediate_attention : true\",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"3151859c-283a-4099-9976-b42ca4d818d1\":{\"label\":\"Top 4 values of @log_type.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"@log_type.keyword\",\"isBucketed\":true,\"params\":{\"size\":4,\"orderBy\":{\"type\":\"column\",\"columnId\":\"639fecee-1434-4dc2-80a8-a8dda933b3c4\"},\"orderDirection\":\"desc\",\"otherBucket\":false,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false,\"accuracyMode\":true}}},\"columnOrder\":[\"3151859c-283a-4099-9976-b42ca4d818d1\",\"bdeed212-8b49-4fe7-a068-a2ca5fa20fe1\",\"639fecee-1434-4dc2-80a8-a8dda933b3c4\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{}},\"ea748f2c-104f-4a2c-9f01-dd12c021628e\":{\"indexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"linkToLayers\":[\"e16878f4-221a-42f9-b112-99216242dea4\"],\"columns\":{\"ccfc6ef3-c67e-40ce-a9b3-deb5d6e02952\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\",\"includeEmptyRows\":true,\"dropPartials\":false}},\"a1cf296c-d831-4ef8-b08f-97becea9132e\":{\"label\":\"Critical Events\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"events.severity.keyword\",\"filter\":{\"query\":\"@processing_result.keyword : \\\"success\\\" AND events.severity.keyword : \\\"CRITICAL\\\" \",\"language\":\"kuery\"},\"params\":{\"emptyAsNull\":true},\"customLabel\":true},\"3bbcb218-5c29-4d4b-ae85-aa77726ec68d\":{\"label\":\"Top 4 values of @log_type.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"@log_type.keyword\",\"isBucketed\":true,\"params\":{\"size\":4,\"orderBy\":{\"type\":\"alphabetical\",\"fallback\":false},\"orderDirection\":\"asc\",\"otherBucket\":false,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false,\"accuracyMode\":true}}},\"columnOrder\":[\"3bbcb218-5c29-4d4b-ae85-aa77726ec68d\",\"ccfc6ef3-c67e-40ce-a9b3-deb5d6e02952\",\"a1cf296c-d831-4ef8-b08f-97becea9132e\"],\"sampling\":1,\"ignoreGlobalFilters\":false,\"incompleteColumns\":{}}},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"indexpattern\":{\"layers\":{},\"currentIndexPatternId\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\"},\"textBased\":{\"layers\":{},\"indexPatternRefs\":[{\"id\":\"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0\",\"title\":\"logsentinelai-analysis-*\",\"timeField\":\"@timestamp\"}]}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"902bf19c-5499-4970-b3f3-147a58a64865\",\"gridData\":{\"i\":\"902bf19c-5499-4970-b3f3-147a58a64865\",\"y\":0,\"x\":0,\"w\":24,\"h\":7}}]","timeRestore":false,"title":"[LogSentinelAI] AI Log Analysis","version":3},"coreMigrationVersion":"8.8.0","created_at":"2025-07-19T10:21:42.274Z","created_by":"u_mGBROF_q5bmFCATbLXAcCwKa0k8JvONAwSruelyKA5E_0","id":"6f3b3c6b-f84d-48ee-a7bb-831b05711b77","managed":false,"references":[{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"a86ae331-a867-4e9d-81cf-79477ce8d413:indexpattern-datasource-layer-95c8cccd-56fb-4581-b44d-acf991b76ee4","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"e5ed4803-f9ff-411f-aab7-88975e7304e5:indexpattern-datasource-layer-7ecadc49-3cde-468f-9121-a487595708a9","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"7fb1195e-8696-43a5-8409-cbf2b92041f7:indexpattern-datasource-layer-bf8cabe3-5930-469c-af31-08860619d27e","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"a3777294-cb97-40c6-adca-02e31b7be502:indexpattern-datasource-layer-95c8cccd-56fb-4581-b44d-acf991b76ee4","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"8882f614-a6c1-48c7-bd47-22bd1ba467ee:indexpattern-datasource-layer-7ecadc49-3cde-468f-9121-a487595708a9","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"f44217c7-6bca-4864-a7c8-54768f912f68:indexpattern-datasource-layer-bf8cabe3-5930-469c-af31-08860619d27e","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"df759446-0314-4842-a3aa-0ca04616cfb6:indexpattern-datasource-layer-95c8cccd-56fb-4581-b44d-acf991b76ee4","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"f771844a-1b72-4c64-a3d8-ade7409c340d:indexpattern-datasource-layer-7ecadc49-3cde-468f-9121-a487595708a9","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"e0f0473d-f665-48bb-aec6-82cc12ba96da:indexpattern-datasource-layer-bf8cabe3-5930-469c-af31-08860619d27e","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"9d1863d9-418d-426a-aa27-e7616d11a8b0:indexpattern-datasource-layer-674b2b6b-ff53-43e9-bf69-6a291b8d14e2","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"9d1863d9-418d-426a-aa27-e7616d11a8b0:indexpattern-datasource-layer-e64c8105-a1c2-40fe-99bb-4eef764041f2","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"5e0b733f-9db6-4557-b69e-f829714bcba0:indexpattern-datasource-layer-95c8cccd-56fb-4581-b44d-acf991b76ee4","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"b03abe45-46f6-43d5-8ce3-f1b9bb012a3d:indexpattern-datasource-layer-7ecadc49-3cde-468f-9121-a487595708a9","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"f24d9706-d710-42e6-b79e-e9888a808277:indexpattern-datasource-layer-bf8cabe3-5930-469c-af31-08860619d27e","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"902bf19c-5499-4970-b3f3-147a58a64865:indexpattern-datasource-layer-e16878f4-221a-42f9-b112-99216242dea4","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"902bf19c-5499-4970-b3f3-147a58a64865:indexpattern-datasource-layer-d28ff653-7177-4152-9292-4e73170029e2","type":"index-pattern"},{"id":"ac2f27bd-8781-4a82-8dd6-a6cb220c55d0","name":"902bf19c-5499-4970-b3f3-147a58a64865:indexpattern-datasource-layer-ea748f2c-104f-4a2c-9f01-dd12c021628e","type":"index-pattern"}],"type":"dashboard","typeMigrationVersion":"10.2.0","updated_at":"2025-07-20T09:57:21.552Z","updated_by":"u_mGBROF_q5bmFCATbLXAcCwKa0k8JvONAwSruelyKA5E_0","version":"WzEwMTUwLDNd"}
|
|
3
|
+
{"excludedObjects":[],"excludedObjectsCount":0,"exportedCount":2,"missingRefCount":0,"missingReferences":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2015 Anthony Lapenna
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
File without changes
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# LogSentinelAI Package Migration Guide
|
|
2
|
+
|
|
3
|
+
## pip 라이브러리로 전환 완료
|
|
4
|
+
|
|
5
|
+
이 프로젝트는 uv 기반의 현대적인 Python 패키지로 완전히 전환되었습니다.
|
|
6
|
+
|
|
7
|
+
### 📦 새로운 패키지 구조
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
LogSentinelAI/
|
|
11
|
+
├── src/logsentinelai/ # 메인 패키지
|
|
12
|
+
│ ├── __init__.py # 패키지 진입점
|
|
13
|
+
│ ├── cli.py # CLI 인터페이스
|
|
14
|
+
│ ├── analyzers/ # 로그 분석기들
|
|
15
|
+
│ │ ├── httpd_access.py # HTTP 액세스 로그 분석
|
|
16
|
+
│ │ ├── httpd_apache.py # Apache 에러 로그 분석
|
|
17
|
+
│ │ ├── linux_system.py # 리눅스 시스템 로그 분석
|
|
18
|
+
│ │ └── tcpdump_packet.py # TCPDump 패킷 분석
|
|
19
|
+
│ ├── core/ # 핵심 기능
|
|
20
|
+
│ │ ├── commons.py # 공통 유틸리티
|
|
21
|
+
│ │ └── prompts.py # LLM 프롬프트 템플릿
|
|
22
|
+
│ ├── config/ # 설정 관리
|
|
23
|
+
│ │ └── settings.py # 설정 처리
|
|
24
|
+
│ └── utils/ # 유틸리티
|
|
25
|
+
│ └── geoip_downloader.py # GeoIP 데이터베이스 다운로더
|
|
26
|
+
├── pyproject.toml # 패키지 정의 및 의존성
|
|
27
|
+
├── uv.lock # 의존성 잠금 파일
|
|
28
|
+
└── README.md # 업데이트된 문서
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 🚀 새로운 설치 방법
|
|
32
|
+
|
|
33
|
+
#### 개발 설치 (추천)
|
|
34
|
+
```bash
|
|
35
|
+
# uv 설치 (아직 없다면)
|
|
36
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
37
|
+
|
|
38
|
+
# 프로젝트 클론 및 설치
|
|
39
|
+
git clone https://github.com/call518/LogSentinelAI.git
|
|
40
|
+
cd LogSentinelAI
|
|
41
|
+
uv pip install --editable .
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
#### 일반 설치
|
|
45
|
+
```bash
|
|
46
|
+
# 소스에서 직접 설치
|
|
47
|
+
pip install git+https://github.com/call518/LogSentinelAI.git
|
|
48
|
+
|
|
49
|
+
# 또는 로컬 클론에서
|
|
50
|
+
git clone https://github.com/call518/LogSentinelAI.git
|
|
51
|
+
cd LogSentinelAI
|
|
52
|
+
pip install .
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### ✨ 새로운 명령어
|
|
56
|
+
|
|
57
|
+
기존의 `python analysis-*.py` 스크립트들이 편리한 CLI 명령어로 대체되었습니다:
|
|
58
|
+
|
|
59
|
+
| 기존 방식 | 새로운 방식 |
|
|
60
|
+
|----------|-----------|
|
|
61
|
+
| `python analysis-httpd-access-log.py` | `logsentinelai-httpd-access` |
|
|
62
|
+
| `python analysis-httpd-apache-log.py` | `logsentinelai-httpd-apache` |
|
|
63
|
+
| `python analysis-linux-system-log.py` | `logsentinelai-linux-system` |
|
|
64
|
+
| `python analysis-tcpdump-packet.py` | `logsentinelai-tcpdump` |
|
|
65
|
+
| `python download_geoip_database.py` | `logsentinelai-geoip-download` |
|
|
66
|
+
|
|
67
|
+
### 📋 사용 예제
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# 기본 도움말
|
|
71
|
+
logsentinelai --help
|
|
72
|
+
|
|
73
|
+
# HTTP 액세스 로그 분석
|
|
74
|
+
logsentinelai-httpd-access --log-path /var/log/apache2/access.log
|
|
75
|
+
|
|
76
|
+
# 실시간 모니터링
|
|
77
|
+
logsentinelai-linux-system --mode realtime
|
|
78
|
+
|
|
79
|
+
# SSH 원격 분석
|
|
80
|
+
logsentinelai-tcpdump --remote --ssh admin@server.com --ssh-key ~/.ssh/id_rsa
|
|
81
|
+
|
|
82
|
+
# GeoIP 데이터베이스 다운로드
|
|
83
|
+
logsentinelai-geoip-download
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 🔧 프로그래밍 인터페이스
|
|
87
|
+
|
|
88
|
+
패키지를 Python 코드에서도 사용할 수 있습니다:
|
|
89
|
+
|
|
90
|
+
```python
|
|
91
|
+
import logsentinelai
|
|
92
|
+
|
|
93
|
+
# LLM 모델 초기화
|
|
94
|
+
model = logsentinelai.initialize_llm_model()
|
|
95
|
+
|
|
96
|
+
# 분석 설정 가져오기
|
|
97
|
+
config = logsentinelai.get_analysis_config("httpd_access")
|
|
98
|
+
|
|
99
|
+
# 배치 분석 실행
|
|
100
|
+
logsentinelai.run_generic_batch_analysis(
|
|
101
|
+
log_type="httpd_access",
|
|
102
|
+
analysis_schema_class=HTTPDAccessAnalysis,
|
|
103
|
+
prompt_template=PROMPT_TEMPLATE,
|
|
104
|
+
analysis_title="Custom Analysis"
|
|
105
|
+
)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 🎯 변경사항 요약
|
|
109
|
+
|
|
110
|
+
1. **패키지화**: 모든 코드가 `logsentinelai` 패키지로 구조화
|
|
111
|
+
2. **CLI 통합**: 일관된 명령어 인터페이스 제공
|
|
112
|
+
3. **의존성 관리**: `pyproject.toml`과 `uv.lock`으로 현대적 의존성 관리
|
|
113
|
+
4. **확장성**: 새로운 분석기를 쉽게 추가할 수 있는 구조
|
|
114
|
+
5. **호환성**: 기존 기능과 설정 파일들은 그대로 유지
|
|
115
|
+
|
|
116
|
+
### 📖 마이그레이션 가이드
|
|
117
|
+
|
|
118
|
+
기존 사용자들을 위한 마이그레이션 단계:
|
|
119
|
+
|
|
120
|
+
1. **설치**: 새로운 패키지 설치
|
|
121
|
+
```bash
|
|
122
|
+
cd LogSentinelAI
|
|
123
|
+
uv pip install --editable .
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
2. **설정 유지**: 기존 `config` 파일은 그대로 사용 가능
|
|
127
|
+
|
|
128
|
+
3. **명령어 변경**: 스크립트 호출을 새로운 CLI 명령어로 변경
|
|
129
|
+
|
|
130
|
+
4. **테스트**: 새로운 명령어들이 정상 작동하는지 확인
|
|
131
|
+
```bash
|
|
132
|
+
logsentinelai-httpd-access --help
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 🚀 향후 계획
|
|
136
|
+
|
|
137
|
+
- PyPI 패키지 등록으로 `pip install logsentinelai` 지원
|
|
138
|
+
- Docker 이미지 업데이트
|
|
139
|
+
- 추가 분석기 플러그인 시스템
|
|
140
|
+
- 웹 인터페이스 통합
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
**🎉 이제 LogSentinelAI는 현대적인 Python 패키지로 더욱 사용하기 쉬워졌습니다!**
|