Skip to content

Commit 53a5b37

Browse files
Piotr BelkePiotr Belke
Piotr Belke
authored and
Piotr Belke
committed
Merge branch 'IKC-410-data-masking-policy-form' into IKC-412-apply-data-masking-policies
2 parents 7c3c038 + e6840da commit 53a5b37

File tree

74 files changed

+1387
-417
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+1387
-417
lines changed
71.5 KB
Loading
Loading
Loading
60.1 KB
Loading
81.8 KB
Loading
32.2 KB
Loading
185 KB
Loading
Loading
Loading

docs/FAQ.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,56 +15,56 @@ com.consdata.kouncil.KouncilRuntimeException: java.util.concurrent.ExecutionExce
1515
```
1616
follow one of the below fixes.
1717

18-
If you run Kafka in terminal (not using docker) you can:
18+
If you run Kafka in terminal (not using Docker) you can:
1919

20-
1. use your host IP address. In that case you would have to modify IP address of listeners and advertised.listeners in server.properties. Kouncil docker run command would look like this (replace <host_ip_address> to yours IP address):
20+
1. Use your host IP address - in this case you need to modify the IP address of listeners and advertised.listeners in server.properties. Kouncil Docker run command would look like this (replace <host_ip_address> with yours IP address):
2121
```bash
2222
docker run -p 80:8080 -e bootstrapServers="<host_ip_address>:9092" -e kouncil.auth.active-provider="inmemory" consdata/kouncil:latest
2323
```
2424

2525
Kouncil will be available via: http://localhost/login
2626

27-
2. use IP address of the docker bridge network. To find that IP address you have to run docker network inspect bridge in terminal and under Config use value assigned to Gateway. Also you have to modify IP address of listeners and advertised.listeners in server.properties to the found IP address of the gateway. If you run Kouncil in Windows or Mac you should be able to use host.docker.internal as IP address of bootstrapServer.
27+
2. Use the IP address of the Docker bridge network - to find that IP address, run Docker network, inspect the bridge in the terminal, and under Config, use the value assigned to Gateway. You also need to modify the IP addresses of listeners and advertised.listeners in server.properties to the IP address of the gateway. If you run Kouncil on Windows or Mac, you should be able to use host.docker.internal as the IP address of bootstrapServer.
2828
```bash
2929
docker run -p 80:8080 -e bootstrapServers="host.docker.internal:9092" -e kouncil.auth.active-provider="inmemory" consdata/kouncil:latest
3030
```
31-
But if you are using Linux you will have to use --add-host:
31+
If you are using Linux, you will have to use --add-host:
3232
```bash
3333
docker run -p 80:8080 -e bootstrapServers="host.docker.internal:9092" --add-host=host.docker.internal:host-gateway -e kouncil.auth.active-provider="inmemory" consdata/kouncil:latest
3434
```
3535
Kouncil will be available via: http://localhost/login
3636

37-
3. add --network host to Kouncil docker command. It will look like this (as you can see I also removed publish flag as this is discarded by docker when using host network mode):
37+
3. Add --network host to Kouncil Docker command. It will look like this (as you can see, I removed the publish flag as it is discarded by Docker when using host network mode):
3838
```bash
3939
docker run -e bootstrapServers="localhost:9092" --network host -e kouncil.auth.active-provider="inmemory" consdata/kouncil:latest
4040
```
4141
Kouncil will be available via: http://localhost:8080/login
4242

4343

44-
If you run Kafka using docker container you have to put both containers in the same network, so they can reach out to each other. Firstly create new network using
44+
If you run Kafka using a Docker container, you have to put both containers in the same network, so they can communicate with each other. First, create a new network using
4545
```bash
4646
docker network create --driver bridge <network_name>
4747
```
48-
Then use this network name in run command/docker compose files, for example Kouncil docker run command will look like this:
48+
Then use this network name in run command/Docker compose files, for example, Kouncil Docker run command will look like this:
4949
```bash
5050
docker run -p 80:8080 -e bootstrapServers="<container_name>:9092" --network="<network_name>" -e kouncil.auth.active-provider="inmemory" consdata/kouncil:latest
5151
```
52-
Also, you should use Kafka docker container name as IP address (see <container_name>)
52+
Also, you should use Kafka Docker container name as an IP address (see <container_name>)
5353

5454
## I logged in and I see only brokers and consumer groups.
5555

5656
You logged in as an administrator user, `admin`. In this case we have few possible solutions:
5757

58-
1. Log in as a user with editor role (in default configuration it will be the `editor` user)
59-
2. Pass environment variable, `-e`, `kouncil.authorization.role-editor` in `docker run` command, which will include the group name for the `admin` user. This value will be used instead of the value from default configuration. Docker run command will look like this:
58+
1. Log in as a user with the editor’s role (in default configuration, it will be the `editor` user)
59+
2. Pass the environment variable, `-e`, `kouncil.authorization.role-editor` in the `docker run` command, with the value of the group name for the admin user. This value will be used instead of the value from default configuration. The Docker run command will look like this:
6060
```bash
6161
docker run -p 80:8080 -e kouncil.authorization.role-editor="editor_group;admin_group" consdata/kouncil:latest
6262
```
6363

64-
3. In docker run command mount volume which will have a custom configuration file. Docker run command will look like this:
64+
3. In the Docker run command, mount a volume with a custom configuration file. The command will look like this:
6565
```bash
6666
docker run -p 80:8080 -v <path to kouncil.yaml config file>:/config/ consdata/kouncil:latest
6767
```
6868

6969
## I don't see any resolution to my issue
70-
Please [reach out to us](mailto:kouncil@consdata.com)
70+
Please [reach out to us](https://kouncil.io/contact-us/)

docs/FEATURES.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
# Features
22

3-
Here are some of the main features of Kouncil. This list is not exhaustive, check out our [demo app](https://kouncil-demo.web.app/) or [quickly install Kouncil](README.md#quick-start) to experience them first-hand.
3+
Here are some of the most important features of Kouncil. This list is not exhaustive. Check out
4+
our [demo app](https://kouncil-demo.web.app/) or [quickly install Kouncil](README.md#quick-start) to
5+
experience all features first-hand.
46

57
## Advanced record browsing in table format
68

7-
Thanks to Kouncil's convenient way of presenting records in table format even large amounts of complex messages can be easily browsed. You can choose between browsing a single partition or a topic as a whole. If you wish to examine any of the messages more closely you can view its source, copy it to clipboard, or even post it again.
9+
Thanks to Kouncil's convenient way of presenting records in a table format, even large amounts of
10+
complex messages can be easily browsed. You can choose between browsing a single partition or a
11+
topic as a whole. If you wish to examine any of the messages more closely, you can view its source,
12+
copy it to a clipboard, or even post it again.
813

914
<p align="left">
1015
<img src=".github/img/kouncil_topic_details_border.png" width="400">
@@ -16,27 +21,34 @@ Thanks to Kouncil's convenient way of presenting records in table format even la
1621

1722
## Multiple cluster support
1823

19-
If your config spans across multiple Kafka clusters it's no problem for Kouncil. You can switch between them at any time, without having to restart or reconfigure anything.
24+
If your config spans across multiple Kafka clusters, it's not a problem for Kouncil. You can switch
25+
between clusters at any time, without having to restart or reconfigure anything.
2026

2127
## Consumer monitoring
2228

23-
Monitoring your consumer groups is one of the most important things when dealing with Kafka. Are my consumers even connected to Kafka? Do they process events? If so, how fast? How long until they finish their workload? Kouncil can help you answer all those questions.
29+
Monitoring your consumer groups is one of the most important things when dealing with Kafka. Are my
30+
consumers even connected to Kafka? Do they process events? If so, how fast? How long until they
31+
finish their work? Kouncil can help you answer all those questions.
2432

2533
<p align="left">
2634
<img src=".github/img/kouncil_consumer_group.png" width="820">
2735
</p>
2836

29-
3037
## Cluster monitoring
3138

32-
Monitoring your cluster's health can be as important as monitoring your consumer groups. Kouncil shows not only which brokers are currently connected to the cluster, but also their current resource consumption (using Kouncil's [advanced config](installation/DEPLOYMENT.md#docker---advanced-configuration))
39+
Monitoring your cluster's health can be as important as monitoring your consumer groups.
40+
Kouncil shows the brokers that are currently connected to the cluster and their current resource
41+
consumption (using
42+
Kouncil's [advanced config](installation/DEPLOYMENT.md#docker---advanced-configuration))
3343

3444
<p align="left">
3545
<img src=".github/img/kouncil_brokers.png" width="820">
3646
</p>
3747

38-
## Event Tracking
39-
Event Tracking enables monitoring and visualizing the path of a given event or process by means of Kafka topics.
48+
## Event tracking
49+
50+
Event tracking enables monitoring and visualizing the path of a given event or process across the
51+
Kafka topics.
4052

4153
<p align="left">
4254
<img src=".github/img/kouncil_event_tracking.png" width="820">

docs/README.md

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
# Kouncil for Apache Kafka
22

3-
Kouncil lets you monitor and manage your Apache Kafka clusters using a modern web interface. It's free & open source kafka web UI, [feature-rich](FEATURES.md#features) and [easy to set up](#quick-start)! This simple kafka tool makes your DATA detectible, helps to troubleshoot problems and deliver optimal solutions. Yoy can easily monitor brokers and their condition, consumer groups and their pace along with the current lag or simply view the content of topics in real time.
3+
Kouncil lets you monitor and manage your Apache Kafka clusters using a modern web interface.It's
4+
an [easy-to-set-up](#quick-start), [feature-rich](FEATURES.md#features), free and open-source Kafka
5+
web UI. This simple Kafka tool makes your DATA detectible, helps troubleshoot problems and deliver
6+
optimal solutions. You can easily monitor brokers and their condition, consumer groups and their
7+
pace along with the current lag, or view the content of topics in real time.
8+
9+
Here are some of **[Kouncil's](https://kouncil.io) main features**. For a more comprehensive list
10+
check out the [features section](FEATURES.md#features).
411

5-
Here are some of **the main features of [Kouncil](https://kouncil.io)**. For a more comprehensive list check out the [features section](FEATURES.md#features).
612
* Advanced record browsing in table format
713
* Multiple cluster support
814
* Cluster monitoring
@@ -11,7 +17,8 @@ Here are some of **the main features of [Kouncil](https://kouncil.io)**. For a m
1117

1218
## Demo app
1319

14-
If you wish to simply check out Kouncil in action, without having to install it, we've prepared a demo site showcasing the main features of Kouncil. The demo site can be found [here](https://kouncil-demo.web.app/)
20+
Check out Kouncil in action without installing it. We've prepared a demo site showcasing the main
21+
features of Kouncil, which can be found [here]. (https://kouncil-demo.web.app/)
1522

1623
## Quick start
1724

@@ -20,15 +27,25 @@ The easiest way to start working with Kouncil is by using Docker:
2027
```bash
2128
docker run -d -p 80:8080 -e bootstrapServers="kafka1:9092" -e kouncil.auth.active-provider="inmemory" consdata/kouncil:latest
2229
```
23-
There is only two required environment variables: `bootstrapServers` which should point to one of the brokers in your Kafka cluster and `kouncil.auth.active-provider` which specified authentication mode. For example, if your cluster consists of three brokers - kafka1:9092, kafka2:9092, kafka3:9092 - you only have to specify one of them (`-e bootstrapServers="kafka1:9092"`), and you are good to go, Kouncil will automatically do the rest!
30+
There are only two required environment variables: `bootstrapServers`, which should point to one of
31+
the brokers in your Kafka cluster, and `kouncil.auth.active-provider`, which specifies
32+
authentication mode. For example, if your cluster consists of three brokers - kafka1:9092, kafka2:
33+
9092, kafka3:9092 - you only have to specify one of them (`-e bootstrapServers="kafka1:9092"`), and
34+
you are good to go. Kouncil will automatically do the rest.
2435

25-
Additionally, Kouncil supports multiple clusters. Hosts specified in `bootstrapServers` may point to brokers in several clusters, and Kouncil will recognize that properly. Brokers should be separated using comma, i.e.: `docker run -d -p 80:8080 -e bootstrapServers="kafka1:9092,kafka1.another.cluster:8001" -e kouncil.auth.active-provider="inmemory" consdata/kouncil:latest`
36+
Additionally, Kouncil supports multiple clusters. Hosts specified in `bootstrapServers` may point to
37+
brokers in several clusters, and Kouncil will recognize that properly. Brokers should be separated
38+
using a comma,
39+
i.e.: `docker run -d -p 80:8080 -e bootstrapServers="kafka1:9092,kafka1.another.cluster:8001" -e kouncil.auth.active-provider="inmemory" consdata/kouncil:latest`
2640

27-
After the `docker run` command head to [http://localhost](http://localhost).
41+
After the `docker run` command, head to [http://localhost](http://localhost).
2842

2943
Images for Kouncil are hosted here: https://hub.docker.com/r/consdata/kouncil.
3044

31-
For more advanced configuration consult the [Deployment](installation/DEPLOYMENT.md#deployment) section.
45+
For more advanced configuration, consult the [Deployment](installation/DEPLOYMENT.md#deployment)
46+
section.
3247

3348
## Authentication
34-
Default credentials to log in to Kouncil are admin/admin. For more authentication option head out to [Authentication](configuration/security/AUTHENTICATION.md)
49+
50+
Default credentials to log in to Kouncil are admin/admin. For more authentication options, check
51+
out [Authentication](configuration/security/AUTHENTICATION.md)

docs/SUMMARY.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,14 @@
77
* [Development](installation/DEVELOPMENT.md)
88
* Configuration
99
* [Authentication](configuration/security/AUTHENTICATION.md)
10+
* [Local authentication](configuration/security/LOCAL_AUTHENTICATION.md)
11+
* [LDAP, LDAPS and AD authentication](configuration/security/LDAP.md)
12+
* SSO
13+
* [GitHub](configuration/security/GITHUB.md)
14+
* [Okta](configuration/security/OKTA.md)
1015
* [Authorization](configuration/security/AUTHORIZATION.md)
1116
* SSL/TLS Configuration
17+
* [Configuration](configuration/KAFKA_CLUSTER.md)
1218
* Kafka
1319
* [TLS configuration](configuration/kafka/TLS.md)
1420
* [Broker SSL configuration](configuration/kafka/SASL_PLAIN.md)
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
## Custom context path
22

3-
If you want to expose Kouncil in custom context path you need to set Spring's `kouncil.context-path` parameter.
4-
In docker run command it will look like this
3+
If you want to expose Kouncil in a custom context path, you need to set
4+
Spring's `kouncil.context-path` parameter.
5+
In Docker run command it will look like this
6+
57
```bash
68
docker run -d -p 80:8080 -e bootstrapServers="kafka1:9092" -e kouncil.context-path="/console" consdata/kouncil:latest
79
```
8-
After that, visit [http://localhost/console](http://localhost/console) in your browser, and you should be greeted by a login screen.
10+
11+
After that, visit [http://localhost/console](http://localhost/console) in your browser, and you
12+
should see a login screen.

docs/configuration/DATABASE.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
## Database configuration
22

33
Currently, Kouncil supports two databases:
4+
45
* PostgreSQL
56
* H2
67

78
If no database is specified with below properties, H2 in-memory database will be used.
89

910
### Configuration properties
11+
1012
* `spring.datasource.url` JDBC URL of the database
1113
* `spring.datasource.username` login username of the database
1214
* `spring.datasource.password` login password of the database
13-
* `spring.jpa.hibernate.default_schema` sets default schema
15+
* `spring.jpa.hibernate.default_schema` sets default schema
1416

1517
### Example
18+
1619
```yaml
1720
spring:
1821
datasource:
19-
url: jdbc:postgresql://localhost:5432/
20-
username: postgres
21-
password: password
22+
url: jdbc:postgresql://localhost:5432/
23+
username: postgres
24+
password: password
2225
jpa:
2326
hibernate:
2427
default_schema: kouncil

docs/configuration/JMX.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
## Advanced config - JMX monitoring
22

3-
If your Kafka brokers expose JMX metrics Kouncil can take advantage of that, displaying additional metrics. This is done using advanced config, where you can specify JMX parameters for each broker, like so:
3+
If your Kafka brokers expose JMX metrics, Kouncil can leverage them to display additional metrics.
4+
This is done using advanced config, where you can specify JMX parameters for each broker, as
5+
follows:
46

57
```yaml
68
kouncil:
@@ -17,7 +19,10 @@ kouncil:
1719
port: 9094
1820
jmxPort: 5090
1921
```
20-
This example assumes that broker does not require any kind of authentication to access JMX metrics - you only need to specify JMX port. If that's not the case, and JMX authentication is turned on, you can also specify JMX user and password:
22+
23+
This example assumes that the broker does not require authentication to access JMX metrics - you
24+
only need to specify the JMX port. If JMX authentication is enabled, you can also specify the JMX
25+
username and password:
2126
2227
```yaml
2328
kouncil:
@@ -40,7 +45,10 @@ kouncil:
4045
jmxUser: jmxAdmin
4146
jmxPassword: jmxPassword
4247
```
43-
It quickly becomes clear, that in many cases those properties (`jmxPort`, `jmxUser`, `jmxPassword`) will be identical for each of the brokers inside the cluster. For that reason, you can also specify them on a cluster level, and they will propagate to each broker:
48+
49+
It quickly becomes clear that, in many cases, the properties (`jmxPort`, `jmxUser`, `jmxPassword`)
50+
will be identical for all brokers within the cluster. For that reason, you can specify them at the
51+
cluster level, and they will be propagated to each broker:
4452

4553
```yaml
4654
kouncil:
@@ -51,15 +59,18 @@ kouncil:
5159
jmxPassword: jmxPassword
5260
brokers:
5361
- host: 192.10.0.1
54-
port: 9092
62+
port: 9092
5563
- host: 192.10.0.2
5664
port: 9093
5765
- host: 192.10.0.3
5866
port: 9094
5967
```
60-
All brokers inside `transaction-cluster` will share the same JMX configuration (`jmxPort` = `5088`, `jmxUser` = `jmxAdmin`, `jmxPassword` = `jmxPassword`).
6168

62-
Propagation of JMX parameters works independently for each of those parameters. For example, each of the brokers may have the same JMX user and password, but different port:
69+
All brokers within the `transaction-cluster` will share the same JMX
70+
configuration (`jmxPort` = `5088`, `jmxUser` = `jmxAdmin`, `jmxPassword` = `jmxPassword`).
71+
72+
Propagation of JMX parameters works independently for each parameter. For example, while all brokers
73+
may share the same JMX user and password, they can have different ports.
6374

6475
```yaml
6576
kouncil:
@@ -79,4 +90,3 @@ kouncil:
7990
jmxPort: 5090
8091
```
8192

82-
In the case of both simple and advanced configuration being present, the advanced configuration takes precedence.

docs/configuration/KAFKA_CLUSTER.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
## Managing Kafka clusters
2+
3+
Starting from version 1.9 you will be able to configure and secure your Kafka clusters from UI. To
4+
do it log in to the app and select Clusters menu item. You will see your clusters list. To add new
5+
cluster click `Add new cluster` button and cluster form will be opened.
6+
7+
<p align="left">
8+
<img src="../.github/img/kouncil_cluster_form.png" width="820">
9+
</p>
10+
11+
### Cluster SSL/TLS configuration
12+
13+
If your Kafka cluster requires any authentication you are able to configure `SASL`, `SSL`
14+
or `AWS MSK` authentication.
15+
16+
<p align="left">
17+
<img src="../.github/img/kouncil_cluster_form_cluster_security.png" width="820">
18+
</p>
19+
20+
### Schema registry
21+
22+
Within this form you are able to add Schema Registry to your cluster.
23+
24+
<p align="left">
25+
<img src="../.github/img/kouncil_cluster_form_schema_registry.png" width="820">
26+
</p>
27+
28+
If your Schema Registry requires any authentication you are able to configure `SSL`
29+
or `SSL with basic authentication` security.

0 commit comments

Comments
 (0)