1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bboss-filelog-elasticsearch

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 16:18 f56a5d7

Данные синхронизации инструмента: функции

С помощью инструмента для синхронизации данных bboss данные из лог-файлов собираются и отправляются в плагин Elasticsearch.

Требования к среде bboss

  • JDK 1.8+;
  • Elasticsearch версии 1.x, 2.X, 5.X, 6.X, 7.x, 8.x и выше;
  • Spring booter 1.x, 2.x и выше.

Демонстрация инструмента bboss для отправки данных из журнала в Elasticsearch

Используя демонстрационное приложение, которое поставляется с этим инструментом, можно быстро написать, упаковать и опубликовать инструмент для импорта данных, который можно запустить.

Поддерживаются следующие версии Elasticsearch:

  • 1.x,
  • 2.x,
  • 5.x,
  • 6.x,
  • 7.x,
  • 8.x,
  • и более поздние версии.

Инструмент поддерживает функцию импорта больших объёмов данных уровня PB.

Дополнительная информация.

Сборка и развёртывание

  1. Подготовка: необходимо создать версию для выпуска с использованием Gradle. Для установки и настройки Gradle обратитесь к документации: https://esdoc.bbossgroups.com/#/bboss-build.

  2. Загрузка исходного кода проекта на основе Gradle: загрузите исходный код проекта с GitHub по адресу: https://github.com/bbossgroups/filelog-elasticsearch. Затем импортируйте проект в IDE, например, IDEA или Eclipse, и настройте логику импорта программы в соответствии со своими потребностями.

  3. Если необходимо протестировать и отладить функцию импорта, запустите метод main класса FileLog2ESDemo:

public class FileLog2ESDemo {
    private static Logger logger = LoggerFactory.getLogger(FileLog2ESDemo.class);
    public static void main(String[] args){
        try {
            String repsonse = ElasticSearchHelper.getRestClientUtil().dropIndice("metrics-report");
            logger.info(repsonse);
        } catch (Exception e) {
        }
        FileLog2ESImportBuilder importBuilder = new FileLog2ESImportBuilder();
        importBuilder.setBatchSize(500)//设置批量入库的记录数
                .setFetchSize(1000);//设置按批读取文件行数
        //设置强制刷新检测空闲时间间隔,单位:毫秒,在空闲flushInterval后,还没有数据到来,强制将已经入列的数据进行存储操作,默认8秒,为0时关闭本机制
        importBuilder.setFlushInterval(10000l);

        importBuilder.addFieldMapping("@message","message");
        FileImportConfig config = new FileImportConfig();
    .....
}
  1. Измените конфигурацию ES и базы данных: измените конфигурацию в файле filelog-elasticsearch\src\main\resources\application.properties.

  2. После завершения настройки конфигурации можно приступить к функциональной отладке.

  3. После успешного тестирования и отладки можно приступить к созданию и выпуску рабочей версии: перейдите в командную строку, перейдите в каталог исходного кода filelog-elasticsearch и выполните команду release.bat для создания пакета выпуска.

  4. Запуск задания: после успешной сборки с помощью Gradle в каталоге build/distributions будет создан исполняемый zip-пакет. Распакуйте и запустите программу импорта.

  • В Linux:
    • chmod +x restart.sh
    • ./restart.sh
  • В Windows: restart.bat.
  1. Настройка параметров JVM: настройте параметры JVM в файле jvm.options, чтобы установить размер памяти и другие параметры JVM. -Xms1g -Xmx1g.

  2. Конфигурация параметров задания: при использовании filelog-elasticsearch, чтобы избежать постоянной перекомпиляции и выпуска инструмента синхронизации данных во время процесса отладки, некоторые параметры управления можно настроить в файле запуска resources/application.properties, а затем получить эти параметры в коде следующим образом:

#作业运行主程序配置
mainclass=org.frameworkset.datatran.imp.FileLog2ESDemo

# 参数配置
# 在代码中获取方法:CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false
dropIndice=false

В коде параметр dropIndice получается следующим образом:

boolean dropIndice = CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false

Кроме того, в файле запуска resources/application.properties можно настроить некоторые параметры выполнения задания, такие как количество рабочих потоков, размер очереди ожидания и размер пакета обработки:

queueSize=50
workThreads=10
batchSize=20

Эти параметры получаются и используются в коде следующим образом:

int batchSize = CommonLauncher.getIntProperty("batchSize",10);//同时指定了默认值
int queueSize = CommonLauncher.getIntProperty("queueSize",50);//同时指定了默认值
int workThreads = CommonLauncher.getIntProperty("workThreads",10);//同时指定了默认值
importBuilder.setBatchSize(batchSize);
importBuilder.setQueue(queueSize);//设置批量导入线程池等待队列长度
importBuilder.setThreadCount(workThreads);//设置批量导入线程池工作线程数量

Техническая группа обмена: 166471282 Общественный аккаунт WeChat: bbossgroup

Примечание: в запросе не удалось перевести часть текста, поэтому он остался без перевода.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/bboss-filelog-elasticsearch.git
git@api.gitlife.ru:oschina-mirror/bboss-filelog-elasticsearch.git
oschina-mirror
bboss-filelog-elasticsearch
bboss-filelog-elasticsearch
main