Skip to content

Commit

Permalink
Merge branch 'master' of github.com:elastic/kibana into enhance/use-b…
Browse files Browse the repository at this point in the history
…fetch-in-search
  • Loading branch information
Liza K committed Nov 19, 2020
2 parents 9d16439 + 02cda96 commit 4a1e69c
Show file tree
Hide file tree
Showing 33 changed files with 1,178 additions and 209 deletions.
74 changes: 0 additions & 74 deletions docs/plugins/known-plugins.asciidoc

This file was deleted.

89 changes: 80 additions & 9 deletions docs/user/plugins.asciidoc
Original file line number Diff line number Diff line change
@@ -1,20 +1,90 @@
[chapter]
[[kibana-plugins]]
= Kibana plugins
= {kib} plugins

[partintro]
--
Add-on functionality for {kib} is implemented with plug-in modules. You use the `bin/kibana-plugin`
command to manage these modules.
Implement add-on functionality for {kib} with plug-in modules.

[IMPORTANT]
.Plugin compatibility
==============================================
The {kib} plugin interfaces are in a state of constant development. We cannot provide backwards compatibility for plugins due to the high rate of change. {kib} enforces that the installed plugins match the version of {kib} itself. Plugin developers will have to release a new version of their plugin for each new {kib} release as a result.
The {kib} plugin interfaces are in a state of constant development. We cannot provide backwards compatibility for plugins due to the high rate of change. {kib} enforces that the installed plugins match the version of {kib}.
Plugin developers must release a new version of their plugin for each new {kib} release.
==============================================
--

[float]
[[known-plugins]]
== Known plugins

The known plugins were tested for {kib} *5.x*, so we are unable to guarantee compatibility with your version of {kib}. The {kib} installer rejects any plugins that haven't been published for your specific version of {kib}.
We are unable to evaluate or maintain the known plugins, so care should be taken before installation.

[float]
=== Apps
* https://github.com/sivasamyk/logtrail[LogTrail] - View, analyze, search and tail log events in realtime with a developer/sysadmin friendly interface
* https://github.com/wtakase/kibana-own-home[Own Home] (wtakase) - enables multi-tenancy
* https://github.com/asileon/kibana_shard_allocation[Shard Allocation] (asileon) - visualize elasticsearch shard allocation
* https://github.com/wazuh/wazuh-kibana-app[Wazuh] - Wazuh provides host-based security visibility using lightweight multi-platform agents.
* https://github.com/TrumanDu/indices_view[Indices View] - View indices related information.
* https://github.com/johtani/analyze-api-ui-plugin[Analyze UI] (johtani) - UI for elasticsearch _analyze API
* https://github.com/TrumanDu/cleaner[Cleaner] (TrumanDu)- Setting index ttl.
* https://github.com/bitsensor/elastalert-kibana-plugin[ElastAlert Kibana Plugin] (BitSensor) - UI to create, test and edit ElastAlert rules
* https://github.com/query-ai/queryai-kibana-plugin[AI Analyst] (Query.AI) - App providing: NLP queries, automation, ML visualizations and insights

[float]
=== Timelion Extensions
* https://github.com/fermiumlabs/mathlion[mathlion] (fermiumlabs) - enables equation parsing and advanced math under Timelion

[float]
=== Visualizations
* https://github.com/virusu/3D_kibana_charts_vis[3D Charts] (virusu)
* https://github.com/JuanCarniglia/area3d_vis[3D Graph] (JuanCarniglia)
* https://github.com/TrumanDu/bmap[Bmap](TrumanDu) - integrated echarts for map visualization
* https://github.com/mstoyano/kbn_c3js_vis[C3JS Visualizations] (mstoyano)
* https://github.com/aaronoah/kibana_calendar_vis[Calendar Visualization] (aaronoah)
* https://github.com/elo7/cohort[Cohort analysis] (elo7)
* https://github.com/DeanF/health_metric_vis[Colored Metric Visualization] (deanf)
* https://github.com/JuanCarniglia/dendrogram_vis[Dendrogram] (JuanCarniglia)
* https://github.com/dlumbrer/kbn_dotplot[Dotplot] (dlumbrer)
* https://github.com/AnnaGerber/kibana_dropdown[Dropdown] (AnnaGerber)
* https://github.com/fbaligand/kibana-enhanced-table[Enhanced Table] (fbaligand)
* https://github.com/nreese/enhanced_tilemap[Enhanced Tilemap] (nreese)
* https://github.com/ommsolutions/kibana_ext_metrics_vis[Extended Metric] (ommsolutions)
* https://github.com/flexmonster/pivot-kibana[Flexmonster Pivot Table & Charts] - a customizable pivot table component for advanced data analysis and reporting.
* https://github.com/outbrain/ob-kb-funnel[Funnel Visualization] (roybass)
* https://github.com/sbeyn/kibana-plugin-gauge-sg[Gauge] (sbeyn)
* https://github.com/clamarque/Kibana_health_metric_vis[Health Metric] (clamarque)
* https://github.com/tshoeb/Insight[Insight] (tshoeb) - Multidimensional data exploration
* https://github.com/sbeyn/kibana-plugin-line-sg[Line] (sbeyn)
* https://github.com/walterra/kibana-milestones-vis[Milestones] (walterra)
* https://github.com/varundbest/navigation[Navigation] (varundbest)
* https://github.com/dlumbrer/kbn_network[Network Plugin] (dlumbrer)
* https://github.com/amannocci/kibana-plugin-metric-percent[Percent] (amannocci)
* https://github.com/dlumbrer/kbn_polar[Polar] (dlumbrer)
* https://github.com/dlumbrer/kbn_radar[Radar] (dlumbrer)
* https://github.com/dlumbrer/kbn_searchtables[Search-Tables] (dlumbrer)
* https://github.com/Smeds/status_light_visualization[Status Light] (smeds)
* https://github.com/prelert/kibana-swimlane-vis[Swimlanes] (prelert)
* https://github.com/sbeyn/kibana-plugin-traffic-sg[Traffic] (sbeyn)
* https://github.com/PhaedrusTheGreek/transform_vis[Transform Visualization] (PhaedrusTheGreek)
* https://github.com/nyurik/kibana-vega-vis[Vega-based visualizations] (nyurik) - Support for user-defined graphs, external data sources, maps, images, and user-defined interactivity.
* https://github.com/Camichan/kbn_aframe[VR Graph Visualizations] (Camichan)

[float]
=== Other
* https://github.com/nreese/kibana-time-plugin[Time filter as a dashboard panel] Widget to view and edit the time range from within dashboards.

* https://github.com/Webiks/kibana-API.git[Kibana-API] (webiks) Exposes an API with Kibana functionality.
Use it to create, edit and embed visualizations, and also to search inside an embedded dashboard.

* https://github.com/sw-jung/kibana_markdown_doc_view[Markdown Doc View] (sw-jung) - A plugin for custom doc view using markdown+handlebars template.
* https://github.com/datasweet-fr/kibana-datasweet-formula[Datasweet Formula] (datasweet) - enables calculated metric on any standard Kibana visualization.
* https://github.com/pjhampton/kibana-prometheus-exporter[Prometheus Exporter] - exports the Kibana metrics in the prometheus format

NOTE: To add your plugin to this page, open a {kib-repo}tree/{branch}/docs/plugins/known-plugins.asciidoc[pull request].

[float]
[[install-plugin]]
== Install plugins

Expand Down Expand Up @@ -60,6 +130,7 @@ You can specify the environment variable directly when installing plugins:
[source,shell]
$ http_proxy="http://proxy.local:4242" bin/kibana-plugin install <package name or URL>

[float]
[[update-remove-plugin]]
== Update and remove plugins

Expand All @@ -74,6 +145,7 @@ You can also remove a plugin manually by deleting the plugin's subdirectory unde

NOTE: Removing a plugin will result in an "optimize" run which will delay the next start of {kib}.

[float]
[[disable-plugin]]
== Disable plugins

Expand All @@ -88,6 +160,7 @@ NOTE: Disabling or enabling a plugin will result in an "optimize" run which will

<1> You can find a plugin's plugin ID as the value of the `name` property in the plugin's `package.json` file.

[float]
[[configure-plugin-manager]]
== Configure the plugin manager

Expand Down Expand Up @@ -125,5 +198,3 @@ you must specify the path to that configuration file each time you use the `bin/
64:: Unknown command or incorrect option parameter
74:: I/O error
70:: Other error

include::{kib-repo-dir}/plugins/known-plugins.asciidoc[]
22 changes: 17 additions & 5 deletions x-pack/plugins/ml/common/types/saved_objects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,23 @@
export type JobType = 'anomaly-detector' | 'data-frame-analytics';
export const ML_SAVED_OBJECT_TYPE = 'ml-job';

type Result = Record<string, { success: boolean; error?: any }>;
export interface SavedObjectResult {
[jobId: string]: { success: boolean; error?: any };
}

export interface RepairSavedObjectResponse {
savedObjectsCreated: Result;
savedObjectsDeleted: Result;
datafeedsAdded: Result;
datafeedsRemoved: Result;
savedObjectsCreated: SavedObjectResult;
savedObjectsDeleted: SavedObjectResult;
datafeedsAdded: SavedObjectResult;
datafeedsRemoved: SavedObjectResult;
}

export type JobsSpacesResponse = {
[jobType in JobType]: { [jobId: string]: string[] };
};

export interface InitializeSavedObjectResponse {
jobs: Array<{ id: string; type: string }>;
success: boolean;
error?: any;
}
3 changes: 2 additions & 1 deletion x-pack/plugins/ml/kibana.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
"kibanaReact",
"dashboard",
"savedObjects",
"home"
"home",
"spaces"
],
"extraPublicDirs": [
"common"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
* you may not use this file except in compliance with the Elastic License.
*/

export { JobSpacesList } from './job_spaces_list';
export { JobSpacesList, ALL_SPACES_ID } from './job_spaces_list';
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,64 @@
* you may not use this file except in compliance with the Elastic License.
*/

import React, { FC } from 'react';
import React, { FC, useState, useEffect } from 'react';

import { EuiFlexGroup, EuiFlexItem, EuiBadge } from '@elastic/eui';
import { EuiFlexGroup, EuiFlexItem, EuiButtonEmpty } from '@elastic/eui';
import { JobSpacesFlyout } from '../job_spaces_selector';
import { JobType } from '../../../../common/types/saved_objects';
import { useSpacesContext } from '../../contexts/spaces';
import { Space, SpaceAvatar } from '../../../../../spaces/public';

export const ALL_SPACES_ID = '*';

interface Props {
spaces: string[];
spaceIds: string[];
jobId: string;
jobType: JobType;
refresh(): void;
}

function filterUnknownSpaces(ids: string[]) {
return ids.filter((id) => id !== '?');
}

export const JobSpacesList: FC<Props> = ({ spaces }) => (
<EuiFlexGroup wrap responsive={false} gutterSize="xs">
{spaces.map((space) => (
<EuiFlexItem grow={false} key={space}>
<EuiBadge color={'hollow'}>{space}</EuiBadge>
</EuiFlexItem>
))}
</EuiFlexGroup>
);
export const JobSpacesList: FC<Props> = ({ spaceIds, jobId, jobType, refresh }) => {
const { allSpaces } = useSpacesContext();

const [showFlyout, setShowFlyout] = useState(false);
const [spaces, setSpaces] = useState<Space[]>([]);

useEffect(() => {
const tempSpaces = spaceIds.includes(ALL_SPACES_ID)
? [{ id: ALL_SPACES_ID, name: ALL_SPACES_ID, disabledFeatures: [], color: '#DDD' }]
: allSpaces.filter((s) => spaceIds.includes(s.id));
setSpaces(tempSpaces);
}, [spaceIds, allSpaces]);

function onClose() {
setShowFlyout(false);
refresh();
}

return (
<>
<EuiButtonEmpty onClick={() => setShowFlyout(true)} style={{ height: 'auto' }}>
<EuiFlexGroup wrap responsive={false} gutterSize="xs">
{spaces.map((space) => (
<EuiFlexItem grow={false} key={space.id}>
<SpaceAvatar space={space} size={'s'} />
</EuiFlexItem>
))}
</EuiFlexGroup>
</EuiButtonEmpty>
{showFlyout && (
<JobSpacesFlyout
jobId={jobId}
spaceIds={filterUnknownSpaces(spaceIds)}
jobType={jobType}
onClose={onClose}
/>
)}
</>
);
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

export { JobSpacesRepairFlyout } from './job_spaces_repair_flyout';
Loading

0 comments on commit 4a1e69c

Please sign in to comment.