# Sidecar

{% hint style="info" %}
[**LeonaAgent V1.0**](https://github.com/LeonaLog) is coming, only for LeonaLog collectting log data.
{% endhint %}

Leona Sidecar is a lightweight configuration management system for different log collections, also called **`Backends`**. The leona node(s) acts as a centralized hub containing the configurations of log collections. On supported message-producing devices/hosts, sidecar can run as a serivce or daemon.

## Installation

You can get `.deb` or `.rpm` packages for LeonaLog Sidecar in our package repository.

### CentOS

Install the sidecar repository configuration and sidecar itself with the following commands:

```bash
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-sidecar-repository-1-2.noarch.rpm
yum install graylog-sidecar
```

Edit the configuration (see [Sidecar Configuration](#sidecar-configuration)) and active the sidecar as a system service:

```bash
vi /etc/graylog/sidecar/sidecar.yml

graylog-sidecar -service install

systemctl enable graylog-sidecar
systemctl start graylog-sidecar

```

### Ubuntu

Install the sidecar repository configuration and sidecar itself with the following commands:

```bash
wget https://packages.graylog2.org/repo/packages/graylog-sidecar-repository_1-2_all.deb
dpkg -i graylog-sidecar-repository_1-2_all.deb
apt-get update && apt-get install graylog-sidecar 
```

Edit the configuration (see [Sidecar Configuration ](#sidecar-configuration)) and activate the Sidecar as a system service:

```
vi /etc/graylog/sidecar/sidecar.yml

graylog-sidecar -service install

# Ubuntu 14.04 with Upstart
start graylog-sidecar

# Ubuntu 16.04 and later with systemd
systemctl enable graylog-sidecar
systemctl start graylog-sidecar
```

## Sidecar Configuration

Configuration example:

```yaml
# The URL to the Graylog server API.
server_url: "http://127.0.0.1:9006/api/"

# The API token to use to authenticate against the Graylog server API.
# This field is mandatory
server_api_token: "1i4dcd68svirjkl67adarifiu5k2i2essueprcciceqdvc87ocof"

# The node name of the sidecar. If this is empty, the sidecar will use the
# hostname of the host it is running on.
node_name: "c-192.168.120.15"

# The update interval in seconds. This configures how often the sidecar will
# contact the Graylog server for keep-alive and configuration update requests.
update_interval: 10

# This configures if the sidecar should skip the verification of TLS connections.
# Default: false
#tls_skip_verify: false

# This enables/disables the transmission of detailed sidecar information like
# collector statues, metrics and log file lists. It can be disabled to reduce
# load on the Graylog server if needed. (disables some features in the server UI)
send_status: true

...
```

Parameter descriptions:

* **`server_url`**: URL to the leona API, e.g. `http://192.168.120.100:9000/api/`
* **`server_api_token`**: The API token to use to authenticate against the leona server API. Note: <mark style="color:red;">**The token is mandatory and needs to be configured**</mark>.
* **`node_id`**: The node ID of the sidecar. This can be a path to a file or an ID string. Node: <mark style="color:red;">**Every sidecar instance needs a unique ID**</mark>.
* **`node_name`**: Name of the sidecar instance.
* **`update_interval`**: The interval where the sidecar will fetch new configurations from the leona server in seconds. The default is 10.
* **`tls_skip_verify`**: This configures if the sidecar should skip the verification of TLS connections. The default is false.
* **`send_status`**: This controls the transmission of detailed sidecar information like collector status, metrics and log file lists. **It can be disabled to reduce load on the leona server if needed**. The default is true.
* **`list_log_files`**: Send a directory listing to leona and display it on the host status page, e.g. `/var/log`. This can also be a list of directories. The default is `[]`.
* **`cache_path`**: The directory where the sidecar stores internal data.&#x20;
* **`collector_configuration_directory`**: The directory where the sidecar generates configurations for collectors.
* **`log_path`**: The directory where the sidecar stores its logs. The default is `/var/log/graylog-sidecar`.
* **`log_rotate_max_file_size`**: The maximum size of the log file before it gets rotated. The default is 10MiB.
* **`log_rotate_keep_files`**: The maximum number of old log files to retain.
* **`collector_binaries_accesslist`**: A list of binaries that are allowed to be executed by the sidecar. An empty list disables the access list feature.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ciusji.gitbook.io/leona/getting-in/sidecar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
