logs-analyzer/signoz/pkg/query-service
2024-09-02 22:47:30 +03:00
..
agentConf logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
app logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
auth logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
cache logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
collectorsimulator logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
common logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
config logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
constants logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
converter logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
dao logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
errors logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
featureManager logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
formatter logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
healthcheck logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
integrations logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
interfaces logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
migrate logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
model logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
postprocess logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
pqlEngine logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
queryBuilderToExpr logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
rules logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
telemetry logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
templates logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
tests logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
utils logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
version logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
.dockerignore logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
Dockerfile logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
main.go logs analyzer with log preparer 2024-09-02 22:47:30 +03:00
README.md logs analyzer with log preparer 2024-09-02 22:47:30 +03:00

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