kibana-generic-visualization
v0.1.1
Published
Create Kibana visualizations and dashboards from configuration
Downloads
5
Maintainers
Readme
❯ Why
Generate kibana visualizations and dashboards dynamically.
❯ Table of Contents
❯ Quick Start
Installation
Install library by using npm
npm install kibana-generic-visualization
or by using yarn
yarn add kibana-generic-visualization
How to use
Step 1: Import KibanaGenericVisualization
Using CommonJS
module loader:
const { KibanaGenericVisualization } = require('kibana-generic-visualization');
Using ES6
module loader:
import { KibanaGenericVisualization } from 'kibana-generic-visualization';
Step 2: Create new instance of KibanaGenericVisualization
Create new instance of KibanaGenericVisualization
and provide config (about config have a look at API section):
const options = {
kibanaVersion: '6.3.2',
api: {
host: 'https://api-eu.logz.io/v1',
token: 'your-kibana-api-secret-token',
},
};
const kibanaGenericVisualization = new KibanaGenericVisualization(options);
Step 3: Create visualizations and dashboard
Create visualizations for each service instance and combine them in a dashboard.
const serviceNames {
'my-first-redis-service',
'my-second-redis-service',
};
const metrics = [
{ fieldName: 'metrics.mem_fragmentation_ratio', customLabel: 'Memory Fragmentation Ratio' },
{ fieldName: 'metrics.evicted_keys', customLabel: 'Removed Keys' },
];
const redisVisualizationIds = await kibanaGenericVisualization.createVisualizations(
'line', // visualization type
serviceNames, // service names array
serviceName => `Redis ${serviceName} Metric`, // generic visualization name
metrics, // log attributes to display
'my-saved-search-id' // saved search id
);
const dashboardGridOptions = {
width: 24,
height: 15,
maxWidth: 48,
};
kibanaGenericVisualization.createDashboard('Redis Dashboard', redisVisualizationIds.created, dashboardGridOptions);
API
Options
| Option | Description |
| --------------- | ------------------------- |
| kibanaVersion
| Version of Kibana |
| api.host
| Kibana API endpoint host |
| api.token
| Kibana API endpoint token |
Methods
| Method | Description |
| ----------------------------------------------------------------------------- | -------------------------------------- |
| createVisualizations(stateType, serviceNames, title, fields, savedSearchId)
| Create kibana visualizations |
| createDashboard(title, visualizationIds, dashboardGridConfig)
| Create kibana dashboard |
| getKibanaObjectsByType(objectType)
| Get objects from kibana by object type |