Введение в шаблоны
Таблица 1 перечисляет часто используемые шаблоны файлов конфигурации Logstash.
Имя | Описание | Подробности |
|---|---|---|
redis | Импортирует данные из базы данных Redis в кластер Elasticsearch. | |
elasticsearch | Переносит данные между кластерами Elasticsearch. | |
jdbc | Импортирует данные из JDBC в кластер Elasticsearch. | |
kafka | Импортирует данные из Kafka в кластер Elasticsearch. | |
beats | Импортирует данные из Beats в кластер Elasticsearch. | |
dis | Импортирует данные из DIS в кластер Elasticsearch. |
Redis Template
Импортирует данные из базы данных Redis в кластер Elasticsearch.
input {redis {data_type => "pattern_channel" # data_type, one of ["list", "channel", "pattern_channel"]key => "lgs-*" # The name of a Redis list or channel.host => "xxx.xxx.xxx.xxxx"port => 6379}}filter {# Delete some fields added by Logstash.mutate {remove_field => ["@timestamp", "@version"]}}output {elasticsearch {hosts => ["http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200"] # host# user => "xxxx" # user name, just for security cluster# password => "xxxx" # password, just for security clusterindex => "xxxxxx" # destination _index}}
Элемент конфигурации | Обязательно | Описание |
|---|---|---|
тип_данных | Да | Тип источника данных. Варианты: список, канал, и pattern_channel.
|
ключ | Да | Redis list или channel name |
Хост | Да | IP-адрес сервера Redis |
порт | Нет | Номер порта для подключения. Значение по умолчанию: 6379. |
хосты | Да | Адрес для доступа к кластеру Elasticsearch. |
пользователь | Нет | Имя пользователя для доступа к кластеру Elasticsearch. Как правило, значение admin. Этот параметр требуется только для кластера безопасности. |
пароль | Нет | Пароль для доступа к кластеру Elasticsearch. Пароль задаётся при создании кластера. Этот параметр требуется только для кластера безопасности. |
индекс | Да | Индекс, в который будут мигрировать данные. Можно настроить только один индекс. |
Для получения дополнительной информации см. документ Logstash Redis входной Плагин.
Elasticsearch Шаблон
Перемещает данные между кластерами Elasticsearch.
input {elasticsearch {# Source ES cluster IP address. When SSL is enabled, please use 7.10.0 and you donot need to add a protocol, otherwise an error is reported.hosts => ["http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200"]# user => "xxxx" # user name, just for security cluster# password => "xxxx" # password, just for security clusterindex => "xxxx,xxx,xxx" # List of indexes to be migrated, separate with commas (,)docinfo => true# source ES certificate, the cluster on the cloud this value remains the same. Enter the corresponding path when using a custom certificate. Self-built Logstash cluster, You can download the certs file from the ES cluster details page, enter the corresponding path here.# ca_file => "/rds/datastore/logstash/v7.10.0/package/logstash-7.10.0/extend/certs" # for 7.10.0# ssl => true # Set to true when SSL is enabled.}}filter {# Delete some fields added by Logstash.mutate {remove_field => ["@timestamp", "@version"]}}output {elasticsearch {# Destination ES cluster IP address. When SSL is enabled, please use 7.10.0 and you donot need to add a protocol.hosts => ["http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200"]# user => "xxx" # user name, just for security cluster# password => "xxxx" # password, just for security clusterindex => "%{[@metadata][_index]}" # destination _index, this config ensure that the index is consistent with that on the source. You can also specify the index name.# document_type => "%{[@metadata][_type]}" # destination _type, this config ensure that the document_type is consistent with that on the source.# document_id => "%{[@metadata][_id]}" # destination _id, if you do not need to retain the original _id, delete this line to improve performance.# source ES certificate, the cluster on the cloud this value remains the same. Enter the corresponding path when using a custom certificate. Self-built Logstash cluster, You can download the certs file from the ES cluster details page, enter the corresponding path here.# cacert => "/rds/datastore/logstash/v7.10.0/package/logstash-7.10.0/extend/certs" # for 7.10.0# ssl => true # Set to true when SSL is enabled.# ssl_certificate_verification => false # Set to false to ignore the validation server certificate when SSL is enabled.}}
Элемент конфигурации | Обязательно | Описание |
|---|---|---|
хосты | Да | Адрес для доступа к целевому кластеру Elasticsearch, в который импортируются данные. |
пользователь | Нет | Имя пользователя для доступа к кластеру Elasticsearch. Обычно значение admin. Этот параметр требуется только для кластера безопасности. |
пароль | Нет | Пароль для доступа к кластеру Elasticsearch. Пароль задаётся при создании кластера. Этот параметр требуется только для кластера безопасности. |
индекс | Да | Индекс, из которого будут мигрировать данные. |
docinfo | Нет | Информация о документе. Значение: true или false. Если указать этот параметр, включить информацию о документе Elasticsearch в событие, например индекс, тип и ID. |
ca_file | Нет | Значение по умолчанию: /rds/datastore/logstash/v7.10.0/package/logstash-7.10.0/extend/certs. Для облачного кластера Logstash оставьте значение по умолчанию, либо при использовании пользовательского сертификата укажите путь к пользовательскому сертификату. Для внутреннего кластера Logstash вы можете загрузить сертификат на странице сведений кластера Elasticsearch с включённым SSL. Укажите здесь путь к сертификату. |
ssl | Нет | Установите этот параметр в true если SSL включён для исходного кластера Elasticsearch. |
хосты | Да | Адрес для доступа к исходному кластеру Elasticsearch, откуда поступают данные. |
пользователь | Нет | Имя пользователя для доступа к кластеру Elasticsearch. Обычно значение admin. Этот параметр требуется только для кластера безопасности. |
пароль | Нет | Пароль для доступа к кластеру Elasticsearch. Пароль устанавливается при создании кластера. Этот параметр требуется только для безопасного кластера. |
индекс | Да | Индекс, в который будут мигрировать данные. Можно настроить только один индекс. |
document_type | Нет |
|
document_id | Нет |
|
cacert | Нет | Значение по умолчанию: /rds/datastore/logstash/v7.10.0/package/logstash-7.10.0/extend/certs.
|
ssl | Нет | Установите этот параметр в true если SSL включен для целевого кластера Elasticsearch. |
ssl_certificate_verification | Нет | Установите этот параметр в false чтобы включить SSL и игнорировать проверку сертификата сервера. |
Для получения дополнительной информации см. документ Logstash Плагин ввода Elasticsearch.
JDBC Template
Импортирует данные из JDBC в кластер Elasticsearch.
input {jdbc {# for 7.10.0, jdbc_driver_library => "/rds/datastore/logstash/v7.10.0/package/logstash-7.10.0/extend/jars/mariadb-java-client-2.7.0.jar"jdbc_driver_library => "xxxxxxxxxxx"jdbc_driver_class => "org.mariadb.jdbc.Driver"jdbc_connection_string => "jdbc:mariadb://xxx.xxx.xxx.xxx:xxx/data_base_name"jdbc_user => "xxxx"jdbc_password => "xxxx"statement => "SELECT * from table_name" # This SQL statement determines the data to be input}}filter {# Delete some fields added by Logstash.mutate {remove_field => ["@timestamp", "@version"]}}output {elasticsearch {hosts => ["http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200"] # host# user => "xxxx" # user name, just for security cluster# password => "xxxx" # password, just for security clusterindex => "xxxxxx" # destination _index}}
Элемент конфигурации | Обязательно | Описание |
|---|---|---|
jdbc_driver_library | Да | Путь к библиотеке драйвера JDBC.
В настоящее время поддерживаются только эти существующие драйверы. Пользовательская загрузка не поддерживается. |
jdbc_driver_class | Да | Класс драйвера JDBC, который будет загружен, например, org.mariadb.jdbc.Driver. |
jdbc_connection_string | Да | JDBC строка подключения |
jdbc_user | Да | JDBC имя пользователя |
jdbc_password | Да | JDBC пароль |
оператор | Да | SQL оператор входных данных. |
хосты | Да | Адрес для доступа к исходному кластеру Elasticsearch, откуда поступают данные. |
пользователь | Нет | Имя пользователя для доступа к кластеру Elasticsearch. Обычно значение admin. Этот параметр требуется только для защищённого кластера. |
пароль | Нет | Пароль для доступа к кластеру Elasticsearch. Пароль задаётся при создании кластера. Этот параметр требуется только для защищённого кластера. |
индекс | Да | Индекс, в который будут мигрированы данные. Можно настроить только один индекс. |
Для получения дополнительной информации см. документ Logstash Jdbc input plugin.
Kafka Template
Импортирует данные из Kafka в кластер Elasticsearch.
input {kafka{bootstrap_servers=>"xxx.xxx.xxx.xxx:xxxx"topics=>["xxxxxxxx"]group_id=>"kafka_es_test"auto_offset_reset=>"earliest"}}filter {# Delete some fields added by Logstash.mutate {remove_field => ["@timestamp", "@version"]}}output {elasticsearch {hosts => ["http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200"] # host# user => "xxxx" # user name, just for security cluster# password => "xxxx" # password, just for security clusterindex => "xxxxxx" # destination _index}}
Элемент конфигурации | Обязательно | Описание |
|---|---|---|
bootstrap_servers | Да | IP-адрес и номер порта экземпляра Kafka |
темы | Да | Список тем для подписки |
group_id | Да | Идентификатор группы, к которой принадлежит потребитель. |
auto_offset_reset | Да | Начальное смещение в Kafka.
|
хосты | Да | Address for accessing the source Elasticsearch cluster where data comes from. |
пользователь | Нет | Имя пользователя для доступа к кластеру Elasticsearch. Как правило, значение admin. Этот параметр требуется только для кластера безопасности. |
пароль | Нет | Пароль для доступа к кластеру Elasticsearch. Пароль задаётся при создании кластера. Этот параметр требуется только для кластера безопасности. |
индекс | Да | Индекс, в который будут мигрировать данные. Можно настроить только один индекс. |
Для получения дополнительной информации см. документ Logstash Плагин входных данных Kafka.
Шаблон DIS
Импортирует данные из DIS в кластер Elasticsearch.
input {dis {streams => ["YOUR_DIS_STREAM_NAME"]endpoint => "https://dis.xxxxx.myhuxxxoud.com" # xxxxx should be replaced by your region nameak => "YOUR_ACCESS_KEY_ID"sk => "YOUR_SECRET_KEY_ID"region => "YOUR_Region"project_id => "YOUR_PROJECT_ID"group_id => "YOUR_APP_ID"client_id => "YOUR_CLIENT_ID"auto_offset_reset => "earliest"}}filter {# Delete some fields added by Logstash.mutate {remove_field => ["@timestamp", "@version"]}}output {elasticsearch {hosts => ["http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200"] # host# user => "xxxx" # user name, just for security cluster# password => "xxxx" # password, just for security clusterindex => "xxxxxx" # destination _index}}
Элемент конфигурации | Обязательно | Описание |
|---|---|---|
потоки | Да | Имя DIS‑потока. Введённое имя DIS‑потока должно совпадать с именем потока, указанным при создании DIS‑потока в консоли DIS. |
endpoint | Да | Адрес Data API региона, где размещён DIS. |
ak | Да | Ключ доступа пользователя (AK). |
sk | Да | Секретный ключ пользователя (SK). |
регион | Да | Регион, где поддерживается DIS. |
project_id | Да | Идентификатор проекта региона. Для подробностей см. . |
group_id | Да | DIS App name, используемое для идентификации группы потребителей. Значение может быть любой строкой символов. |
client_id | Нет | Client ID, который идентифицирует потребителя в группе потребителей. Если для потребления запускается несколько pipelines или Logstash instances, установите для этого параметра разные значения. Например, значение instance 1 равно client1, а значение instance 2 равно client2. |
auto_offset_reset | Нет | Позиция, с которой данные начинают потребляться из потока. Параметры следующие:
|
хосты | Да | Адрес для доступа к исходному кластеру Elasticsearch, откуда поступают данные. |
пользователь | Нет | Имя пользователя для доступа к кластеру Elasticsearch. Обычно значение admin. Этот параметр требуется только для кластера безопасности. |
пароль | Нет | Пароль для доступа к кластеру Elasticsearch. Пароль задаётся при создании кластера. Этот параметр требуется только для кластера безопасности. |
индекс | Да | Индекс, в который будут перемещены данные. Можно настроить только один индекс. |
Beats Шаблон
Импортирует данные из Beats в кластер Elasticsearch.
input {beats {port => 5044 # port}}filter {# Delete some fields added by Logstash.mutate {remove_field => ["@timestamp", "@version"]}}output {elasticsearch {hosts => ["http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200", "http://xxx.xxx.xxx.xxx:9200"] # host# user => "xxxx" # user name, just for security cluster# password => "xxxx" # password, just for security clusterindex => "xxxxxx" # destination _index}}
Элемент конфигурации | Обязательно | Описание |
|---|---|---|
порт | Да | Номер порта 5044 используется для подключения и индексирования Elasticsearch через Beats. |
хосты | Да | Адрес для доступа к исходному кластеру Elasticsearch, откуда поступают данные. |
пользователь | Нет | Имя пользователя для доступа к кластеру Elasticsearch. Обычно значение admin. Этот параметр требуется только для кластера безопасности. |
пароль | Нет | Пароль для доступа к кластеру Elasticsearch. Пароль задаётся при создании кластера. Этот параметр требуется только для кластера безопасности. |
индекс | Да | Индекс, в который будут мигрировать данные. Можно настроить только один индекс. |
Для получения дополнительной информации см. документ Logstash Beats input plugin.