# Connect Linux hosts

{% hint style="warning" %}
**Note**: Linux host sensor is only available to BYOC and on-prem deployments. Check out our [pricing page](https://www.groundcover.com/pricing) for more information about subscription plans and the available deployment modes.
{% endhint %}

## Supported Environments

We currently support running on eBPF-enabled linux machines (See more [kernel-requirements-for-ebpf-sensor](https://docs.groundcover.com/getting-started/requirements/kernel-requirements-for-ebpf-sensor "mention"))

Supported architectures: `AMD64` + `ARM64`

For the following providers, we will fetch the machine metadata from the provider's API.

<table><thead><tr><th width="144" align="center">Provider</th><th width="119" align="center">Supported</th></tr></thead><tbody><tr><td align="center">AWS</td><td align="center">✅</td></tr><tr><td align="center">GCP</td><td align="center">✅</td></tr><tr><td align="center">Azure</td><td align="center">✅</td></tr><tr><td align="center">Linode</td><td align="center">✅</td></tr></tbody></table>

## Sensor capabilities

* Infrastructure Host metrics: CPU/Memory/Disk usage
* Logs
  * Natively from docker containers running on the machine
  * JournalD ([requires configuration](https://docs.groundcover.com/customization/customize-usage/custom-logs-collection#configure-journal-logs))
  * Static log files on the machine ([requires configuration](https://docs.groundcover.com/customization/customize-usage/custom-logs-collection#configure-log-file-targets))
* Traces
  * Natively from docker containers running on the machine
* APM metrics and insights from the traces

\
How to install?
---------------

Installation currently requires running a script on the machine.

The script will pull the latest sensor version and install it as a service: **groundcover-sensor (requires privileges)**

### Install/Upgrade existing sensor:

```bash
curl -fsSL https://groundcover.com/install-groundcover-sensor.sh | sudo env API_KEY='{ingestion_Key}' GC_ENV_NAME='{selected_Env}' GC_DOMAIN='{BYOC_ENDPOINT}' bash -s -- install
```

Where:

* {ingestion\_Key} - A dedicated ingestion key, you can generate or find existing ones from Settings -> Access -> Ingestion Keys
  * Ingestion Key needs to be of Type `Sensor`
* {BYOC\_Endpoint} - Your BYOC public ingestion endpoint
* {selected\_Env} - The **Environment** that will group those machines on the cluster drop down in the top right corner (We recommend setting a separate one for non k8s deployments)

### Check installed sensor status:

* Check service status: `systemctl status groundcover-sensor`
* View sensor logs: `journalctl -u groundcover-sensor`

{% hint style="info" %}
Initial data may take a few minutes to appear in the app after installation
{% endhint %}

### Remove installed sensor:

```bash
curl -fsSL https://groundcover.com/install-groundcover-sensor.sh | sudo bash -s -- uninstall
```

## Customize sensor configuration:

The sensor supports overriding its default configuration by writing to the file is located in:

`/etc/opt/groundcover/overrides.yaml`.\
\
After writing it you should restart the sensor service using:

`systemctl restart groundcover-sensor`

Example 1 - override Docker max log line size:

```bash
echo "# Local overrides to sensor configuration
k8sLogs:
  scraper:
    dockerMaxLogSize: 102400
" | sudo tee /etc/opt/groundcover/overrides.yaml && sudo systemctl restart groundcover-sensor
```

Example 2 - add static labels to your metrics:

```yaml
// add custom static labels to metrics
pipelines:
  metrics:
    additionalMetricLabels:
      label1: "label1_value"
      label2: "label2_value"
```
