Добавлена настройка es-discover-node для получения списка узлов elasticsearch
parent
e1271356b5
commit
23fe77e2d2
|
@ -15,7 +15,7 @@
|
|||
## Опции командной строки
|
||||
|
||||
```
|
||||
Usage of /tmp/go-build847101717/b001/exe/log-processor:
|
||||
Usage of log-processor:
|
||||
-config string
|
||||
Файл настроек (default "config.ini")
|
||||
-create-config
|
||||
|
|
|
@ -3,28 +3,7 @@
|
|||
// Версия: 1.0.0
|
||||
// Автор: Сергей Калинин svk@nuk-svk.ru https://git.nuk-svk.ru/svk/
|
||||
// ----------------------------------------------------------------------
|
||||
// Использование log-processor:
|
||||
// -dict-file string
|
||||
// Файл со словарём (DICT_FILE) (default "1Cv8.lgf")
|
||||
// -dir-in string
|
||||
// Каталог для исходных файлов (DIR_IN) (default "in")
|
||||
// -dir-log string
|
||||
// Каталог для лога работы (DIR_LOG) (default "log")
|
||||
// -dir-out string
|
||||
// Каталог для обработанных файлов (DIR_OUT) (default "out")
|
||||
// -dir-temp string
|
||||
// Каталог для временных файлов (TEMP) (default "/tmp")
|
||||
// -log-file-ext string
|
||||
// Расширение файлов с журналами (обрабатываемых логов) (LOG_FILE_EXT) (default ".lgp")
|
||||
// -object-types string
|
||||
// Список типов объектов для выборки разделённый запятой (OBJECT_TYPES) (default "1,2,3,4,5,6,7,8")
|
||||
// -out-format string
|
||||
// Выводить данные в формате JSON (OUT_FORMAT) (default "json")
|
||||
// -send-to-es
|
||||
// Отправлять данные в ElasticSearch (SEND_TO_ES)
|
||||
// -------------------------------------------------------------------------
|
||||
// ELASTICSEARCH_URL="https://user:pass@elastic:9200"
|
||||
|
||||
// Лицензия: GPL(v3)
|
||||
//------------------------- ------------------------------------------------
|
||||
|
||||
package main
|
||||
|
@ -73,6 +52,7 @@ var (
|
|||
EsIndexPrefix string
|
||||
EsIndexName string
|
||||
EsSkipVerify bool
|
||||
EsDiscoverNode bool
|
||||
Debug bool
|
||||
OutFormat string
|
||||
WriteOutFile bool
|
||||
|
@ -230,6 +210,8 @@ logFileExtention=.lgp
|
|||
[ElasticSearch]
|
||||
; Включене отправки данных в ElasticSearch
|
||||
sendToEs=false
|
||||
; Получать список узлов кластера ElasticSearch
|
||||
esDiscoverNode=true
|
||||
; Адрес сервера ElasticSearch
|
||||
esUrl=https://elastic:9200
|
||||
; Пользователь для подключсения к ElasticSearch
|
||||
|
@ -1026,13 +1008,13 @@ func esConnect() *opensearch.Client {
|
|||
Transport: &http.Transport{
|
||||
MaxIdleConns: 10,
|
||||
MaxIdleConnsPerHost: 10,
|
||||
ResponseHeaderTimeout: 60 * time.Second,
|
||||
ResponseHeaderTimeout: 300 * time.Second,
|
||||
IdleConnTimeout: 1 * time.Millisecond,
|
||||
DisableKeepAlives: true,
|
||||
// ForceAttemptHTTP2: true,
|
||||
MaxConnsPerHost: 20,
|
||||
DialContext: (&net.Dialer{
|
||||
Timeout: 60 * time.Second,
|
||||
Timeout: 300 * time.Second,
|
||||
// KeepAlive: 10 * time.Millisecond,
|
||||
}).DialContext,
|
||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: EsSkipVerify},
|
||||
|
@ -1045,8 +1027,12 @@ func esConnect() *opensearch.Client {
|
|||
log.Println("cannot initialize", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
// Получение списка узлов кластера для параллельной работы
|
||||
// вставка данных будет идти через все узлы
|
||||
if EsDiscoverNode {
|
||||
EsClient.DiscoverNodes()
|
||||
}
|
||||
|
||||
EsClient.DiscoverNodes()
|
||||
if err != nil {
|
||||
log.Println("Ошибка получения списка узлов кластера ES:", err)
|
||||
os.Exit(1)
|
||||
|
@ -1161,6 +1147,7 @@ func readConfigFile(fileName string) {
|
|||
|
||||
SendToEs = cfg.Section("ElasticSearch").Key("sendToEs").MustBool()
|
||||
if SendToEs {
|
||||
EsDiscoverNode = cfg.Section("ElasticSearch").Key("esDiscoverNode").MustBool()
|
||||
EsUrl = cfg.Section("ElasticSearch").Key("esUrl").String()
|
||||
EsUser = cfg.Section("ElasticSearch").Key("esUser").String()
|
||||
EsPassword = cfg.Section("ElasticSearch").Key("esPassword").String()
|
||||
|
@ -1259,8 +1246,9 @@ func main() {
|
|||
flag.StringVar(&EsUser, "es-user", "", "Имя пользователя Elastic Search (ELASTICSEARCH_USER)")
|
||||
flag.StringVar(&EsPassword, "es-password", "", "Пароль пользователя Elastic Search (ELASTICSEARCH_PASSWORD)")
|
||||
flag.StringVar(&EsIndexPrefix, "es-index-prefix", "", "Префикс имени индекса Elastic Search (ELASTICSEARCH_INDEX_PREFIX)")
|
||||
flag.IntVar(&EsBulkRecordsQuantity, "es-bulk-quantity", 10, "Количество записей в одном запросе для пакетной вставки")
|
||||
flag.BoolVar(&EsBulk, "es-bulk", false, "Пакетная вставка записей в Elastic Search")
|
||||
flag.BoolVar(&EsDiscoverNode, "es-discover-node", false, "Получать список узлов кластера ElasticSearch")
|
||||
// flag.IntVar(&EsBulkRecordsQuantity, "es-bulk-quantity", 10, "Количество записей в одном запросе для пакетной вставки")
|
||||
// flag.BoolVar(&EsBulk, "es-bulk", false, "Пакетная вставка записей в Elastic Search")
|
||||
flag.BoolVar(&EsSkipVerify, "es-skip-verify", false, "Пропустить проверку сертификатов при подключении к Elastic Search")
|
||||
flag.BoolVar(&WriteOutFile, "write-out-file", false, "Запись обработанных данных в файл")
|
||||
flag.StringVar(&OutFormat, "out-format", "csv", "Формат данных на выходе (csv, json) (OUT_FORMAT)")
|
||||
|
|
Loading…
Reference in New Issue