Skip to content

Commit

Permalink
GITBOOK-93: No subject
Browse files Browse the repository at this point in the history
  • Loading branch information
doppleware authored and gitbook-bot committed Apr 9, 2024
1 parent 7d664f3 commit a382c28
Show file tree
Hide file tree
Showing 8 changed files with 90 additions and 55 deletions.
Binary file added .gitbook/assets/image (24) (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (24) (2).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (30).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ description: >-

### What you can find here

* How to install Digma, [locally](<README (1).md>) or in your [K8s Cluster](installation/central-on-prem-install.md)
* How to install Digma, [locally](installation/local-install/) or in your [K8s Cluster](installation/central-on-prem-install.md)
* How to [send observability data](broken-reference) from your code for Digma to Analyze
* Understanding the [core concepts](broken-reference) and terminology
* A deeper dive into the different [features and functionality](broken-reference)
4 changes: 3 additions & 1 deletion SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@

## Installation

* [Local Install](<README (1).md>)
* [Local Install](installation/local-install/README.md)
* [Local Install Architecture](installation/local-install/local-install-architecture.md)
* [Installation Troubleshooting](installation/local-install/installation-troubleshooting.md)
* [Central (on-prem) Install](installation/central-on-prem-install.md)

## Instrumentation
Expand Down
60 changes: 7 additions & 53 deletions README (1).md → installation/local-install/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ description: >-

The Digma Plugin is available on the IntelliJ Marketplace.&#x20;

<figure><img src=".gitbook/assets/image (2) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (2) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>

You can install the plugin from your IDE or open the plugin [page](https://plugins.jetbrains.com/plugin/19470-digma-continuous-feedback) in your browser. &#x20;

Expand All @@ -26,15 +26,15 @@ Digma runs locally on your machine. To process all of the captured traces, analy

After the plugin installs you'll get to choose the preferred way to install the Digma Engine. Several options are available:

<figure><img src=".gitbook/assets/image (5) (1) (1).png" alt="" width="240"><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (5) (1) (1).png" alt="" width="240"><figcaption></figcaption></figure>

<details>

<summary>Auto install (Default)</summary>

This is the default option. After installation, the plugin will try to start the Digme Engine containers on your local Docker environment and will offer clear controls to allow you to `Stop` `Start` or `Remove` it. The benefit of using this approach is that Digma will be able to also update the Engine automatically when a new release becomes available.&#x20;

![](<.gitbook/assets/image (4) (1) (1) (1).png>)
![](<../../.gitbook/assets/image (4) (1) (1) (1).png>)

</details>

Expand All @@ -46,7 +46,7 @@ You can simply install Digma yourself using the Docker Compose file.&#x20;

Simply select the `Docker Compose` tab from the onboarding page and follow the instructions to download the Docker Compose file and run it locally.

![](<.gitbook/assets/image (6).png>)
![](<../../.gitbook/assets/image (6).png>)

Notice that you can use this method to deploy to other Docker platforms Both Rancher Desktop and Podman support the Docker Compose spec so you can use [Rancher Compose](https://rancher.com/docs/rancher/v1.6/en/cattle/rancher-compose/) or [Podman Compose ](https://docs.podman.io/en/latest/markdown/podman-compose.1.html)respectively. &#x20;

Expand All @@ -62,63 +62,17 @@ You can install the Digma Extension from the Docker Marketplace or by visiting t

</details>

### Digma Analytics Engine architecture

The Digma Engine is defined in a simple Docker Compose [file](https://github.com/digma-ai/digma/blob/main/docker/docker-compose.yml) that is available online and consists of four containers:

* `Digma Compound`- This container holds the Digma analytics engine for processing traces
* `Digma Persistence` - DBs and storage for processing the time series data and aggregating it
* `Jaeger` - An embedded Jaeger instance that also has additional features for linking spans with code
* `Digma DS` - All of the data science and ML logic for detecting anomalies, calculating correlations, etc
###

### Changing the default ports

Digma exposes three ports for a local install:

* Jaeger port (default `17686`) - This allows the plugin to show traces from internal Digma Jaeger instance&#x20;
* Digma API (default `5051`) - This is the port the IntelliJ plugin uses to communicate with the Digma Analitcs Engine to show insights, assets etc.
* Collector API (default `5050`) - Used to send traces to Digma from your Java application.&#x20;

The easiest way to chance the default ports if they conflict with anything on your machine is to install Digma locally using the Docker Compose file and simply change the port mapping.

The default Digma API or Jaeger ports simply add the below:

```
jaeger:
image: jaegertracing/all-in-one:1.45.0
expose:
- "5317"
ports:
- "[NEW_JAEGER_PORT]:16686"
digma-compound:
image: digmatic/digma-compound:0.2.249
ports:
- "5050:5050"
- "[NEW_API_PORT]:5051"
```

If you need to change the default collector port (:5050), the change also requires setting en env variable as folows:

```
digma-compound:
image: digmatic/digma-compound:0.2.249
ports:
- “[NEW_COLLECTOR_PORT:NEW_COLLECTOR_PORT”
- “5051:5051"
environment:
- Collector.Endpoints__Default__Port=NEW_COLLECTOR_PORT
```

Finally, update the new ports in the plugin settings page which you can access via the IntellIJ settings page.

<figure><img src=".gitbook/assets/image (5).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (5).png" alt=""><figcaption></figcaption></figure>

### How do I know Digma is Running?

If you've run Digma via any of the first two options, you can check that the Analytics Engine containers are up and running. In the IDE you should see both the Observability side panel and the Insights side panel showing up with no errors and waiting to receive data.

<figure><img src=".gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>



60 changes: 60 additions & 0 deletions installation/local-install/installation-troubleshooting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Installation Troubleshooting

<details>

<summary>Port conflicts</summary>

If your system is using one of the default ports required by Digma, you can easily change the port configuration by modifying the Digma Docker Compose file.

To change the default Digma API or Jaeger ports simply add the below:

```
jaeger:
image: jaegertracing/all-in-one:1.45.0
expose:
- "5317"
ports:
- "[NEW_JAEGER_PORT]:16686"
digma-compound:
image: digmatic/digma-compound:0.2.249
ports:
- "5050:5050"
- "[NEW_API_PORT]:5051"
```

If you need to change the default collector port (:5050), the change also requires an additional step of setting an environment variable as follows:

```
digma-compound:
image: digmatic/digma-compound:0.2.249
ports:
- “[NEW_COLLECTOR_PORT:NEW_COLLECTOR_PORT”
- “5051:5051"
environment:
- Collector.Endpoints__Default__Port=NEW_COLLECTOR_PORT
```

Finally, update the new ports in the plugin settings page which you can access via the IntellIJ settings page:

<img src="../../.gitbook/assets/image (24) (1).png" alt="" data-size="original">





</details>

<details>

<summary>Digma unstable - containers failed to connect or constantly disconnecting</summary>

This is often related to memory limits related to the resources assigned to your Docker platform. When Digma is busy processing data, some of its components might use up more memory, peaking at a little over 2GB before going down again.

1. Try increasing the memory available to the Docker VM to at least 3GB
2. Check the docker logs for the restarting container to pick up on any issues
3. If you are using Docker Desktop make sure you update it to the latest release

</details>

Can't find the answers you are looking for? Try out [Slack](https://join.slack.com/t/continuous-feedback/shared\_invite/zt-1hk5rbjow-yXOIxyyYOLSXpCZ4RXstgA) channel.
19 changes: 19 additions & 0 deletions installation/local-install/local-install-architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Local Install Architecture

<figure><img src="../../.gitbook/assets/image (30).png" alt="" width="375"><figcaption><p>Digma Local Install Architecture</p></figcaption></figure>

The Digma Engine is defined in a simple Docker Compose [file](https://github.com/digma-ai/digma/blob/main/docker/docker-compose.yml) that is available online and consists of four containers:

* `Digma Compound`- This container holds the Digma analytics engine for processing traces
* `Digma Persistence` - DBs and storage for processing the time series data and aggregating it
* `Jaeger` - An embedded Jaeger instance that also has additional features for linking spans with code
* `Digma DS` - All of the data science and ML logic for detecting anomalies, calculating correlations, etc

### Default Ports

The following are the default ports used by Digma:

* `5050` is used to collect observability data. This will use the OTEL standard so can accept traces from any OTLP exporter.
* `5051` is used as a backend API for the plugin. The plugin uses it to retrieve and render the insights and processed data
* `17686` is the default embedded Jaeger port. This is used to render the visualization for traces including code location data.

0 comments on commit a382c28

Please sign in to comment.