---
title: 'Облачный сервер с ELK'
sidebar_label: 'ELK'
sidebar_position: 13
toc_max_heading_level: 3
description: 'Как создать облачный сервер для управления данными и поиска по ним'
---

import EditIcon from '@selectel/docux/icons/edit'
import CheckIcon from '@selectel/docux/icons/check'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import {CustomTable} from '@selectel/docux/components'
import Formbricks from '@theme/MDXComponents/Formbricks'
import CopyIcon from '@selectel/docux/icons/copy'
import CreateServer from '@site/docs/_partials/cloud-servers/applications/create-server-for-apps.mdx'

# Облачный сервер с ELK

ELK (Elasticsearch, Logstash, Kibana) — набор инструментов с открытым исходным кодом для анализа и визуализации логов и других данных.

В Selectel облачный сервер с ELK содержит:

* Elasticsearch — открытая распределенная система управления данными и поиска по ним, которая основана на поисковой системе Apache Lucene. Система предоставляет мощные возможности по индексированию, хранению, поиску и анализу больших объемов информации в реальном времени;
* Kibana — веб-интерфейс для мониторинга, аналитики логов Elasticsearch и представления данных на дашбордах;
* Filebeat — агент для сбора логов и передачи их в Elasticsearch;
* Metricbeat — агент для сбора метрик и передачи их в Elasticsearch.

Вы можете [создать облачный сервер с готовым приложением ELK](#create-cloud-server-with-elk).
В России сервер работает с настроенной операционной системой [SelectOS 1 64-bit](https://selectos.selectel.ru/news/mega/).
В других [странах](/infrastructure/locations/#country) — Ubuntu 22.04.

Перед созданием облачного сервера с приложением ознакомьтесь с [лицензионными соглашениями программного обеспечения](https://423.selcdn.ru/kb/license-agreements-for-application-images-LANG.pdf), которое входит в образ.

## Минимальные требования к ресурсам \{#minimum-requirements}

<CustomTable>
  <table>
    <tbody>
      <tr>
        <th>Количество vCPU</th>
        <td>4</td>
      </tr>

      <tr>
        <th>RAM</th>
        <td>10 ГБ</td>
      </tr>

      <tr>
        <th>Загрузочный диск</th>
        <td>30 ГБ</td>
      </tr>
    </tbody>
  </table>
</CustomTable>

## Создать облачный сервер с ELK \{#create-cloud-server-with-elk}

Для работы ELK облачный сервер должен быть доступен из интернета.
Для этого при создании сервера нужно создать приватную подсеть и подключить публичный плавающий IP-адрес.
Чтобы настроить ELK, при создании сервера необходимо указать параметры приложения.

После создания сервера с ELK автоматически выпустится бесплатный [TLS-сертификат от Let’s Encrypt®](/certificates-manager/certificates/lets-encrypt.mdx) для домена, который вы укажете.
Чтобы выпустить сертификат, нужно добавить A-запись для домена и указать в значении записи публичный плавающий IP-адрес сервера.
Домен можно добавить в [DNS-хостинг Selectel (actual)](/dns-hosting/).

1. [Создайте публичный плавающий IP-адрес](#create-floating-ip).

2. [Добавьте A-запись для домена](#add-a-record).

3. [Создайте облачный сервер с ELK](#create-elk-server).

### 1. Создать публичный плавающий IP-адрес \{#create-floating-ip}

Создайте публичный плавающий IP-адрес, чтобы облачный сервер с ELK был доступен из интернета.

Используйте подраздел [Создать публичный плавающий IP-адрес](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx#create-public-floating-ip) инструкции [Публичные плавающие IP-адреса](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx).

### 2. Добавить А-запись для домена⁠ \{#add-a-record}

[Добавьте ресурсную запись](/dns-hosting/records/add-record.mdx), чтобы получить доступ к ELK по домену.

Укажите:

* [тип ресурсных записей](/dns-hosting/records/add-record.mdx#record-types) в группе — A;
* значение записи — публичный плавающий IP-адрес, который вы [создали на этапе 1](#create-floating-ip).

### 3. Создать облачный сервер с ELK \{#create-elk-server}

<CreateServer AppNameInPanel="Cloud ELK" MinConfig="4 vCPU, RAM от 10 ГБ и размером загрузочного диска от 30 ГБ" OptionalVolumes="Опционально: добавьте дополнительный" VolumeSize="Укажите размер сетевого диска в ГБ или ТБ">
  4. Заполните параметры приложения:

     4.1. В поле **Доменная зона** введите домен для доступа к ELK, который вы [добавили на этапе 2](#add-a-record).

     4.2. Введите адрес электронной почты администратора для выпуска сертификата Let’s Encrypt®.

     4.3. Введите имя администратора Kibana. Нельзя использовать имя `elastic` — оно зарезервировано системой.

     4.4. Введите пароль администратора Kibana. Минимальная длина пароля — восемь символов.
</CreateServer>

## Установить Filebeat на наблюдаемые серверы \{#install-filebeat-on-monitored-servers}

Filebeat устанавливается на серверы, с которых нужно собирать данные для мониторинга. Filebeat собирает лог-сообщения из лог-файлов и пересылает их на облачный сервер с Elasticsearch для индексирования.

1. Предварительно создайте пользователя Kibana с необходимыми правами и ролями в веб-интерфейсе ELK. Подробнее в инструкции [Create a user](https://www.elastic.co/docs/deploy-manage/users-roles/cluster-or-deployment-auth/quickstart#_create_a_user) документации Elastic.

2. Установите Filebeat. Подробнее в инструкции [Install Filebeat](https://www.elastic.co/docs/reference/beats/filebeat/filebeat-installation-configuration#installation) документации Elastic.

   Для установки на Ubuntu вы можете скачать дистрибутив с [зеркала](https://mirror.selectel.ru/3rd-party/elasticsearch-8.x/pool/main/f/filebeat/).

3. Скачайте публичный сертификат CA с облачного сервера для подключения Filebeat по HTTPS-протоколу:

   ```bash
   cd /etc/filebeat && wget https://<example.com>/ca.crt
   ```

   Укажите `<example.com>` — домен для доступа к Elasticsearch, который вы [добавили на этапе 2](#add-a-record).

4. Откройте конфигурационный файл `/etc/filebeat/filebeat.yml` в текстовом редакторе.

5. Добавьте параметры подключения к Elasticsearch в конфигурационном файле:

   ```bash
   outputs:
     default:
       type: elasticsearch
       hosts: [https://<example.com>:9200]
       username: "<username>"
       password: "<password>"
       ssl.enabled: true
       ssl.certificate_authorities: "/etc/filebeat/ca.crt"
   ```

   Укажите:

   * `<example.com>` — домен для доступа к ELK, который вы [добавили на этапе 2](#add-a-record);
   * `<username>` — имя пользователя Kibana, которого вы создали на шаге 1;
   * `<password>` — пароль пользователя Kibana, которого вы создали на шаге 1.

6. Перезапустите агент:

   ```bash
   systemctl restart filebeat
   ```

## Установить Elastic Agent на наблюдаемые серверы \{#install-elastic-agent-on-monitored-servers}

Elastic Agent устанавливается на серверы, с которых нужно собирать метрики, логи и события безопасности. Агент собирает информацию и пересылает ее на облачный сервер с Elasticsearch.

1. Предварительно создайте пользователя Kibana с необходимыми правами и ролями в веб-интерфейсе ELK. Подробнее в инструкции [Create a user](https://www.elastic.co/docs/deploy-manage/users-roles/cluster-or-deployment-auth/quickstart#_create_a_user) документации Elastic.

2. Установите Elastic Agent. Подробнее в инструкции [Install Elastic Agents](https://www.elastic.co/docs/reference/fleet/install-elastic-agents) документации Elastic.

   Для установки на Ubuntu вы можете скачать дистрибутив с [зеркала](https://mirror.selectel.ru/3rd-party/elasticsearch-8.x/pool/main/e/elastic-agent/).

3. Скачайте публичный сертификат CA с облачного сервера для подключения Elastic Agent по HTTPS-протоколу:

   ```bash
   cd /etc/elastic-agent && wget https://<example.com>/ca.crt
   ```

   Укажите `<example.com>` — домен для доступа к Elasticsearch, который вы [добавили на этапе 2](#add-a-record).

4. Откройте конфигурационный файл `/etc/elastic-agent/elastic-agent.yml` в текстовом редакторе.

5. Добавьте параметры подключения к Elasticsearch в конфигурационном файле:

   ```bash
   outputs:
     default:
       type: elasticsearch
       hosts: [https://<example.com>:9200]
       username: "<username>"
       password: "<password>"
       ssl.enabled: true
       ssl.certificate_authorities: "/etc/elastic-agent/ca.crt"
   ```

   Укажите:

   * `<example.com>` — домен для доступа к ELK, который вы [добавили на этапе 2](#add-a-record);
   * `<username>` — имя пользователя Kibana, которого вы создали на шаге 1;
   * `<password>` — пароль пользователя Kibana, которого вы создали на шаге 1.

6. Перезапустите агент:

   ```bash
   systemctl restart elastic-agent
   ```

<Formbricks />
