|
| 1 | +--- |
| 2 | +title: SigNoz |
| 3 | +description: "An observability platform native to OpenTelemetry with logs, traces and metrics." |
| 4 | +--- |
| 5 | + |
| 6 | +# SigNoz |
| 7 | + |
| 8 | +<ZoomableImage src="/docs/images/services/signoz.svg" alt="SigNoz logo" /> |
| 9 | + |
| 10 | +## What is SigNoz |
| 11 | + |
| 12 | +SigNoz is an open source observability platform native to OpenTelemetry with logs, traces and metrics. |
| 13 | + |
| 14 | +## Configuring SigNoz |
| 15 | + |
| 16 | +The following steps will guide you through the configuration of SigNoz once you have created the service in Coolify. |
| 17 | + |
| 18 | +### URLs configuration |
| 19 | + |
| 20 | +SigNoz being a whole observability platform, multiple ports need to be exposed for it to work. |
| 21 | +The first one is the URL of the UI. You can find it in the "Service URL" field of the Signoz service, for example: `https://signoz.example.com:8080` |
| 22 | + |
| 23 | +Then, you need to expose the Otel Collector, a service which is responsible for receiving traces, metrics and logs from your applications and services. |
| 24 | +It supports many different formats such as GRPC, HTTP formats, Prometheus metrics, and [many logs formats](https://signoz.io/docs/userguide/logs/) (FluentBit/FluentD, syslogs, logs from cloud services, ...). |
| 25 | + |
| 26 | +A different port is exposed for each receiver and we need to expose the relevant port for each receiver. |
| 27 | +You have two strategies to do so: |
| 28 | +- Configuring a different URL for each receiver. |
| 29 | +- Directly exposing the ports to the host and the outside world. |
| 30 | + |
| 31 | +Which option you prefer depends on your security needs and how you structure your domains. |
| 32 | + |
| 33 | +#### One subdomain per receiver |
| 34 | + |
| 35 | +This solution only requires you to map your subdomain to the Otel Collector service. We will cover the two default receivers, the HTTP and GRPC receivers. |
| 36 | + |
| 37 | +1. Make sure your subdomains have been registered and point to your server, such as `https://signoz-grpc.example.com` and `https://signoz-http.example.com`. |
| 38 | +2. Open the "Otel Collector" service settings. |
| 39 | +3. Add your domains with the format `https://<subdomain>.example.com:<port in container>`, separated by commas. For example: `https://signoz-grpc.example.com:4317,https://signoz-http.example.com:4318` |
| 40 | + |
| 41 | +If you want to expose additional ports / receivers, simply add a new address to the list. |
| 42 | + |
| 43 | +#### Exposing the ports on the host |
| 44 | + |
| 45 | +If you prefer to use a single domain for all receivers, you can edit the Docker Compose to directly expose the ports on the otel-collector container: |
| 46 | + |
| 47 | +```yaml |
| 48 | +services: |
| 49 | + # ... |
| 50 | +otel-collector: |
| 51 | + image: signoz/signoz-otel-collector:latest |
| 52 | + container_name: signoz-otel-collector |
| 53 | + # ... |
| 54 | + ports: |
| 55 | + - 4317:4317 # GRPC Collector |
| 56 | + - 4318:4318 # HTTP Collector |
| 57 | + |
| 58 | + # ... |
| 59 | +``` |
| 60 | + |
| 61 | +You can now append the port to your service URL to send data to receiver: `https://signoz.example.com:4318` |
| 62 | + |
| 63 | +### Enabling SMTP emailing |
| 64 | + |
| 65 | +SigNoz uses emailing for two things: inviting users and to [send alerts](https://signoz.io/docs/alerts/). |
| 66 | + |
| 67 | +#### SigNoz emails |
| 68 | + |
| 69 | +To enable SMTP emailing (including inviting new team members), you need to set the following variables from the Environment Variables tab of your Coolify service: |
| 70 | + |
| 71 | +- `SIGNOZ_EMAILING_ENABLED` enables emailing capabilities in SigNoz. |
| 72 | +- `SIGNOZ_EMAILING_SMTP_ADDRESS` is the address of the SMTP server to use, in the format `host:port`. |
| 73 | +- `SIGNOZ_EMAILING_SMTP_FROM` is the email address to use in the From field. |
| 74 | +- `SIGNOZ_EMAILING_SMTP_AUTH_USERNAME` and `SIGNOZ_EMAILING_SMTP_AUTH_PASSWORD` are used to authenticate with the SMTP server. |
| 75 | + |
| 76 | +More environment variables are [available to use](https://signoz.io/docs/manage/administrator-guide/configuration/smtp-email-invitations/) to authenticate via Identity / Secret or use TLS instead of SmartTLS. Read [Passing environment variables not included in the template](passing-environment-variables-not-included-in-the-template) to learn how to add them. |
| 77 | + |
| 78 | +#### Alert Manager emails |
| 79 | + |
| 80 | +Email alerts can only be sent if an SMTP server is configured specifically for the alert manager. The global SMTP configuration and the Alert Manager configuration use different environment variables. |
| 81 | + |
| 82 | +**Note**: SigNoz has a current known issue preventing email alerting configuration from being saved. You can track the progress of this [issue in their bug tracker](https://github.com/SigNoz/signoz/issues/8478). |
| 83 | + |
| 84 | +To enable email alerts, you need to set the following variables from the Environment Variables tab of your Coolify service: |
| 85 | + |
| 86 | +- `SIGNOZ_ALERTMANAGER_SIGNOZ_GLOBAL_SMTP__SMARTHOST` is the address of the SMTP server to use, in the format `host:port`. |
| 87 | +- `SIGNOZ_ALERTMANAGER_SIGNOZ_GLOBAL_SMTP__FROM` is the email address to use in the From field. |
| 88 | +- `SIGNOZ_ALERTMANAGER_SIGNOZ_GLOBAL_SMTP__AUTH__USERNAME` and `SIGNOZ_ALERTMANAGER_SIGNOZ_GLOBAL_SMTP__AUTH__PASSWORD` are used to authenticate with the SMTP server. |
| 89 | + |
| 90 | +More environment variables are [available to use](https://signoz.io/docs/manage/administrator-guide/configuration/alertmanager/) to authenticate via Identity / Secret or use TLS instead of SmartTLS. Read [Passing environment variables not included in the template](passing-environment-variables-not-included-in-the-template) to learn how to add them. |
| 91 | + |
| 92 | +## Links |
| 93 | + |
| 94 | +- [Official Documentation](https://signoz.io/docs/introduction/) |
| 95 | +- [OpenTelemetry Documentation](https://opentelemetry.io/) |
0 commit comments