<!-- Source: https://docs.squirro.com/en/latest/technical/admin/operations/services.html -->
# Services

## Introduction

Squirro consists of several services that are started and stopped individually. A detailed list of Squirro services is listed later on this page.

When a Squirro server is started, all the services are started automatically using the Linux `init.d` subsystem.

## Interacting With Services

Services are controlled with the `service` command on the Linux console. See [Accessing Servers](accessing-servers.md#admin-access) for more information.

The service command must be run as root. This can be done by either becoming root first (using `sudo -i`) or by prefixing every service command with the sudo command.

The first argument for the command is the service name to interact with, then the operation to execute.

### Check Service Status

The service status is returned with the `status` sub-command. For example:

```shell-session
[root@localhost ~]# service sqtopicd status
sqtopicd (pid  3164) is running...
```

### Start Service

If a service is not running, the `start` sub-command can be used to launch it.

```shell-session
[root@localhost ~]# service sqtopicd start
Starting sqtopicd:                                          [ OK ]
```

### Stop Service

```shell-session
[root@localhost ~]# service sqtopicd stop
Stopping sqtopicd:                                          [ OK ]
```

If you now execute the `status` sub-command, it will report the service as being stopped.

```shell-session
[root@localhost ~]# service sqtopicd status
sqtopicd is stopped
```

### Restart Service

The `restart` sub-command attempts to stop a service first and will then start it again.

```shell-session
[root@localhost ~]# service sqtopicd restart
Stopping sqtopicd:                                          [ OK ]
Starting sqtopicd:                                          [ OK ]
```

### Services List

The following services form part of Squirro or are built-in services that Squirro uses. They can all be controlled with the `service` command as shown in the previous section.

|  |  |
| --- | --- |
| Name | Description |
| crond | Task runner that executed scheduled tasks regularly. |
| elasticsearch | Main data storage for indexed data. |
| mariadb | Relational database used for storage of metadata about Squirro projects. |
| nginx | Web server through which all the requests for the frontend and the Squirro services are served. |
| redis-server-cache | NoSQL database used for cache |
| redis-server | NoSQL database |
| sqclusterd | Controls the multi-cluster setup of Squirro. Removed in version 3.16.2. |
| sqconfigurationd | Manages application configuration. |
| sqcontentd | Extracts relevant content from web pages. See [Noise Removal](../../data-processing/pipeline-steps/enrich/noise-removal.md#pipeline-steps-noise-removal) within [Data Processing Pipeline](../../data-processing/index.md#data-processing). |
| sqdatasourced | Manages data loading process. See [Data Loading](../../data-loading/index.md#data-loading). |
| sqdigestmailerd |  |
| sqemailsenderd | Sends out emails on behalf of Squirro. |
| sqfilteringd | Handles search tagging rules. See [Search Tagging and Alerting](../../data-processing/pipeline-steps/index/search-tagging.md#pipeline-steps-search-tagging) within [Data Processing Pipeline](../../data-processing/index.md#data-processing). |
| sqfrontendd | Frontend service, implementing the main web interface of Squirro. |
| sqingesterd | Refers to the Pipeline service. Manages the process of enriching and indexing data. See [Built-In Steps](../../data-processing/pipeline-steps/index.md#data-processing-pipeline-steps) within [Data Processing Pipeline](../../data-processing/index.md#data-processing). |
| sqmachinelearningd |  |
| sqplumberd | Executes pipelets as part of the pipeline. See [Pipelets](../../pipelets/index.md#pipelets). |
| sqproviderd | Endpoint for the providers to import data into the system. See [Data Connectors](../../data-loading/connectors/index.md#data-loading-connectors). |
| sqschedulerd | Executes scheduled jobs that the Squirro application needs to run. |
| sqthumblerd | Calculates thumbnails for item images that are displayed in Squirro. |
| sqtopicd | The topic endpoint of the API for handling data queries. See [APIs and SDKs](../../api/index.md#api). |
| sqtopicproxyd | Internal web service access to some project metadata. |
| squserd | The endpoint for user management and authentication. See [Authentication](../../api/authentication.md#api-authentication). |
| squserproxyd | Internal web service access to some user data. |
| sqwebshotd | Analyzes web stories and identifies the most relevant image to use for visualization. |

### NLP Services

The following services are part of the NLP service, which a standard Squirro deployment does not include. In large production deployments, the NLP service typically runs on a separate server or cluster from the core Squirro services. Like the standard services, you control these services with the `service` command.

| Name | Description |
| --- | --- |
| sqcross-encoderd | Scores query-paragraph text pairs using a cross-encoder transformer model to rerank search results by relevance. Used by the reranker scoring plugin in cognitive search and question-answering pipelines. |
| sqquestion-answeringd | Runs a transformer model that extracts answers to natural language questions from indexed content. Used by question-answering pipelines. |
| sqsentence-embeddingsd | Generates vector embeddings for text using a transformer model. Used for semantic search and other embedding-based features. |
