You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Kibana is your window into the [Elastic Stack](https://www.elastic.co/products). Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.
3
+
Kibiter is a custom soft fork of [Kibana](https://github.com/elastic/kibana) which empowers [GrimoireLab](https://chaoss.github.io/grimoirelab/) Panels with metrics & data visualizations.
4
4
5
-
-[Getting Started](#getting-started)
6
-
-[Using a Kibana Release](#using-a-kibana-release)
7
-
-[Building and Running Kibana, and/or Contributing Code](#building-and-running-kibana-andor-contributing-code)
8
-
-[Documentation](#documentation)
9
-
-[Version Compatibility with Elasticsearch](#version-compatibility-with-elasticsearch)
-[Compatibility with Elasticsearch](#compatibility-with-elasticsearch)
8
+
-[Contributing](#contributing)
9
+
-[License](#license)
11
10
12
-
## Getting Started
11
+
## Installation
13
12
14
-
If you just want to try Kibana out, check out the [Elastic Stack Getting Started Page](https://www.elastic.co/start) to give it a whirl.
13
+
There are several ways for installing Kibiter on your system: from releases, Docker images or source code.
15
14
16
-
If you're interested in diving a bit deeper and getting a taste of Kibana's capabilities, head over to the [Kibana Getting Started Page](https://www.elastic.co/guide/en/kibana/current/getting-started.html).
15
+
### Releases
17
16
18
-
### Using a Kibana Release
17
+
- Go to [release tab](https://github.com/chaoss/grimoirelab-kibiter/releases) and download the version you want.
19
18
20
-
If you want to use a Kibana release in production, give it a test run, or just play around:
19
+
### Docker images
21
20
22
-
- Download the latest version on the [Kibana Download Page](https://www.elastic.co/downloads/kibana).
23
-
- Learn more about Kibana's features and capabilities on the
There are four Docker images of Kibiter, they have the following tags:
27
22
28
-
### Building and Running Kibana, and/or Contributing Code
23
+
-`bitergia/kibiter:community-v6.8.6-X` (being X the version of the release), the image that corresponds to the community version of Kibiter.
24
+
-`bitergia/kibiter:optimized-v6.8.6-X` (being X the version of the release), the image that corresponds to the optimized version of Kibiter.
25
+
-`bitergia/kibiter:secured-v6.8.6-X` (being X the version of the release), the image that corresponds to the secured (with Search Guard) version of Kibiter.
29
26
30
-
You may want to build Kibana locally to contribute some code, test out the latest features, or try
31
-
out an open PR:
27
+
#### Docker env variables for the secured version
32
28
33
-
-[CONTRIBUTING.md](CONTRIBUTING.md) will help you get Kibana up and running.
34
-
- If you would like to contribute code, please follow our [STYLEGUIDE.md](STYLEGUIDE.md).
35
-
- Learn more about our UI code with [UI_SYSTEMS.md](src/ui/public/UI_SYSTEMS.md).
36
-
- For all other questions, check out the [FAQ.md](FAQ.md) and
There are docker env variables for the secured image (`bitergia/kibiter:secured-v6.8.6-X`) that should be defined:
38
30
39
-
## Documentation
31
+
-`ELASTICSEARCH_URL`: This env variable defines the URL of the ElasticSearch that Kibiter will connect.
32
+
-`BASE_PATH`: Enables you to specify a path to mount Kibiter at if you are running behind a proxy.
33
+
-`PROJECT_NAME`: The name of the project that will be in the menu top bar and the page title.
34
+
-`ELASTICSEARCH_USER`: Username that will use Kibiter to connect to ElasticSearch.
35
+
-`ELASTICSEARCH_PASSWORD`: Password of the username that will use Kibiter to connect to ElasticSearch.
36
+
-`ANONYMOUS_USER`: If true, the anonymous user will be activated. If not defined or false, the anonymous user will be deactivated. ElasticSearch with SearchGuard plugin must have activated the anonymous authentication (`ANONYMOUS_USER` if using [Bitergia](https://github.com/Bitergia/elasticsearch) ElasticSearch image).
37
+
-`LOGIN_BRANDIMAGE`: This env variable must be an URL to an image, this image will be the logo of the login form. If not defined, the Bitergia logo will appear.
38
+
-`LOGIN_TITLE`: A string (or HTML) that will define the title of the login. If not defined, the title will be: `Please login to Bitergia Analytics Dashboard`.
39
+
-`LOGIN_SUBTITLE`: A string (or HTML) that will define the subtitle of the login. If not defined, the subtitle will be: `If you have forgotten your username or password, please contact the <a href="mailto:[email protected]?Subject=Credentials" target="_top">Bitergia staff</a>`.
40
40
41
-
Visit [Elastic.co](http://www.elastic.co/guide/en/kibana/current/index.html) for the full Kibana documentation.
41
+
### Source code
42
42
43
-
For information about building the documentation, see the README in [elastic/docs](https://github.com/elastic/docs).
43
+
Clone the repository from the branch `integration-6.8.6-<version>`, where version can be empty or //community//.
Ideally, you should be running Elasticsearch and Kibana with matching version numbers. If your Elasticsearch has an older version number or a newer _major_ number than Kibana, then Kibana will fail to run. If Elasticsearch has a newer minor or patch number than Kibana, then the Kibana Server will log a warning.
50
+
```
51
+
cd grimoirelab-kibiter
52
+
yarn kbn bootstrap
53
+
```
48
54
49
-
_Note: The version numbers below are only examples, meant to illustrate the relationships between different types of version numbers._
55
+
Launch Kibiter
56
+
```
57
+
./bin/kibana --oss
58
+
```
50
59
51
-
| Situation | Example Kibana version | Example ES version | Outcome |
60
+
## Features
61
+
62
+
Kibiter provides several features, not present in Kibana, that have been developed for GrimoireLab. The most important ones are described below.
63
+
64
+
### Panel menu
65
+
66
+
If you are using Kibiter with the [GrimoireLab](https://chaoss.github.io/grimoirelab/) tools, you will see a quick menu at the top of the page, like the one below:
This menu allows you to navigate through the GrimoireLab panels, see its structure below:
72
+
73
+
<imgalt="Panel menu opened"src="https://i.imgur.com/9yimD9m.png">
74
+
75
+
### New visualization plugins
76
+
77
+
Kibiter has several plugins installed by default, they improve the user customization and add more information to the dashboards. Clearly, they are all open source. The plugins are listed below:
78
+
79
+
-[Network plugin](https://github.com/dlumbrer/kbn_network) supports data visualization in a graph-style way.
80
+
-[Searchtables plugin](https://github.com/dlumbrer/kbn_searchtables) improves Kibiter tables by adding a search box to perform searches without applying filters.
81
+
-[Radar plugin](https://github.com/dlumbrer/kbn_radar) allows to explore the data using radar visualizations.
82
+
-[Dot plot plugin](https://github.com/dlumbrer/kbn_dotplot) empowers Kibiter with dot-plot visualizations, granting to add metrics in both X and Y axis.
83
+
-[Polar plugin](https://github.com/dlumbrer/kbn_network) enhances Kibiter with polar visualizations for your data.
84
+
-[Enhanced table](https://github.com/fbaligand/kibana-enhanced-table) This Kibtier visualization plugin uses the Data Table, but with enhanced features like computed columns, filter bar and pivot table.
85
+
86
+
## Version compatibility with Elasticsearch
87
+
88
+
Following the Kibana docs, you should be running Elasticsearch and Kibiter with matching version numbers. However, Kibiter will run (and log a warning) in case your Elasticsearch has a newer minor or patch number.
89
+
Note that Kibiter won't be able to run, if your Elasticsearch has an older version number or a newer _major_ number.
90
+
91
+
The table below shows some examples to illustrate the relationships between different types of version numbers.
92
+
93
+
| Situation | Example Kibiter version | Example ES version | Outcome |
| ES patch number is newer. | 5.1.__2__| 5.1.__5__| ⚠️ Logged warning |
@@ -58,9 +100,12 @@ _Note: The version numbers below are only examples, meant to illustrate the rela
58
100
| ES minor number is older. | 5.__1__.2 | 5.__0__.0 | 🚫 Fatal error |
59
101
| ES major number is older. |__5__.1.2 |__4__.0.0 | 🚫 Fatal error |
60
102
61
-
## Questions? Problems? Suggestions?
103
+
## Contributing
104
+
105
+
We happily accept contributions, and we will help you in case you need. We follow the same contribution process that Kibana provides, thus have a look at:
106
+
107
+
-[CONTRIBUTING.md](CONTRIBUTING.md) if you want to get Kibiter up and running.
108
+
-[STYLEGUIDE.md](STYLEGUIDE.md) if you plan to submit a pull request.
109
+
-[GitHub issue tracker](https://github.com/chaoss/grimoirelab-kibiter/issues) for all other questions, we will answer you as soon as possible.
62
110
63
-
- If you've found a bug or want to request a feature, please create a [GitHub Issue](https://github.com/elastic/kibana/issues/new).
64
-
Please check to make sure someone else hasn't already created an issue for the same topic.
65
-
- Need help using Kibana? Ask away on our [Kibana Discuss Forum](https://discuss.elastic.co/c/kibana) and a fellow community member or
66
-
Elastic engineer will be glad to help you out.
111
+
If you find a bug or want to request a new feature, please open a issue on [GitHub](https://github.com/chaoss/grimoirelab-kibiter/issues). To avoid duplicated issues, check the existing issues to make sure someone else hasn't already created a similar one.
sed -ri "s!^(\#\s*)?(elasticsearch\.hosts:).*!\2 ['$ELASTICSEARCH_URL']!" /opt/kibana/config/kibana.yml
15
+
else
16
+
echo>&2'warning: missing ELASTICSEARCH_PORT_9200_TCP or ELASTICSEARCH_URL'
17
+
echo>&2' Did you forget to --link some-elasticsearch:elasticsearch'
18
+
echo>&2' or -e ELASTICSEARCH_URL=http://some-elasticsearch:9200 ?'
19
+
echo>&2
20
+
fi
21
+
sed -e "s|^#server.host: .*$|server.host: 0.0.0.0|" -i /opt/kibana/config/kibana.yml
22
+
23
+
if [ "$BASE_PATH"!="" ];then
24
+
sed -e "s|^#server.basePath: \"\".*$|server.basePath: \"$BASE_PATH\"|" -i /opt/kibana/config/kibana.yml
25
+
fi
26
+
27
+
if [ "$PROJECT_NAME"!="" ];then
28
+
sed -e "s/title: 'Kibana',$/title: '$PROJECT_NAME',/" -i /opt/kibana/src/legacy/core_plugins/kibana/index.js
29
+
sed -e "s|__PROJECT__|$PROJECT_NAME|" -i /opt/kibana/src/ui/ui_render/views/chrome.pug
30
+
fi
31
+
32
+
if [ "$ELASTICSEARCH_USER"!=""-a"$ELASTICSEARCH_PASSWORD"!="" ];then
33
+
sed -e "s|^#elasticsearch.username:.*$|elasticsearch.username: \"$ELASTICSEARCH_USER\"|" -i /opt/kibana/config/kibana.yml
34
+
sed -e "s|^#elasticsearch.password:.*$|elasticsearch.password: \"$ELASTICSEARCH_PASSWORD\"|" -i /opt/kibana/config/kibana.yml
35
+
else
36
+
echo>&2'error: ELASTICSEARCH_USER or/and ELASTICSEARCH_PASSWORD environment variables were not configured'
37
+
echo>&2' these two docker environment variables must be configured before running the container'
38
+
exit 1
39
+
fi
40
+
41
+
if [ "$ANONYMOUS_USER"!="" ];then
42
+
sed -e "s|^#searchguard.auth.anonymous_auth_enabled:.*$|searchguard.auth.anonymous_auth_enabled: \"$ANONYMOUS_USER\"|" -i /opt/kibana/config/kibana.yml
43
+
fi
44
+
45
+
if [ "$LOGIN_BRANDIMAGE"!="" ];then
46
+
sed -e "s|^#searchguard.basicauth.login.brandimage:.*$|searchguard.basicauth.login.brandimage: \"$LOGIN_BRANDIMAGE\"|" -i /opt/kibana/config/kibana.yml
47
+
else
48
+
sed -e "s|^#searchguard.basicauth.login.brandimage:.*$|searchguard.basicauth.login.brandimage: 'https://bitergia.com/assets/img/bitergia_logo-907x227.png'|" -i /opt/kibana/config/kibana.yml
49
+
fi
50
+
51
+
if [ "$LOGIN_TITLE"!="" ];then
52
+
sed -e "s|^#searchguard.basicauth.login.title:.*$|searchguard.basicauth.login.title: \"$LOGIN_TITLE\"|" -i /opt/kibana/config/kibana.yml
53
+
else
54
+
sed -e "s|^#searchguard.basicauth.login.title:.*$|searchguard.basicauth.login.title: Please login to Bitergia Analytics Dashboard|" -i /opt/kibana/config/kibana.yml
55
+
fi
56
+
57
+
if [ "$LOGIN_SUBTITLE"!="" ];then
58
+
sed -e "s|^#searchguard.basicauth.login.subtitle:.*$|searchguard.basicauth.login.subtitle: \"$LOGIN_SUBTITLE\"|" -i /opt/kibana/config/kibana.yml
59
+
else
60
+
sed -e 's|^#searchguard.basicauth.login.subtitle:.*$|searchguard.basicauth.login.subtitle: If you have forgotten your username or password, please contact the <a href="mailto:[email protected]?Subject=Credentials" target="_top">Bitergia staff</a>|' -i /opt/kibana/config/kibana.yml
0 commit comments