Skip to content
This repository has been archived by the owner on Jun 17, 2024. It is now read-only.

Commit

Permalink
docs: 📝 Install and operate docs changes
Browse files Browse the repository at this point in the history
Signed-off-by: Prashant Shahi <prashant@signoz.io>
  • Loading branch information
prashant-shahi committed Feb 18, 2022
1 parent eee5954 commit e46f682
Show file tree
Hide file tree
Showing 9 changed files with 207 additions and 40 deletions.
22 changes: 12 additions & 10 deletions docs/install/docker-standalone.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ If you're using a different Linux distribution, see the [Install SigNoz Using Do

2. Run the `install.sh` script:

```bash
```bash
./install.sh
```
```

## Install SigNoz Using Docker Compose

Expand Down Expand Up @@ -81,12 +81,12 @@ Before you install Signoz, ensure that [Docker Compose](https://docs.docker.com/

1. Ensure that your containers are running correctly. To view the status of your containers, run the following command:

```bash
```bash
docker ps
```
```
The output should look similar to the following:

```output
```output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
130fee61f894 signoz/frontend:0.6.1 "nginx -g 'daemon of…" 4 minutes ago Up 4 minutes 80/tcp, 0.0.0.0:3301->3301/tcp, :::3301->3301/tcp frontend
7c957db328d3 signoz/otelcontribcol:0.5.0 "/otelcontribcol --c…" 4 minutes ago Up 4 minutes 4317/tcp, 55679-55680/tcp clickhouse-setup_otel-collector-metrics_1
Expand All @@ -96,7 +96,7 @@ d1706dd5903e grubykarol/locust:1.2.3-python3.9-alpine3.12 "/docker-entrypoin
a5360a1d773f signoz/alertmanager:0.5.0 "/bin/alertmanager -…" 4 minutes ago Up 4 minutes 9093/tcp clickhouse-setup_alertmanager_1
874b01ec9d4d yandex/clickhouse-server:21.12.3.32 "/entrypoint.sh" 4 minutes ago Up 4 minutes (healthy) 8123/tcp, 9000/tcp, 9009/tcp clickhouse-setup_clickhouse_1
3694594501fa jaegertracing/example-hotrod:1.30 "/go/bin/hotrod-linu…" 4 minutes ago Up 4 minutes 8080-8083/tcp hotrod
```
```

2. Wait for all the pods to be in running state, and then point your browser to `http://<IP-ADDRESS>:3301/` to access the dashboard, replacing `<IP-ADDRESS>` with the IP address of the machine where you installed SigNoz.

Expand Down Expand Up @@ -124,15 +124,17 @@ The `docker-compose.yaml` installs a sample application named [HotR.O.D](https:/
1. <CloneRepo />

2. Checkout to the specific version tag. For example, to install SigNoz version `v0.5.4`:
```
```
git checkout v0.5.4
```
```

3. Run the `install.sh` script:

```bash
```bash
./install.sh
```
```

Go to [Docker Standalone Operate](/docs/operate/docker-standalone) section for detailed instructions.

## Related Topics

Expand Down
3 changes: 2 additions & 1 deletion docs/install/docker-swarm.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,10 @@ docker stack deploy -c docker-swarm/clickhouse-setup/docker-compose.yaml signoz
docker stack services signoz
```

Go to [Docker Swarm Operate](/docs/operate/docker-swarm) section for detailed instructions.

## Next Steps

- [Instrument Your Application](/docs/instrumentation/overview)
- [User Guides](/docs/userguide/overview/)
- [Tutorials](/docs/tutorials/)
- [Operate SigNoz on Docker Swarm](/docs/operate/docker-swarm)
24 changes: 1 addition & 23 deletions docs/install/kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,29 +117,7 @@ kubectl -n sample-application run strzal --image=djbingham/curl \
http://locust-master:8089/stop
```

## Install specific version of SigNoz

1. List the available SigNoz Helm charts with their version and supported app version.
```bash
helm search repo signoz --versions
```
The output should look similar to the following:
```output
NAME CHART VERSION APP VERSION DESCRIPTION
signoz/signoz 0.0.6 0.6.1 SigNoz Observability Platform Helm Chart
signoz/signoz 0.0.5 0.6.0 SigNoz Observability Platform Helm Chart
signoz/signoz 0.0.4 0.5.4 SigNoz Observability Platform Helm Chart
signoz/signoz 0.0.3 0.5.4 SigNoz Observability Platform Helm Chart
signoz/signoz 0.0.2 0.5.4 SigNoz Observability Platform Helm Chart
signoz/alertmanager 0.5.1 0.5.0 The Alertmanager handles alerts for SigNoz.
signoz/alertmanager 0.5.0 0.5.0 The Alertmanager handles alerts for SigNoz.
signoz/clickhouse 9.1.0 21.7 A Helm chart for ClickHouse
```

2. Run the following command to install the chart version `0.0.4` running SigNoz version `0.5.4` with the release name `my-release` and namespace `platform`:
```bash
helm --namespace platform install my-release signoz/signoz --version 0.0.4
```
Go to [Kubernetes Operate](/docs/operate/kubernetes) section for detailed instructions.

## Next Steps

Expand Down
8 changes: 4 additions & 4 deletions docs/install/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ kubectl -n app-namespace run troubleshoot --image=signoz/troubleshoot \
```

_*Notes:_
1. Replace `app-namespace` with your application namespace, `my-release` with SigNoz helm release name, and `platform` with SigNoz namespace.
2. In case on multiple k8s cluster, you might have to set otel collector service type as `NodePort` or `LoadBalancer`.
```
1. Replace `app-namespace` with your application namespace, `my-release` with SigNoz helm release name, and `platform` with SigNoz namespace.
2. In case on multiple k8s cluster, you might have to set otel collector service type as `NodePort` or `LoadBalancer`.
```bash
helm upgrade --install -n platform my-release signoz/signoz \
--set otelCollector.serviceType="<NodePort or LoadBalancer>"
```
```

## Docker Standalone

Expand Down
53 changes: 53 additions & 0 deletions docs/operate/configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
id: configuration
title: Configuration
description: Learn how to configure SigNoz
---

You can configure for SigNoz with different options.

If no configuration for an option is set, then the default value as described is applied.

## Environment variables

When using SigNoz, there are various environment variables you can set to configure your SigNoz cluster.

Here is a comprehensive list of all of them. However, for general use, you most likely do not have to worry about most of these.

### Query Service

<APITable>

| Environment Variable | Description | Default Value |
| -------- | ----------- | ------------- |
| `STORAGE` | Database for the storage (one of `clickhouse` or `druid`(deprecated) | `clickhouse` |
| `GODEBUG` | Go runtime name resolver (one of `netdns=go` or `netdns=cgo`). [More info](https://pkg.go.dev/net#hdr-Name_Resolution). | `netdns=go` |
| `TELEMETRY_ENABLED` | Enable telemetry events collection. | `true` |
| `ALERTMANAGER_API_PREFIX` | Endpoint of alertmanager with API prefix. | `http://alertmanager:9093/api/` |
| `ClickHouseUrl`| ClickHouse database endpoint with TCP port | `tcp://localhost:9000` |

</APITable>

### Otel Collector

Otel Collector supports multiple combination of options.
Using the configuration file, you can pass `receivers`, `processors`, `extensions`, `exporters` and `service` as per your requirements.
You can find the complete otel collector configuration in the [OpenTelemetry documentation](https://opentelemetry.io/docs/collector/configuration/).

By default, SigNoz runs with [this default Otel Collector configuration](https://github.com/SigNoz/signoz/blob/main/deploy/docker/clickhouse-setup/otel-collector-config.yaml).

For any configuration changes in **Docker**, you would have to update `/deploy/docker/clickhouse-setup/otel-collector-config.yaml` and bring up Otel Collector.

### Otel Collector Metrics

Otel Collector Metrics uses same image and binary as that of the Otel Collector.
Hence, you will find the configuration similarities of that of [Otel Collector](/docs/operate/configuration#otel-collector).

By default, SigNoz runs with [this default Otel Collector Metrics configuration](https://github.com/SigNoz/signoz/blob/main/deploy/docker/clickhouse-setup/otel-collector-metrics-config.yaml).
For any configuration changes in **Docker**, you would have to update `/deploy/docker/clickhouse-setup/otel-collector-metrics-config.yaml` and bring up Otel Collector.


## Kubernetes Configuration

The latest helm chart configuration settings can be found:
- https://github.com/signoz/charts/blob/main/charts/signoz/README.md#configuration
30 changes: 29 additions & 1 deletion docs/operate/docker-standalone.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,36 @@ import TabItem from '@theme/TabItem';

Once you have successfully installed SigNoz on Docker Standalone, the following sections provide an overview of the activities that are required to successfully operate SigNoz.

## Stop/Start

## Uninstall SigNoz
To stop the running SigNoz cluster:

```bash
sudo docker-compose -f docker/clickhouse-setup/docker-compose.yaml stop
```

To start/resume the running SigNoz cluster:

```bash
sudo docker-compose -f docker/clickhouse-setup/docker-compose.yaml up
```

_*Note: The stopped SigNoz cluster should resume and mount volumes to the existing local path._

## Upgrade

To upgrade, you can manually update the image tag for `query-service`, `frontend` and `otel-collector`.
And run the command to start the cluster:

```bash
sudo docker-compose -f docker/clickhouse-setup/docker-compose.yaml up
```

_*Note:_
- Be careful! There might be configuration changes and version mismatch.
- Before upgrading, checkout to the release tag: for example `git checkout v0.6.1` and compare the Docker Compose YAML and config files.

## Uninstall

Enter the following command to uninstall SigNoz:

Expand Down
38 changes: 38 additions & 0 deletions docs/operate/docker-swarm.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,44 @@ description: Learn how to operate SigNoz on Docker Swarm

Once you have successfully installed SigNoz on Docker Swarm, the following sections provide an overview of the activities that are required to successfully operate SigNoz.

## Stop/Start

To stop the running SigNoz cluster:

```bash
docker stack rm signoz
```

To start/resume the running SigNoz cluster:

```bash
docker stack deploy -c docker-swarm/clickhouse-setup/docker-compose.yaml signoz
```

_*Note: The newly created SigNoz cluster should mount on the existing local path in the node._


## Upgrade

To upgrade, you can manually update the image tag for `query-service`, `frontend` and `otel-collector`.
And run the command to start the cluster:

```bash
docker stack deploy -c docker-swarm/clickhouse-setup/docker-compose.yaml signoz
```

_*Note:_
- Be careful! There might be configuration changes and version mismatch.
- Before upgrading, checkout to the release tag: for example `git checkout v0.6.1` and compare the Docker Compose YAML and config files.

## Uninstall

To delete/uninstall SigNoz cluster:

```bash
docker stack rm signoz
```

## Scale Up

SigNoz uses the [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector) to ingest data. By default, the instructions in the [Install SigNoz on Docker Swarm](/docs/install/docker-swarm) document create three replicas, and each replica can handle 50K spans per second. To handle an increased load, perform the following steps:
Expand Down
68 changes: 67 additions & 1 deletion docs/operate/kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,74 @@ description: Learn how to operate SigNoz on Kubernetes.

Once you have successfully installed SigNoz on Kubernetes, the following sections provide an overview of the activities that are required to successfully operate SigNoz.

## Stop/Start

To stop the running SigNoz cluster:

```bash
helm -n platform uninstall "my-release"
```

To start/resume the running SigNoz cluster:

```bash
helm -n platform install "my-release"
```

_*Note: The newly created release aka SigNoz cluster should mount to the existing persistent volume as long as the *namespace* and the *release name* matches to the old one._

## Upgrade/Downgrade

Here are the instructions to upgrade/downgrade the SigNoz cluster:

1. List the available SigNoz Helm charts with their version and supported app version.
```bash
helm search repo signoz --versions
```
The output should look similar to the following:
```output
NAME CHART VERSION APP VERSION DESCRIPTION
signoz/signoz 0.0.6 0.6.1 SigNoz Observability Platform Helm Chart
signoz/signoz 0.0.5 0.6.0 SigNoz Observability Platform Helm Chart
signoz/signoz 0.0.4 0.5.4 SigNoz Observability Platform Helm Chart
signoz/signoz 0.0.3 0.5.4 SigNoz Observability Platform Helm Chart
signoz/signoz 0.0.2 0.5.4 SigNoz Observability Platform Helm Chart
signoz/alertmanager 0.5.1 0.5.0 The Alertmanager handles alerts for SigNoz.
signoz/alertmanager 0.5.0 0.5.0 The Alertmanager handles alerts for SigNoz.
signoz/clickhouse 9.1.0 21.7 A Helm chart for ClickHouse
```

2. Run the following command to install the chart version `0.0.4` running SigNoz version `0.5.4` with the release name `my-release` and namespace `platform`:
```bash
helm --namespace platform install my-release signoz/signoz --version 0.0.4
```


## Uninstall

To uninstall/delete the `my-release` resources:

```bash
helm -n platform uninstall "my-release"
```

See the [Helm docs](https://helm.sh/docs/helm/helm_uninstall/) for documentation on the helm uninstall command.

The command above removes all the Kubernetes components associated
with the chart and deletes the release.

Deletion of the StatefulSet doesn't cascade to deleting associated PVCs. To delete them:

```bash
kubectl -n platform delete pvc --selector app.kubernetes.io/instance=my-release
```

Sometimes everything doesn't get properly removed. If that happens try deleting the namespace:

```bash
kubectl delete namespace platform
```

<!-- Not sure the next section fits here, as all our instructions are related to on-prem installs-->
## Increase the ClickHouse Persistent Volume Size on EKS/GKE


Expand Down
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ module.exports = {
slug: '/operate',
},
items: [
'operate/configuration',
'operate/docker-standalone',
'operate/docker-swarm',
'operate/kubernetes'
Expand Down

0 comments on commit e46f682

Please sign in to comment.