diff --git a/public/components/integrations/components/__tests__/__snapshots__/available_integration_card_view.test.tsx.snap b/public/components/integrations/components/__tests__/__snapshots__/available_integration_card_view.test.tsx.snap index 6f47d925a0..0fb8df0d21 100644 --- a/public/components/integrations/components/__tests__/__snapshots__/available_integration_card_view.test.tsx.snap +++ b/public/components/integrations/components/__tests__/__snapshots__/available_integration_card_view.test.tsx.snap @@ -444,6 +444,54 @@ exports[`Available Integration Card View Test Renders nginx integration card vie className="euiSpacer euiSpacer--l" /> + + + +
+ + +
+ +
+

+ No Integrations Available +

+

+ You can get bundles from + + + the OpenSearch Catalog. + +

+
+
+
+
+ +
+ + +
diff --git a/public/components/integrations/components/available_integration_card_view.tsx b/public/components/integrations/components/available_integration_card_view.tsx index 5c0ff6fd2c..9426f6cfc9 100644 --- a/public/components/integrations/components/available_integration_card_view.tsx +++ b/public/components/integrations/components/available_integration_card_view.tsx @@ -11,6 +11,8 @@ import { EuiSpacer, EuiFieldSearch, EuiButtonGroup, + EuiText, + EuiLoadingDashboards, } from '@elastic/eui'; import _ from 'lodash'; import React, { useState } from 'react'; @@ -20,11 +22,47 @@ import { } from './available_integration_overview_page'; import { INTEGRATIONS_BASE } from '../../../../common/constants/shared'; import { badges } from './integration_category_badge_group'; +import { HttpSetup } from '../../../../../../src/core/public'; -export function AvailableIntegrationsCardView(props: AvailableIntegrationsCardViewProps) { - const http = props.http; - const [toggleIconIdSelected, setToggleIconIdSelected] = useState('1'); +function NoIntegrationsAvailable() { + return ( + <> + + +

No Integrations Available

+

+ You can get bundles from{' '} + + the OpenSearch Catalog. + +

+
+ + + ); +} +function LoadingIntegrations() { + return ( + <> + + + +

Loading Integrations...

+
+ + ); +} + +function RenderRows({ + loading, + integrations, + http, +}: { + loading: boolean; + integrations: AvailableIntegrationType[]; + http: HttpSetup; +}) { const getImage = (url?: string) => { let optionalImg; if (url) { @@ -35,6 +73,39 @@ export function AvailableIntegrationsCardView(props: AvailableIntegrationsCardVi return optionalImg; }; + if (loading) return ; + if (!integrations.length) return ; + return ( + <> + + {integrations.map((i, v) => { + return ( + + (window.location.hash = `#/available/${i.name}`)} + footer={badges(i.labels ?? [])} + /> + + ); + })} + + + + ); +} + +export function AvailableIntegrationsCardView(props: AvailableIntegrationsCardViewProps) { + const [toggleIconIdSelected, setToggleIconIdSelected] = useState('1'); + const toggleButtonsIcons = [ { id: '0', @@ -57,36 +128,6 @@ export function AvailableIntegrationsCardView(props: AvailableIntegrationsCardVi } }; - const renderRows = (integrations: AvailableIntegrationType[]) => { - if (!integrations || !integrations.length) return null; - return ( - <> - - {integrations.map((i, v) => { - return ( - - (window.location.hash = `#/available/${i.name}`)} - footer={badges(i.labels ?? [])} - /> - - ); - })} - - - - ); - }; - return ( @@ -113,7 +154,11 @@ export function AvailableIntegrationsCardView(props: AvailableIntegrationsCardVi - {renderRows(props.data.hits.filter((x) => x.name.includes(props.query)))} + x.name.includes(props.query))} + http={props.http} + /> ); } diff --git a/public/components/integrations/components/available_integration_overview_page.tsx b/public/components/integrations/components/available_integration_overview_page.tsx index 9fc1ec9ea6..153909b8c3 100644 --- a/public/components/integrations/components/available_integration_overview_page.tsx +++ b/public/components/integrations/components/available_integration_overview_page.tsx @@ -21,7 +21,6 @@ import { AvailableIntegrationsTable } from './available_integration_table'; import { AvailableIntegrationsCardView } from './available_integration_card_view'; import { INTEGRATIONS_BASE } from '../../../../common/constants/shared'; import { AvailableIntegrationOverviewPageProps } from './integration_types'; -import { useToast } from '../../../../public/components/common/toast'; import { HttpStart } from '../../../../../../src/core/public'; export interface AvailableIntegrationType { @@ -57,6 +56,7 @@ export interface AvailableIntegrationsCardViewProps { setQuery: (input: string) => void; renderCateogryFilters: () => React.JSX.Element; http: HttpStart; + loading: boolean; } export function AvailableIntegrationOverviewPage(props: AvailableIntegrationOverviewPageProps) { @@ -64,8 +64,8 @@ export function AvailableIntegrationOverviewPage(props: AvailableIntegrationOver const [query, setQuery] = useState(''); const [isCardView, setCardView] = useState(true); - const { setToast } = useToast(); const [data, setData] = useState({ hits: [] }); + const [loading, setLoading] = useState(true); const [isPopoverOpen, setIsPopoverOpen] = useState(false); @@ -116,6 +116,7 @@ export function AvailableIntegrationOverviewPage(props: AvailableIntegrationOver async function handleDataRequest() { http.get(`${INTEGRATIONS_BASE}/repository`).then((exists) => { setData(exists.data); + setLoading(false); let newItems = exists.data.hits.flatMap( (hit: { labels?: string[] }) => hit.labels?.sort() ?? [] @@ -130,24 +131,6 @@ export function AvailableIntegrationOverviewPage(props: AvailableIntegrationOver }); } - async function addIntegrationRequest(name: string) { - http - .post(`${INTEGRATIONS_BASE}/store`) - .then((res) => { - setToast( - `${name} integration successfully added!`, - 'success', - `View the added assets from ${name} in the Added Integrations list` - ); - }) - .catch((err) => - setToast( - 'Failed to load integration. Check Added Integrations table for more details', - 'danger' - ) - ); - } - const renderCateogryFilters = () => { return ( @@ -180,7 +163,7 @@ export function AvailableIntegrationOverviewPage(props: AvailableIntegrationOver return ( - {IntegrationHeader()} + {isCardView ? AvailableIntegrationsCardView({ data: { @@ -192,6 +175,7 @@ export function AvailableIntegrationOverviewPage(props: AvailableIntegrationOver setQuery, renderCateogryFilters, http, + loading, }) : AvailableIntegrationsTable({ loading: false, diff --git a/server/adaptors/integrations/__data__/repository/apache/apache-1.0.0.json b/server/adaptors/integrations/__data__/repository/apache/apache-1.0.0.json deleted file mode 100644 index 99fb24a16d..0000000000 --- a/server/adaptors/integrations/__data__/repository/apache/apache-1.0.0.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "apache", - "version": "1.0.0", - "displayName": "Apache Dashboard", - "description": "Apache web logs collector", - "license": "Apache-2.0", - "type": "logs_apache", - "labels": ["Observability", "Logs"], - "author": "OpenSearch", - "sourceUrl": "https://github.com/opensearch-project/dashboards-observability/tree/main/server/adaptors/integrations/__data__/repository/apache/info", - "statics": { - "logo": { - "annotation": "Apache Logo", - "path": "logo.png" - }, - "gallery": [ - { - "annotation": "Apache Dashboard", - "path": "dashboard1.png" - } - ] - }, - "components": [ - { - "name": "communication", - "version": "1.0.0" - }, - { - "name": "http", - "version": "1.0.0" - }, - { - "name": "logs_apache", - "version": "1.0.0" - } - ], - "assets": { - "savedObjects": { - "name": "apache", - "version": "1.0.0" - } - }, - "sampleData": { - "path": "sample.json" - } -} diff --git a/server/adaptors/integrations/__data__/repository/apache/assets/apache-1.0.0.ndjson b/server/adaptors/integrations/__data__/repository/apache/assets/apache-1.0.0.ndjson deleted file mode 100644 index 6bee20b263..0000000000 --- a/server/adaptors/integrations/__data__/repository/apache/assets/apache-1.0.0.ndjson +++ /dev/null @@ -1,11 +0,0 @@ -{"attributes": {"fields": "[{\"name\": \"_index\", \"type\": \"string\", \"esTypes\": [\"_index\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": false}, {\"name\": \"_score\", \"type\": \"number\", \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": false}, {\"name\": \"_source\", \"type\": \"_source\", \"esTypes\": [\"_source\"], \"count\": 0, \"scripted\": false, \"searchable\": false, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"_type\", \"type\": \"string\", \"esTypes\": [\"_type\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": false}, {\"name\": \"severity.number\", \"type\": \"number\", \"esTypes\": [\"long\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"severity.text\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"severity.text.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"severity.text\"}}}, {\"name\": \"attributes.data_stream.dataset\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"attributes.data_stream.namespace\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"attributes.data_stream.type\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"body\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"@message\", \"type\": \"string\", \"esTypes\": [\"alias\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"@timestamp\", \"type\": \"date\", \"esTypes\": [\"date\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"observedTimestamp\", \"type\": \"date\", \"esTypes\": [\"date\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"observerTime\", \"type\": \"string\", \"esTypes\": [\"alias\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"traceId\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"spanId\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"schemaUrl\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"schemaUrl.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"schemaUrl\"}}}, {\"name\": \"instrumentationScope.name\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"instrumentationScope.name.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"instrumentationScope.name\"}}}, {\"name\": \"instrumentationScope.version\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"instrumentationScope.version.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"instrumentationScope.version\"}}}, {\"name\": \"instrumentationScope.dropped_attributes_count\", \"type\": \"number\", \"esTypes\": [\"integer\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"instrumentationScope.schemaUrl\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"instrumentationScope.schemaUrl.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"instrumentationScope.schemaUrl\"}}}, {\"name\": \"event.domain\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"event.name\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"event.source\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"event.category\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"event.type\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"event.kind\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"event.result\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"event.exception.message\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"event.exception.type\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"event.exception.stacktrace\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.flavor\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.url\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.schema\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.target\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.route\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.client.ip\", \"type\": \"ip\", \"esTypes\": [\"ip\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.resent_count\", \"type\": \"number\", \"esTypes\": [\"integer\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.request.id\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"http.request.id.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"http.request.id\"}}}, {\"name\": \"http.request.body.content\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.request.bytes\", \"type\": \"number\", \"esTypes\": [\"long\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.request.method\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.request.referrer\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.request.mime_type\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.response.id\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"http.response.id.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"http.response.id\"}}}, {\"name\": \"http.response.body.content\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.response.bytes\", \"type\": \"number\", \"esTypes\": [\"long\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.response.status_code\", \"type\": \"number\", \"esTypes\": [\"integer\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.sock.family\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.source.address\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"communication.source.address.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"communication.source.address\"}}}, {\"name\": \"communication.source.domain\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"communication.source.domain.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"communication.source.domain\"}}}, {\"name\": \"communication.source.bytes\", \"type\": \"number\", \"esTypes\": [\"long\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.source.ip\", \"type\": \"ip\", \"esTypes\": [\"ip\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.source.port\", \"type\": \"number\", \"esTypes\": [\"long\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.source.mac\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.source.packets\", \"type\": \"number\", \"esTypes\": [\"long\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.source.geo.city_name\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.source.geo.country_iso_code\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.source.geo.country_name\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.source.geo.location\", \"type\": \"geo_point\", \"esTypes\": [\"geo_point\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.destination.address\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"communication.destination.address.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"communication.destination.address\"}}}, {\"name\": \"communication.destination.domain\", \"type\": \"string\", \"esTypes\": [\"text\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": false, \"readFromDocValues\": false}, {\"name\": \"communication.destination.domain.keyword\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true, \"subType\": {\"multi\": {\"parent\": \"communication.destination.domain\"}}}, {\"name\": \"communication.destination.bytes\", \"type\": \"number\", \"esTypes\": [\"long\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.destination.ip\", \"type\": \"ip\", \"esTypes\": [\"ip\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.destination.port\", \"type\": \"number\", \"esTypes\": [\"long\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.destination.mac\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.destination.packets\", \"type\": \"number\", \"esTypes\": [\"long\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.destination.geo.city_name\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.destination.geo.country_iso_code\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.destination.geo.country_name\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"communication.destination.geo.location\", \"type\": \"geo_point\", \"esTypes\": [\"geo_point\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.original\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.name\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.version\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.device.name\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.os.type\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.os.platform\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.os.name\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.os.full\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.os.family\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.os.version\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}, {\"name\": \"http.user_agent.os.kernel\", \"type\": \"string\", \"esTypes\": [\"keyword\"], \"count\": 0, \"scripted\": false, \"searchable\": true, \"aggregatable\": true, \"readFromDocValues\": true}]", "timeFieldName": "@timestamp", "title": "ss4o_logs-*-*"}, "id": "d8a559c0-04b9-11ee-a4b2-e1966e8247fd", "migrationVersion": {"index-pattern": "7.6.0"}, "references": [], "type": "index-pattern", "updated_at": "2023-07-21T16:00:22", "version": "WzE0LDFd"} -{ "attributes": { "columns": [ "communication.source.address.keyword", "http.request.method", "http.url", "http.response.status_code" ], "description": "", "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": "{ \"filter\": [], \"highlight\": { \"fields\": { \"*\": {} }, \"fragment_size\": 2147483647, \"post_tags\": [ \"@/kibana-highlighted-field@\" ], \"pre_tags\": [ \"@kibana-highlighted-field@\" ], \"require_field_match\": false }, \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\" }" }, "sort": [ [ "@timestamp", "desc" ] ], "title": "Apache access logs ", "version": 1 }, "coreMigrationVersion": "8.0.0", "id": "Apache-access-logs-ecs", "migrationVersion": { "search": "7.9.3" }, "references": [ { "id": "d8a559c0-04b9-11ee-a4b2-e1966e8247fd", "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern" } ], "type": "search", "updated_at": "2021-08-04T16:33:55.372Z", "version": "WzQzNDQsMV0=" } -{ "attributes": { "columns": [ "communication.source.address.keyword", "severity.text", "apache2.error.module", "body" ], "description": "", "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": "{ \"filter\": [], \"highlight\": { \"fields\": { \"*\": {} }, \"fragment_size\": 2147483647, \"post_tags\": [ \"@/kibana-highlighted-field@\" ], \"pre_tags\": [ \"@kibana-highlighted-field@\" ], \"require_field_match\": false }, \"indexRefName\": \"kibanaSavedObjectMeta.searchSourceJSON.index\",\"query\": { \"language\": \"kuery\", \"query\": \"event.domain:apache.error\"}}" }, "sort": [ [ "@timestamp", "desc" ] ], "title": "Apache errors log ", "version": 1 }, "coreMigrationVersion": "8.0.0", "id": "Apache-errors-log-ecs", "migrationVersion": { "search": "7.9.3" }, "references": [ { "id": "d8a559c0-04b9-11ee-a4b2-e1966e8247fd", "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern" } ], "type": "search", "updated_at": "2021-08-04T16:33:55.372Z", "version": "WzQzNDMsMV0=" } -{ "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": "{ \"filter\": [] }" }, "savedSearchRefName": "search_0", "title": "Browsers breakdown ", "uiStateJSON": "{}", "version": 1, "visState": "{ \"aggs\": [ { \"enabled\": true, \"id\": \"1\", \"params\": { \"field\": \"communication.source.address.keyword\" }, \"schema\": \"metric\", \"type\": \"cardinality\" }, { \"enabled\": true, \"id\": \"2\", \"params\": { \"field\": \"http.user_agent.name\", \"order\": \"desc\", \"orderBy\": \"1\", \"size\": 5 }, \"schema\": \"segment\", \"type\": \"terms\" }, { \"enabled\": true, \"id\": \"3\", \"params\": { \"field\": \"http.user_agent.version\", \"order\": \"desc\", \"orderBy\": \"1\", \"size\": 5 }, \"schema\": \"segment\", \"type\": \"terms\" } ], \"listeners\": {}, \"params\": { \"addLegend\": true, \"addTooltip\": true, \"distinctColors\": true, \"isDonut\": true, \"legendPosition\": \"bottom\", \"palette\": { \"name\": \"kibana_palette\", \"type\": \"palette\" }, \"shareYAxis\": true }, \"title\": \"Apache browsers ECS\", \"type\": \"pie\" }" }, "coreMigrationVersion": "8.0.0", "id": "Apache-browsers-ecs", "migrationVersion": { "visualization": "7.10.0" }, "references": [ { "id": "Apache-access-logs-ecs", "name": "search_0", "type": "search" } ], "type": "visualization", "updated_at": "2021-08-04T16:33:55.372Z", "version": "WzQzMzksMV0=" } -{ "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": "{ \"filter\": [ ] }" }, "savedSearchRefName": "search_0", "title": "Unique IPs map ", "uiStateJSON": "{\"mapCenter\": [14.944784875088372,5.09765625 ]}", "version": 1, "visState":"{ \"title\":\"Hehe\", \"type\":\"region_map\", \"aggs\":[ { \"id\":\"1\", \"enabled\":true, \"type\":\"count\", \"params\":{ }, \"schema\":\"metric\" }, { \"id\":\"2\", \"enabled\":true, \"type\":\"terms\", \"params\":{ \"field\":\"communication.source.geo.country_iso_code\", \"orderBy\":\"1\", \"order\":\"desc\", \"size\":5, \"otherBucket\":false, \"otherBucketLabel\":\"Other\", \"missingBucket\":false, \"missingBucketLabel\":\"Missing\" }, \"schema\":\"segment\" } ], \"params\":{ \"addTooltip\":true, \"colorSchema\":\"Yellow to Red\", \"emsHotLink\":\"?locale=en#file/world_countries\", \"isDisplayWarning\":true, \"layerChosenByUser\":\"default\", \"legendPosition\":\"bottomright\", \"mapCenter\":[ 0, 0 ], \"mapZoom\":2, \"outlineWeight\":1, \"selectedCustomJoinField\":null, \"selectedJoinField\":{ \"description\":\"ISO 3166-1 alpha-2 Code\", \"name\":\"iso2\", \"type\":\"id\" }, \"selectedLayer\":{ \"attribution\":\"Made with NaturalEarth\", \"created_at\":\"2017-04-26T17:12:15.978370\", \"fields\":[ { \"description\":\"ISO 3166-1 alpha-2 Code\", \"name\":\"iso2\", \"type\":\"id\" }, { \"description\":\"ISO 3166-1 alpha-3 Code\", \"name\":\"iso3\", \"type\":\"id\" }, { \"description\":\"Name\", \"name\":\"name\", \"type\":\"name\" } ], \"format\":{ \"type\":\"geojson\" }, \"id\":\"world_countries\", \"isEMS\":true, \"layerId\":\"elastic_maps_service.World Countries\", \"name\":\"World Countries\", \"origin\":\"elastic_maps_service\" }, \"showAllShapes\":true, \"wms\":{ \"enabled\":false, \"options\":{ \"attribution\":\"\", \"format\":\"image/png\", \"layers\":\"\", \"styles\":\"\", \"transparent\":true, \"version\":\"\" }, \"selectedTmsLayer\":{ \"attribution\":\"Map data © OpenStreetMap contributors\", \"id\":\"road_map\", \"maxZoom\":14, \"minZoom\":0, \"origin\":\"elastic_maps_service\" }, \"url\":\"\" } } }" }, "coreMigrationVersion": "7.0.0", "id": "Apache-access-unique-IPs-map-ecs", "migrationVersion": { "visualization": "7.10.0" }, "references": [ { "id": "Apache-access-logs-ecs", "name": "search_0", "type": "search" } ], "type": "visualization", "updated_at": "2021-08-04T16:33:55.372Z", "version": "WzQzMzcsMV0=" } -{ "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": "{ \"filter\": [] }" }, "savedSearchRefName": "search_0", "title": "Operating systems breakdown ", "uiStateJSON": "{}", "version": 1, "visState": "{ \"aggs\": [ { \"enabled\": true, \"id\": \"1\", \"params\": { \"field\": \"communication.source.address.keyword\" }, \"schema\": \"metric\", \"type\": \"cardinality\" }, { \"enabled\": true, \"id\": \"2\", \"params\": { \"field\": \"http.user_agent.os.name\", \"order\": \"desc\", \"orderBy\": \"1\", \"size\": 5 }, \"schema\": \"segment\", \"type\": \"terms\" }, { \"enabled\": true, \"id\": \"3\", \"params\": { \"field\": \"http.user_agent.os.version\", \"order\": \"desc\", \"orderBy\": \"1\", \"size\": 5 }, \"schema\": \"segment\", \"type\": \"terms\" } ], \"listeners\": {}, \"params\": { \"addLegend\": true, \"addTooltip\": true, \"distinctColors\": true, \"isDonut\": true, \"legendPosition\": \"bottom\", \"palette\": { \"name\": \"kibana_palette\", \"type\": \"palette\" }, \"shareYAxis\": true }, \"title\": \"Apache operating systems ECS\", \"type\": \"pie\" }" }, "coreMigrationVersion": "7.0.0", "id": "Apache-operating-systems-ecs", "migrationVersion": { "visualization": "7.10.0" }, "references": [ { "id": "Apache-access-logs-ecs", "name": "search_0", "type": "search" } ], "type": "visualization", "updated_at": "2021-08-04T16:33:55.372Z", "version": "WzQzNDAsMV0=" } -{ "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": "{ \"filter\": [] }" }, "savedSearchRefName": "search_0", "title": "Error logs over time ", "uiStateJSON": "{}", "version": 1, "visState": "{ \"aggs\": [ { \"enabled\": true, \"id\": \"1\", \"params\": {}, \"schema\": \"metric\", \"type\": \"count\" }, { \"enabled\": true, \"id\": \"2\", \"params\": { \"extended_bounds\": {}, \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1 }, \"schema\": \"segment\", \"type\": \"date_histogram\" }, { \"enabled\": true, \"id\": \"3\", \"params\": { \"field\": \"severity.text.keyword\", \"order\": \"desc\", \"orderBy\": \"1\", \"size\": 5 }, \"schema\": \"group\", \"type\": \"terms\" } ], \"listeners\": {}, \"params\": { \"addLegend\": true, \"addTimeMarker\": false, \"addTooltip\": true, \"defaultYExtents\": false, \"legendPosition\": \"right\", \"mode\": \"stacked\", \"scale\": \"linear\", \"setYExtents\": false, \"shareYAxis\": true, \"times\": [], \"yAxis\": {} }, \"title\": \"Apache error logs over time ECS\", \"type\": \"histogram\" }" }, "coreMigrationVersion": "7.10.0", "id": "Apache-error-logs-over-time-ecs", "migrationVersion": { "visualization": "7.10.0" }, "references": [ { "id": "Apache-errors-log-ecs", "name": "search_0", "type": "search" } ], "type": "visualization", "updated_at": "2021-08-04T16:33:55.372Z", "version": "WzQzNDEsMV0=" } -{ "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": "{ \"filter\": [] }" }, "savedSearchRefName": "search_0", "title": "Top URLs by response code ", "uiStateJSON": "{ \"vis\": { \"colors\": { \"200\": \"#7EB26D\", \"404\": \"#EF843C\" } } }", "version": 1, "visState": "{ \"aggs\": [ { \"enabled\": true, \"id\": \"1\", \"params\": { }, \"schema\": \"metric\", \"type\": \"count\" }, { \"enabled\": true, \"id\": \"3\", \"params\": { \"customLabel\": \"URL\", \"field\": \"http.url\", \"order\": \"desc\", \"orderBy\": \"1\", \"size\": 5 }, \"schema\": \"split\", \"type\": \"terms\" }, { \"enabled\": true, \"id\": \"2\", \"params\": { \"field\": \"http.response.status_code\", \"order\": \"desc\", \"orderBy\": \"1\", \"size\": 5 }, \"schema\": \"segment\", \"type\": \"terms\" } ], \"listeners\": { }, \"params\": { \"addLegend\": true, \"addTooltip\": true, \"distinctColors\": true, \"isDonut\": false, \"legendPosition\": \"right\", \"palette\": { \"name\": \"kibana_palette\", \"type\": \"palette\" }, \"row\": false, \"shareYAxis\": true }, \"title\": \"Apache response codes of top URLs ECS\", \"type\": \"pie\" }" }, "coreMigrationVersion": "8.0.0", "id": "Apache-response-codes-of-top-URLs-ecs", "migrationVersion": { "visualization": "7.10.0" }, "references": [ { "id": "Apache-access-logs-ecs", "name": "search_0", "type": "search" } ], "type": "visualization", "updated_at": "2021-08-04T16:33:55.372Z", "version": "WzQzMzgsMV0=" } -{ "attributes": { "description": "", "kibanaSavedObjectMeta": { "searchSourceJSON": "{ \"filter\": [] }" }, "savedSearchRefName": "search_0", "title": "Response codes over time ", "uiStateJSON": "{ \"vis\": { \"colors\": { \"200\": \"#629E51\", \"404\": \"#EF843C\" } } }", "version": 1, "visState": "{ \"aggs\": [ { \"enabled\": true, \"id\": \"1\", \"params\": {}, \"schema\": \"metric\", \"type\": \"count\" }, { \"enabled\": true, \"id\": \"2\", \"params\": { \"extended_bounds\": {}, \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1 }, \"schema\": \"segment\", \"type\": \"date_histogram\" }, { \"enabled\": true, \"id\": \"3\", \"params\": { \"field\": \"http.response.status_code\", \"order\": \"desc\", \"orderBy\": \"1\", \"size\": 5 }, \"schema\": \"group\", \"type\": \"terms\" } ], \"listeners\": { }, \"params\": { \"addLegend\": true, \"addTimeMarker\": false, \"addTooltip\": true, \"defaultYExtents\": false, \"legendPosition\": \"right\", \"mode\": \"stacked\", \"scale\": \"linear\", \"setYExtents\": false, \"shareYAxis\": true, \"times\": [ ], \"yAxis\": { } }, \"title\": \"Apache response codes over time ECS\", \"type\": \"histogram\" }" }, "coreMigrationVersion": "8.0.0", "id": "Apache-response-codes-over-time-ecs", "migrationVersion": { "visualization": "7.10.0" }, "references": [ { "id": "Apache-access-logs-ecs", "name": "search_0", "type": "search" } ], "type": "visualization", "updated_at": "2021-08-04T16:33:55.372Z", "version": "WzQzNDIsMV0=" } -{ "attributes": { "description": "Filebeat Apache module dashboard", "hits": 0, "kibanaSavedObjectMeta": { "searchSourceJSON": "{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}" }, "optionsJSON": "{\"hidePanelTitles\":false,\"useMargins\":true}", "refreshInterval": { "pause": true, "value": 0 }, "timeFrom": "now-15m", "timeRestore": true, "panelsJSON": "[ { \"embeddableConfig\": { \"enhancements\": {}, \"mapBounds\": { \"bottom_right\": { \"lat\": -3.864254615721396, \"lon\": 205.3125 }, \"top_left\": { \"lat\": 67.7427590666639, \"lon\": -205.6640625 } }, \"mapCenter\": [ 40.713955826286046, -0.17578125 ], \"mapCollar\": { \"bottom_right\": { \"lat\": -39.667755, \"lon\": 180 }, \"top_left\": { \"lat\": 90, \"lon\": -180 }, \"zoom\": 2 }, \"mapZoom\": 2 }, \"gridData\": { \"h\": 12, \"i\": \"1\", \"w\": 48, \"x\": 0, \"y\": 0 }, \"panelIndex\": \"1\", \"panelRefName\": \"panel_1\", \"type\": \"visualization\", \"version\": \"7.3.0\" }, { \"embeddableConfig\": { \"enhancements\": {} }, \"gridData\": { \"h\": 12, \"i\": \"2\", \"w\": 32, \"x\": 0, \"y\": 20 }, \"panelIndex\": \"2\", \"panelRefName\": \"panel_2\", \"type\": \"visualization\", \"version\": \"7.3.0\" }, { \"embeddableConfig\": { \"enhancements\": {} }, \"gridData\": { \"h\": 12, \"i\": \"3\", \"w\": 16, \"x\": 32, \"y\": 20 }, \"panelIndex\": \"3\", \"panelRefName\": \"panel_3\", \"type\": \"visualization\", \"version\": \"7.3.0\" }, { \"embeddableConfig\": { \"enhancements\": { } }, \"gridData\": { \"h\": 8, \"i\": \"4\", \"w\": 8, \"x\": 40, \"y\": 12 }, \"panelIndex\": \"4\", \"panelRefName\": \"panel_4\", \"type\": \"visualization\", \"version\": \"7.3.0\" }, { \"embeddableConfig\": { \"enhancements\": { } }, \"gridData\": { \"h\": 8, \"i\": \"5\", \"w\": 48, \"x\": 0, \"y\": 32 }, \"panelIndex\": \"5\", \"panelRefName\": \"panel_5\", \"type\": \"visualization\", \"version\": \"7.3.0\" }, { \"embeddableConfig\": { \"enhancements\": { } }, \"gridData\": { \"h\": 8, \"i\": \"6\", \"w\": 40, \"x\": 0, \"y\": 12 }, \"panelIndex\": \"6\", \"panelRefName\": \"panel_6\", \"type\": \"visualization\", \"version\": \"7.3.0\" }, { \"embeddableConfig\": { \"columns\": [ \"communication.source.address\", \"severity.number\", \"severity.text\", \"body\" ], \"enhancements\": { }, \"sort\": [ \"@timestamp\", \"desc\" ] }, \"gridData\": { \"h\": 12, \"i\": \"7\", \"w\": 48, \"x\": 0, \"y\": 50 }, \"panelIndex\": \"7\", \"panelRefName\": \"panel_7\", \"type\": \"search\", \"version\": \"7.3.0\" } ]", "title": "Access and error logs ECS", "version": 1 }, "coreMigrationVersion": "7.9.3", "id": "Filebeat-Apache-Dashboard-ecs", "migrationVersion": { "dashboard": "7.9.3" }, "references": [ { "id": "Apache-access-unique-IPs-map-ecs", "name": "panel_1", "type": "visualization" }, { "id": "Apache-response-codes-of-top-URLs-ecs", "name": "panel_2", "type": "visualization" }, { "id": "Apache-browsers-ecs", "name": "panel_3", "type": "visualization" }, { "id": "Apache-operating-systems-ecs", "name": "panel_4", "type": "visualization" }, { "id": "Apache-error-logs-over-time-ecs", "name": "panel_5", "type": "visualization" }, { "id": "Apache-response-codes-over-time-ecs", "name": "panel_6", "type": "visualization" }, { "id": "Apache-errors-log-ecs", "name": "panel_7", "type": "search" } ], "type": "dashboard", "updated_at": "2021-08-04T16:33:55.372Z", "version": "WzQzNDUsMV0=" } -{"exportedCount":10,"missingRefCount":0,"missingReferences":[]} \ No newline at end of file diff --git a/server/adaptors/integrations/__data__/repository/apache/data/sample.json b/server/adaptors/integrations/__data__/repository/apache/data/sample.json deleted file mode 100644 index 5d41e04c90..0000000000 --- a/server/adaptors/integrations/__data__/repository/apache/data/sample.json +++ /dev/null @@ -1,206 +0,0 @@ -[ - { - "observedTimestamp": "2023-07-21T16:52:08.000Z", - "http": { - "response": { - "status_code": 406, - "bytes": 6141 - }, - "url": "/strategize", - "flavor": "1.1", - "request": { - "method": "GET" - }, - "user_agent": { - "original": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", - "name": "Chrome", - "version": "114.0.0", - "os": { - "name": "Mac OS X", - "full": "Mac OS X 10.15.7", - "version": "10.15.7", - "device": { - "name": "Mac" - } - } - } - }, - "attributes": { - "data_stream": { - "dataset": "apache.access", - "namespace": "production", - "type": "logs" - } - }, - "event": { - "result": "success", - "category": "web", - "name": "access", - "type": "access", - "domain": "apache.access", - "kind": "event" - }, - "communication": { - "source": { - "address": "127.0.0.1", - "ip": "42.204.151.42", - "geo": { - "country": "China", - "country_iso_code": "CN" - } - } - }, - "body": "15.248.1.132 - - [21/Jun/2023:21:35:24 +0000] \"GET / HTTP/1.1\" 403 45 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36\"", - "traceId": "d09d293a27c9a754f2bf0196b5a1c9bc", - "spanId": "18ba0e515e42dad0", - "@timestamp": "2023-07-21T16:52:08.000Z" - }, - { - "observedTimestamp": "2023-07-21T16:52:08.000Z", - "http": { - "response": { - "status_code": 406, - "bytes": 6141 - }, - "url": "/strategize", - "flavor": "1.1", - "request": { - "method": "GET" - }, - "user_agent": { - "original": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", - "name": "Chrome", - "version": "114.0.0", - "os": { - "name": "Mac OS X", - "full": "Mac OS X 10.15.7", - "version": "10.15.7", - "device": { - "name": "Mac" - } - } - } - }, - "attributes": { - "data_stream": { - "dataset": "apache.access", - "namespace": "production", - "type": "logs" - } - }, - "event": { - "result": "success", - "category": "web", - "name": "access", - "type": "access", - "domain": "apache.access", - "kind": "event" - }, - "communication": { - "source": { - "address": "127.0.0.1", - "ip": "42.204.151.42", - "geo": { - "country": "China", - "country_iso_code": "CN" - } - } - }, - - "body": "15.248.1.132 - - [21/Jun/2023:21:35:24 +0000] \"GET / HTTP/1.1\" 403 45 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36\"", - "traceId": "d09d293a27c9a754f2bf0196b5a1c9bc", - "spanId": "18ba0e515e42dad0", - "@timestamp": "2023-07-21T16:52:08.000Z" - }, - { - "observedTimestamp": "2023-07-25:52:08.000Z", - "http": { - "response": { - "status_code": 400, - "bytes": 6141 - }, - "url": "/strategize", - "flavor": "1.1", - "request": { - "method": "GET" - }, - "user_agent": { - "original": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", - "name": "Chrome", - "version": "114.0.0", - "os": { - "name": "Mac OS X", - "full": "Mac OS X 10.15.7", - "version": "10.15.7", - "device": { - "name": "Mac" - } - } - } - }, - "attributes": { - "data_stream": { - "dataset": "apache.access", - "namespace": "production", - "type": "logs" - } - }, - "event": { - "result": "success", - "category": "web", - "name": "access", - "type": "access", - "domain": "apache.access", - "kind": "event" - }, - "communication": { - "source": { - "address": "127.0.0.1", - "ip": "42.204.151.42", - "geo": { - "country": "United States", - "country_iso_code": "US" - } - } - }, - "body": "15.248.1.132 - - [21/Jun/2023:21:35:24 +0000] \"GET / HTTP/1.1\" 403 45 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36\"", - "traceId": "d09d293a27c9a754f2bf0196b5a1c9bc", - "spanId": "18ba0e515e42dad0", - "@timestamp": "2023-07-21T16:52:08.000Z" - }, - { - "attributes": { - "data_stream": { - "dataset": "apache.error", - "namespace": "production", - "type": "logs" - } - }, - "observedTimestamp": "2023-07-21T16:52:08.000Z", - "@timestamp": "2023-07-21T16:52:08.000Z", - "severity": { - "text": "cgid:error" - }, - "communication": { - "source": { - "address": "127.0.0.1", - "ip": "42.204.151.42", - "geo": { - "country": "France", - "country_iso_code": "FR" - } - } - }, - "event": { - "result": "error", - "category": "web", - "name": "error", - "type": "error", - "domain": "apache.error", - "kind": "error" - }, - "traceId": "d09d293a27c9a754f2bf0196b5a1c9bc", - "spanId": "18ba0e515e42dad0", - "body": "[Sat Aug 12 04:05:51 2006] [notice] Apache/1.3.11 (Unix) mod_perl/1.21 configured -- resuming normal operations" - } -] \ No newline at end of file diff --git a/server/adaptors/integrations/__data__/repository/apache/info/INGESTION.md b/server/adaptors/integrations/__data__/repository/apache/info/INGESTION.md deleted file mode 100644 index 27ff56ea92..0000000000 --- a/server/adaptors/integrations/__data__/repository/apache/info/INGESTION.md +++ /dev/null @@ -1,156 +0,0 @@ -# Ingestion Pipeline - -To set up an ingestion pipeline, I used Docker to run Fluent-bit and an Apache fake log generator, along with an instance of OpenSearch. - -## FluentBit and OpenSearch Setup - -First, create a `docker-compose.yml` instance like [this](https://github.com/opensearch-project/data-prepper/blob/93d06db5cad280e2e4c53e12dfb47c7cbaa7b364/examples/log-ingestion/docker-compose.yaml). This will pull FluentBit and OpenSearch Docker images and run them in `opensearch-net` Docker network. - -Next, use an Apache log generator to generate sample logs. I used `mingrammer/flog` in my `docker-compose.yml` file: - -``` - apache: - image: mingrammer/flog - command: "--loop -d 5s -f apache_combined" - container_name: apache - networks: - - opensearch-net # All of the containers will join the same Docker bridge network - links: - - fluentbit - logging: - driver: "fluentd" - options: - fluentd-address: 127.0.0.1:24224 - tag: apache.access - fluentd-async: "true" -``` - -Then, create a `fluent-bit.conf` as follows: - -``` -[SERVICE] - Parsers_File parsers.conf - -[INPUT] - Name forward - Port 24224 - -[FILTER] - Name parser - Match apache.access - Key_Name log - Parser apache - -[FILTER] - Name lua - Match apache.access - Script otel-converter.lua - call convert_to_otel - -[OUTPUT] - Name opensearch - Match apache.access - Host opensearch - Port 9200 - Index ss4o_logs-apache-prod-sample - Suppress_Type_Name On -``` - -This creates a Fluent-Bit pipeline that forwards your generated apache logs through a parser to OpenSearch. - -Create a `parsers.conf` file as follows: - -``` -[PARSER] - Name apache - Format regex - Regex ^(?[^ ]*) [^ ]* (?[^ ]*) \[(?