Добавлена настройка 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
|
-config string
|
||||||
Файл настроек (default "config.ini")
|
Файл настроек (default "config.ini")
|
||||||
-create-config
|
-create-config
|
||||||
|
|
|
@ -3,28 +3,7 @@
|
||||||
// Версия: 1.0.0
|
// Версия: 1.0.0
|
||||||
// Автор: Сергей Калинин svk@nuk-svk.ru https://git.nuk-svk.ru/svk/
|
// Автор: Сергей Калинин svk@nuk-svk.ru https://git.nuk-svk.ru/svk/
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
// Использование log-processor:
|
// Лицензия: GPL(v3)
|
||||||
// -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"
|
|
||||||
|
|
||||||
//------------------------- ------------------------------------------------
|
//------------------------- ------------------------------------------------
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
@ -73,6 +52,7 @@ var (
|
||||||
EsIndexPrefix string
|
EsIndexPrefix string
|
||||||
EsIndexName string
|
EsIndexName string
|
||||||
EsSkipVerify bool
|
EsSkipVerify bool
|
||||||
|
EsDiscoverNode bool
|
||||||
Debug bool
|
Debug bool
|
||||||
OutFormat string
|
OutFormat string
|
||||||
WriteOutFile bool
|
WriteOutFile bool
|
||||||
|
@ -230,6 +210,8 @@ logFileExtention=.lgp
|
||||||
[ElasticSearch]
|
[ElasticSearch]
|
||||||
; Включене отправки данных в ElasticSearch
|
; Включене отправки данных в ElasticSearch
|
||||||
sendToEs=false
|
sendToEs=false
|
||||||
|
; Получать список узлов кластера ElasticSearch
|
||||||
|
esDiscoverNode=true
|
||||||
; Адрес сервера ElasticSearch
|
; Адрес сервера ElasticSearch
|
||||||
esUrl=https://elastic:9200
|
esUrl=https://elastic:9200
|
||||||
; Пользователь для подключсения к ElasticSearch
|
; Пользователь для подключсения к ElasticSearch
|
||||||
|
@ -1026,13 +1008,13 @@ func esConnect() *opensearch.Client {
|
||||||
Transport: &http.Transport{
|
Transport: &http.Transport{
|
||||||
MaxIdleConns: 10,
|
MaxIdleConns: 10,
|
||||||
MaxIdleConnsPerHost: 10,
|
MaxIdleConnsPerHost: 10,
|
||||||
ResponseHeaderTimeout: 60 * time.Second,
|
ResponseHeaderTimeout: 300 * time.Second,
|
||||||
IdleConnTimeout: 1 * time.Millisecond,
|
IdleConnTimeout: 1 * time.Millisecond,
|
||||||
DisableKeepAlives: true,
|
DisableKeepAlives: true,
|
||||||
// ForceAttemptHTTP2: true,
|
// ForceAttemptHTTP2: true,
|
||||||
MaxConnsPerHost: 20,
|
MaxConnsPerHost: 20,
|
||||||
DialContext: (&net.Dialer{
|
DialContext: (&net.Dialer{
|
||||||
Timeout: 60 * time.Second,
|
Timeout: 300 * time.Second,
|
||||||
// KeepAlive: 10 * time.Millisecond,
|
// KeepAlive: 10 * time.Millisecond,
|
||||||
}).DialContext,
|
}).DialContext,
|
||||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: EsSkipVerify},
|
TLSClientConfig: &tls.Config{InsecureSkipVerify: EsSkipVerify},
|
||||||
|
@ -1045,8 +1027,12 @@ func esConnect() *opensearch.Client {
|
||||||
log.Println("cannot initialize", err)
|
log.Println("cannot initialize", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
// Получение списка узлов кластера для параллельной работы
|
||||||
|
// вставка данных будет идти через все узлы
|
||||||
|
if EsDiscoverNode {
|
||||||
|
EsClient.DiscoverNodes()
|
||||||
|
}
|
||||||
|
|
||||||
EsClient.DiscoverNodes()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Ошибка получения списка узлов кластера ES:", err)
|
log.Println("Ошибка получения списка узлов кластера ES:", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -1161,6 +1147,7 @@ func readConfigFile(fileName string) {
|
||||||
|
|
||||||
SendToEs = cfg.Section("ElasticSearch").Key("sendToEs").MustBool()
|
SendToEs = cfg.Section("ElasticSearch").Key("sendToEs").MustBool()
|
||||||
if SendToEs {
|
if SendToEs {
|
||||||
|
EsDiscoverNode = cfg.Section("ElasticSearch").Key("esDiscoverNode").MustBool()
|
||||||
EsUrl = cfg.Section("ElasticSearch").Key("esUrl").String()
|
EsUrl = cfg.Section("ElasticSearch").Key("esUrl").String()
|
||||||
EsUser = cfg.Section("ElasticSearch").Key("esUser").String()
|
EsUser = cfg.Section("ElasticSearch").Key("esUser").String()
|
||||||
EsPassword = cfg.Section("ElasticSearch").Key("esPassword").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(&EsUser, "es-user", "", "Имя пользователя Elastic Search (ELASTICSEARCH_USER)")
|
||||||
flag.StringVar(&EsPassword, "es-password", "", "Пароль пользователя Elastic Search (ELASTICSEARCH_PASSWORD)")
|
flag.StringVar(&EsPassword, "es-password", "", "Пароль пользователя Elastic Search (ELASTICSEARCH_PASSWORD)")
|
||||||
flag.StringVar(&EsIndexPrefix, "es-index-prefix", "", "Префикс имени индекса Elastic Search (ELASTICSEARCH_INDEX_PREFIX)")
|
flag.StringVar(&EsIndexPrefix, "es-index-prefix", "", "Префикс имени индекса Elastic Search (ELASTICSEARCH_INDEX_PREFIX)")
|
||||||
flag.IntVar(&EsBulkRecordsQuantity, "es-bulk-quantity", 10, "Количество записей в одном запросе для пакетной вставки")
|
flag.BoolVar(&EsDiscoverNode, "es-discover-node", false, "Получать список узлов кластера ElasticSearch")
|
||||||
flag.BoolVar(&EsBulk, "es-bulk", false, "Пакетная вставка записей в Elastic Search")
|
// 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(&EsSkipVerify, "es-skip-verify", false, "Пропустить проверку сертификатов при подключении к Elastic Search")
|
||||||
flag.BoolVar(&WriteOutFile, "write-out-file", false, "Запись обработанных данных в файл")
|
flag.BoolVar(&WriteOutFile, "write-out-file", false, "Запись обработанных данных в файл")
|
||||||
flag.StringVar(&OutFormat, "out-format", "csv", "Формат данных на выходе (csv, json) (OUT_FORMAT)")
|
flag.StringVar(&OutFormat, "out-format", "csv", "Формат данных на выходе (csv, json) (OUT_FORMAT)")
|
||||||
|
|
Loading…
Reference in New Issue