logs-analyzer/signoz/pkg/query-service/README.md
2024-09-02 22:47:30 +03:00

2.6 KiB

Query Service

Query service is the interface between frontend and databases. It is written in Golang. It will have modules for all supported databases. Query service is responsible to:

  • parse the request from Frontend
  • create relevant Clickhouse queries (and all other supported database queries)
  • parse response from databases and handle error if any
  • clickhouse response in the format accepted by Frontend

Complete the clickhouse setup locally.

https://github.com/SigNoz/signoz/blob/main/CONTRIBUTING.md#to-run-clickhouse-setup-recommended-for-local-development

  • Comment out the query-service and the frontend section in signoz/deploy/docker/clickhouse-setup/docker-compose.yaml
  • Change the alertmanager section in signoz/deploy/docker/clickhouse-setup/docker-compose.yaml as follows:
alertmanager:
    image: signoz/alertmanager:0.23.5
    volumes:
      - ./data/alertmanager:/data
    expose:
      - "9093"
    ports:
      - "8080:9093"
    # depends_on:
    #   query-service:
    #     condition: service_healthy
    restart: on-failure
    command:
      - --queryService.url=http://172.17.0.1:8085
      - --storage.path=/data
  • Run the following:
cd signoz/
If you are using x86_64 processors (All Intel/AMD processors) run sudo make run-x86
If you are on arm64 processors (Apple M1 Macs) run sudo make run-arm

Backend Configuration

  • Open ./constants/constants.go

    • Replace const RELATIONAL_DATASOURCE_PATH = "/var/lib/signoz/signoz.db"
      with const RELATIONAL_DATASOURCE_PATH = "./signoz.db".
  • Query Service needs below env variables to run:

    export ClickHouseUrl=tcp://localhost:9001
    export STORAGE=clickhouse
    export ALERTMANAGER_API_PREFIX=http://localhost:9093/api/

Build and Run locally

cd pkg/query-service
go build -o build/query-service main.go
ClickHouseUrl=tcp://localhost:9001 STORAGE=clickhouse build/query-service --prefer-delta=true 

Frontend Configuration for local query-service.

  • Set the following environment variables
export FRONTEND_API_ENDPOINT=http://localhost:8080
  • Run the following
cd signoz\frontend\
yarn install
yarn dev

Note:

If you use go version 1.18 for development and contributions, then please checkout the following issue. https://github.com/SigNoz/signoz/issues/1371

Docker Images

The docker images of query-service is available at https://hub.docker.com/r/signoz/query-service