Elastic + filebeat + ТЖ 1С

Публикация № 1073101

Администрирование - Администрирование данных 1С - Журнал регистрации

Рассмотрим как можно обрабатывать удобно большой объем информации с простой структурой. Это удобно для анализа логов ТЖ, поскольку типовыми механизмами он невозможен.

Официальный сайт эластика https://www.elastic.co/.
По ссылке https://www.elastic.co/downloads/ необходимо закачать и установить
1. elasticsearch
2. filebeat
3. kibana

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

Запуск инструментов

Запуск filebeat
"D:\distrib\filebeat-7.0.0-windows-x86_64\filebeat.exe" -c "D:\distrib\filebeat-7.0.0-windows-x86_64\filebeat.yml" -path.home "D:\distrib\filebeat-7.0.0-windows-x86_64" -path.data "C:\ProgramData\filebeat" -path.logs "C:\ProgramData\filebeat\logs"
Проверка настроек filebeat
D:\distrib\filebeat-7.0.0-windows-x86_64\filebeat.exe test config -c D:\distrib\filebeat-7.0.0-windows-x86_64\filebeat.yml

Установка elasticsearch в виде сервиса
d:\distrib\elasticsearch-7.0.0\bin\elasticsearch-service.bat install

Запуск kibana выполняется файлом kibana.bat из папки bin корневого каталога.

Механизм работы:
Filebeat вычитывает файлы логов маркируя прочитанные и отправляет в elasticsearch с указанием в какой индекс ложить.
Если индекса нет он создается, если индекс есть в него добавляются новые записи.
Структура индекса создается по шаблону, который filebeat передает elasticsearch.
Сам шаблон filebeat берет из настроек fields.yml, так же можно указать свой шаблон.
Если в elasticsearch уже есть шаблон то по умолчанию он не обновляется (настройка setup.template.overwrite).
Для принудительного обновления шаблона необходимо выставить настройку setup.template.overwrite: true.
Так же можно самому создать шаблон напрямую в elasticsearch чтобы он подхватывался при создании индекса.
После создания индекса и шаблона необходимо задать правила парсинга сообщения ТЖ для разбора и заполнения полей индекса.

Настройка

Filebeat
Filebeat может обрабатывать каталоги и файлы.
Файлы читает построчно и гарантирует что прочитанное сообщение будет отправлено по крайней мере один раз и без потери данных.
Каждый файл обрабатывается отдельно.
Данные о прочитанных файлах хранятся в реестре.
По каждому файлу хранится уникальный идентификатор.
Это необходимо т.к. файл может быть переименован или перемещен.
Уникальные идентификаторы хранятся в реестре, поэтому возможен его рост при чтении большого количества файлов.
Более подробно описано в https://www.elastic.co/guide/en/beats/filebeat/7.0/how-filebeat-works.html.

# настраиваем сбор логов ТЖ
#=========================== Filebeat inputs =============================
filebeat.inputs:
- type: log

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    #- /var/log/*.log
    # Обращаем внимание на формат, \*\* будет смотреть в подкаталог, когда \* не будет
    - d:\logs1С\*\*.log

#-------------------------- Elasticsearch output ------------------------------

output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]

# Имя индекса, если нет то создается новый
index: "onectj-%{+yyyy.MM.dd}"

# Разделим на индексы по типам сообщений
# Без разделения все будет ложиться в один индекс описанный выше
indices:
- index: "onectj-call-%{+yyyy.MM.dd}"
when.contains:
message: "SCALL"
- index: "onectj-conn-%{+yyyy.MM.dd}"
when.contains:
message: "conn"

timeout: 60

# Нас интересует преобразование логов при обработке в эластике
# для этого необходимо указать pipeline (https://www.elastic.co/guide/en/beats/filebeat/6.4/elasticsearch-output.html) 
# который будет обрабатывать лог в эластике.
# В эластике необходимо настроить этот pipeline.
# Более подробно описано здесь
# https://www.elastic.co/guide/en/beats/filebeat/7.0/configuring-ingest-node.html
pipeline: "onectj_pipeline"

# загружать шаблон индекса в эластик, если шаблон есть он не перезаписывается
setup.template.enabled: true
# имя шаблона искомого в эластике для разбора индекса
setup.template.name: "onectj"
# паттерн шаблона
setup.template.pattern: "onectj-*"

#============================== Setup ILM =====================================

# Изменение имени индекса по умолчанию будет игнорироваться
# если включена ILM (управление жизненным циклом индекса).
# Можно либо доработать ILM либо отключить
# Более подробно описано здесь
# https://www.elastic.co/guide/en/beats/filebeat/7.0/ilm.html#setup-ilm-overwrite-option
# filebeat 7.0+
setup.ilm.enabled: false
#setup.lim.overwrite: true

Elasticsearch
Для его настройки используем kibana, точнее ее консоль.

Добавим шаблон по которому будет создаваться индекс.

PUT _template/onectj
{
  "index_patterns": ["onectj-*"],
  "settings": {
    "number_of_shards": 1
  },
  "mappings": {
      "properties": {
        /*добавляем поля*/
        "num_min": {
          "type": "integer"
        }
        ,"num_sec": {
          "type": "integer"
        }
        ,"ten_thousandth_second": {
          "type": "integer"
        }
        ,"duration": {
          "type": "integer"
        }
        ,"event1c": {
          "type": "text"
        }
        ,"level_event": {
          "type": "text"
        }
        ,"process_name": {
          "type": "text"
        }
        ,"usr": {
          "type": "text"
        }
        ,"context": {
          "type": "text"
        }
        ,"process1c": {
          "type": "text"
        }
        ,"ClientID_name": {
          "type": "text"
        }
        ,"ClientID": {
          "type": "text"
        }
        ,"computerName": {
          "type": "text"
        }
        /*можно добавить группу полей*/
        /*"onec": {
             "properties": {
                  "num_min": {
                    "type": "long"
                  }
                  ,"num_sec": {
                    "type": "long"
                  }
                  ,"ten_thousandth_second": {
                    "type": "text"
                  }
                  ,"duration": {
                    "type": "text"
                  }
          }*/
        }
    }
  }
}

Посмотреть существующий шаблон можно по команде

# получим шаблон индекса ТЖ
GET /_template/onectj

Чтобы просмотреть все шаблоны команда будет похожая

GET /_template/*

Для удаления шаблона используется команда

# удалим шаблон
DELETE _template/onectj*


Внимание!!!
Изменение шаблона делается по аналогии с добавлением.
Но если изменился тип поля то он обновится только в новом индексе либо при переиндексации существующего.

После создания шаблона определим правила разбора сообщения на поля индекса.

Внимание!!!
В индексе отображаются только заполненные поля.
Т.е. если поле есть в шаблоне, но не заполняется правилами оно не будет отображаться при просмотре индекса.

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

# установим шаблон разбора сообщений ТЖ
PUT _ingest/pipeline/onectj_pipeline
{
 "description" : "onec tj pipeline",
 "processors": [
    {
      "grok": {
        "field": "message",
        "patterns": ["%{NUMBER:num_min}:%{BASE10NUM:num_sec}-%{WORD:duration},%{WORD:event1c},%{WORD:level_event}"]
      }
    },  
    {
        "grok": {
          "field": "message",
          "patterns": [
            "process=%{WORD:process1c}"
          ],
          "on_failure": [
            {
              "set": {
                "field": "process1c",
                "value": ""
              }
            }
          ]
        }
    },  
    {
        "grok": {
          "field": "message",
          "patterns": [
            "Usr=%{WORD:usr}"
          ],
          "on_failure": [
            {
              "set": {
                "field": "usr",
                "value": ""
              }
            }
          ]
        }
    },  
    {
        "grok": {
          "field": "message",
          "patterns": [
            "Context=%{WORD:context}"
          ],
          "on_failure": [
            {
              "set": {
                "field": "context",
                "value": ""
              }
            }
          ]
        }
    }
  ]
}

Отладить выражения для разбора можно следующим образом

# проверим шаблон разбора сообщений ТЖ
POST _ingest/pipeline/_simulate
{
  "pipeline": {
  "description" : "parse multiple patterns",
  "processors": [
    {
      "grok": {
        "field": "message",
        "patterns": ["%{NUMBER:num_min}:%{BASE10NUM:num_sec}-%{WORD:duration},%{WORD:event1c},%{WORD:level_event},process=%{WORD:process_name}"]
      }
    },  
    {
        "grok": {
          "field": "message",
          "patterns": [
            "process=(%{DATA:process},|%{GREEDYDATA:process})"
          ],
          "on_failure": [
            {
              "set": {
                "field": "process",
                "value": ""
              }
            }
          ]
        }
    }
  ]
},
"docs":[
  {
    "_source": {
      "message": "16:40.991013-1,SCALL,0,process=ragent,ClientID=248,Interface=0459eaa0-589f-4a6d-9eed-c1a7461c8e3f,IName=IClusterRegistry,Method=18,CallID=915855,MName=getServersList"
    }
  }
  ]
}


Kibana

Для просмотра индексов в kibana необходимо создать паттерн их отображения.


Для этого зайдем в паттерны индексов и создадим новый.



Укажем маску для группировки нескольких индексов.



Выберем поле хранящее время события



Создадим паттерн индекса.
Теперь выбрав этот паттерн можно будет просматривать индексы.



Отладка

Для анализа проблем обработки в elasticsearch используем журнал filebeat.

#================================ Logging =====================================

# Sets log level. The default log level is info.
# Available log levels are: error, warning, info, debug
logging.level: debug
logging.to_files: true
logging.files:
  path: "d:\\distrib\\filebeat-7.0.0-windows-x86_64\\logs"
  name: filebeat

Указываем уровень регистрируемых ошибок, включаем журнал. При желании можно указать свой каталог логов.
В случае ошибок они отобразятся в логах
Например
 

#2019-06-07T09:40:14.117+0700	DEBUG	[elasticsearch]	elasticsearch/client.go:532	Bulk item insert failed (i=0, status=500): {"type":"exception","reason":"java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Provided Grok expressions do not match field value: [ОбщийМодуль.ГлобальныйМодуль.Модуль : 10 : ТекущийРежим = ПолучитьБлокировкуУстановкиСоединений();']","caused_by":{"type":"illegal_argument_exception","reason":"java.lang.IllegalArgumentException: Provided Grok expressions do not match field value: [ОбщийМодуль.ГлобальныйМодуль.Модуль : 10 : ТекущийРежим = ПолучитьБлокировкуУстановкиСоединений();']","caused_by":{"type":"illegal_argument_exception","reason":"Provided Grok expressions do not match field value: [ОбщийМодуль.ГлобальныйМодуль.Модуль : 10 : ТекущийРежим = ПолучитьБлокировкуУстановкиСоединений();']"}},"header":{"processor_type":"grok"}}

Данная ошибка говорит об отсутствии в паттерне шаблона условия для разбора сообщения.
Сообщение не загрузилось.
Пример сообщений журнала.

Скачать файлы

Наименование Файл Версия Размер
Настройки filebeat версии 7.0
.yml 11,12Kb
18.06.19
9
.yml 11,12Kb 9 Скачать
Команды elastic
.txt 4,77Kb
18.06.19
8
.txt 4,77Kb 8 Скачать
Шаблон json
.json 1,01Kb
20.06.19
7
.json 1,01Kb 7 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Kluch 19.06.19 17:40 Сейчас в теме
Хорошая статья.
А как указать, что нужно загружать шаблон индекса из файла json. Вроде есть такая возможность, но что-то не получается:

setup.template.json.enabled: true
setup.template.json.name: "onectj"
setup.template.json.path: ${path.config}/my_template.json

И есть ли возможность также указать файл с pipeline в настройках?
Чтобы не вызывать:
PUT _template/onectj
PUT _ingest/pipeline/onectj_pipeline
3. pashamak 160 20.06.19 06:04 Сейчас в теме
(1) Добрый день.
Спасибо!
По документации имя pipeline нужно указывать в настройках, о его загрузке из настроек речи нет.
Подробнее здесь https://www.elastic.co/guide/en/beats/filebeat/7.0/elasticsearch-output.html.

К шаблону предъявляются требования.
В логах есть ошибка загрузки шаблона?

Пример двух разных ошибок некорректного разбора шаблона:

2019-06-20T09:44:23.605+0700 ERROR pipeline/output.go:100 Failed to connect to backoff(elasticsearch(http://localhost:9200)): Connection marked as failed because the onConnect callback failed: Error loading Elasticsearch template: could not unmarshal json template: json: cannot unmarshal array into Go value of type map[string]interface {}

2019-06-20T09:56:59.672+0700 ERROR pipeline/output.go:100 Failed to connect to backoff(elasticsearch(http://localhost:9200)): Connection marked as failed because the onConnect callback failed: Error loading Elasticsearch template: could not unmarshal json template: invalid character '}' after top-level value
(1)

Приложил пример шаблона приведенного в статье.
У меня после удаления шаблона в эластике он загрузился из json корректно.
Прикрепленные файлы:
onectj.json
4. Kluch 21.06.19 13:10 Сейчас в теме
(3) Добрый день.
В логах в консоли как я понимаю пишет: Template already exists and will not be overwritten и загружает шаблон по умолчанию.
Ошибки в моем шаблоне нет, через PUT _template он загружается.

Логи в файл тоже не собираются (выводятся на экран в консоли).

Думаю проблема в задании путей. Что-то не пойму как их указывать?
"E:\\ELK_Stack_7.0.0\\filebeat-7.0.0\\logs" - с двумя слешами
"E:\ELK_Stack_7.0.0\filebeat-7.0.0\logs" - с одним слешем
E:\ELK_Stack_7.0.0\filebeat-7.0.0\logs - без кавычек
${path.config}/logs - или может так?

В секции filebeat.inputs работает так:

paths:
- D:\Logs_ELK\*.log
7. pashamak 160 23.06.19 19:30 Сейчас в теме
(4) Проблема в существовании шаблона, он его не может обновить без включенной настройки замены.
Можно (1 ) удалить существующий шаблон или (2) указать замену шаблон в настройках.
1. DELETE _template/[имя шаблона]
2. Описано здесь https://www.elastic.co/guide/en/beats/filebeat/7.0/configuration-template.html
setup.template.overwrite
A boolean that specifies whether to overwrite the existing template. The default is false.
2. starik-2005 2169 19.06.19 21:25 Сейчас в теме
В последнее время инструменты для линуха стали появляться в винде и винда становится похожа на линух. Ну а консольку можно через подсистему линуха засунуть к мелкомягким - и будет все хорошо.
5. ALex_1C_8 21.06.19 15:15 Сейчас в теме
Может не внимательно читал, но я так и не понял. Как решаете проблему многострочных событий в ТЖ.
6. Kluch 21.06.19 16:31 Сейчас в теме
(5) По идее есть настройка в разделе filebeat.inputs:
multiline.pattern:

Например:

multiline.pattern: '(\d\d:\d\d)\.(\d+)-(\d+)'
8. pashamak 160 23.06.19 19:32 Сейчас в теме
(5) Это не описывал в статье.
Посмотрите по (6) описание в доке https://www.elastic.co/guide/en/beats/filebeat/7.0/filebeat-reference-yml.html
13. Darklight 22 09.12.19 14:02 Сейчас в теме
Интересная статья, но не для начинающих (всё-таки основы тут не разбираются - нужно вникакать в принципы описания взаимодействий filebeat и elasticserach по другим статьям - не про разбор 1С ТЖ).

Вот, я так и не смог разобраться - как формируется дата события - части времени берутся из строки события ТЖ и помещаются в заданные для них поля индекса. Но, во-первых, там нет полного времени ни даты ни часа - это всё находится в имени файла, а оно в filebeat тут никак не разбирается. А, во-вторых, так и не понятно - как потом формируется timestamp записи в Elasticsearch (поле - которое указывается при создании паттерна индекса в kibana)? Можете это подробнее пояснить?

Так же жаль, что не уделили времени в статье обработке событий, разделённых на несколько строк. Ну, в (8),(9) конечно дали намёк - что нужно включить обработку таких строк в filebeat и определять перенос строки - когда начало перенесённой строки не совпадает с партерном описания времени (то это перенесённая строка - хотя это и не совсем надёжно). Но всё- равно стоило бы это описать в статье - ибо для 1C ТЖ это рядовая ситуация и не самая простая при обработке ТЖ классическими путём
9. Repich 501 31.07.19 10:17 Сейчас в теме
(5)
input {
file {

codec => multiline {
pattern => "^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]"
negate => true
what => "previous"
}
17. EliasShy 50 11.12.19 07:00 Сейчас в теме
(9) это настройка для logstash насколько понимаю
для filebeat будет

multiline.pattern: '^[0-9][0-9]:[0-9][0-9][.][0-9][0-9][0-9][0-9][0-9][0-9]'
multiline.match: after
multiline.negate: true

Только после чтения документации понимаешь почему after и почему negate - по-наитию сначала ставил before и negate false
10. serge_focus 4 08.08.19 14:43 Сейчас в теме
Привет

А для файлового ЖР у Вас есть pipeline и Настройка.yml?
Хочу перевести ЖР в старый формат
11. pashamak 160 08.08.19 19:57 Сейчас в теме
(10) Для журнала регистрации есть сервис который его разбирает и складывает в эластик.
Сервис написан, но находится в процессе отладки.
Пример прилагаю в скриншоте.
При интересе пишите в личку могу отправить.
Прикрепленные файлы:
12. EGOLEGE 30.10.19 05:39 Сейчас в теме
14. EliasShy 50 10.12.19 07:57 Сейчас в теме
Добрый день.
Спасибо за статью - очень ценная информация.

Подскажите, какими настройками Filebeat удалось его заставить сообщение формировать не по концу строки, а полное - т.е. чтобы начиналось с маркера времени?
16. pashamak 160 10.12.19 18:15 Сейчас в теме
(14)Для многострочных событий используйте мультилайн, он описан выше
15. pashamak 160 10.12.19 15:59 Сейчас в теме
Если речь о скрине выше то это отдельный сервис написанный на .net. Он ставится отдельно и сам все разбирает.
Если речь про ТЖ то с работы pipeline не покажу.
Смотрите в строну нескольких регулярок.
18. EliasShy 50 19.12.19 14:09 Сейчас в теме
Коллеги. Настроили filebeat + ES и все прочее - собирается замечательно.
Но, при продолжительной работе не считывает следующий час (только после остановки сервиса filebeat) - может кто-то сталкивался?
19. pashamak 160 03.02.20 13:09 Сейчас в теме
20. EliasShy 50 07.02.20 10:48 Сейчас в теме
(19) Разобрались уже. Часовые логи ТЖ обрабатываются с задержкой полтора-два часа
21. user597855_platonov92 17.02.20 18:53 Сейчас в теме
Добрый день!
Большое спасибо за подробную статью!
Есть вопрос по добавлению даты создания лога. В ТЖ дата пишется частично в названии файла "20021318.log" и остальная часть идет в строке самого файла "03:59.817001-0 *************". Каким образом можно объединить эти значения и преобразовать в дату для дальнейшего использования в фильтрах?
23. pashamak 160 25.02.20 11:43 Сейчас в теме
(21) Вижу следующие пути решения
1. Через переменные yml можно передавать в pipeline данные. При передаче даты можно с нее брать день и время с файла. Более подробно не вспомню как это делается. Здесь немного о переменных https://www.elastic.co/guide/en/elasticsearch/reference/7.x/settings.html
2. Написать скрипт и вытаскивать дату с транзакции если она есть
3. Ставить текущую дату поскольку журнал разбирается в потоке
22. user1063763 25.02.20 11:16 Сейчас в теме
Добрый день! Статья хорошая только вот есть одна загвоздка. Я новичек в ES и прошу вашей помощи. Вроде все делал по вашей статье но никак не получается вывести Available fields в Дисковере. Сортировка только по стандартным полям. В чем может быть проблема?
Прикрепленные файлы:
24. pashamak 160 25.02.20 11:46 Сейчас в теме
(22) По скрину доступные поля уже есть в дискавере. Переформулирйте вопрос.
25. user1063763 25.02.20 12:50 Сейчас в теме
Хотелось бы фильтровать логи по юзеру или по событию а данных полей у меня нет, поковырялся с разбором сообщений. Теперь он выдает поле usr но пустые строки(
Прикрепленные файлы:
26. pashamak 160 25.02.20 15:06 Сейчас в теме
(25)Проверьте отрабатывает ли выделение пользователя. Например, в сообщении примера этого поля нет.
27. user1063763 26.02.20 16:20 Сейчас в теме
(26)Я тестировал и проверил, видимо kibana не хочет брать русскоязычные символы. Так например
POST _ingest/pipeline/_simulate
{
  "pipeline": {
  "description" : "parse multiple patterns",
  "processors": [
    {
      "grok": {
        "field": "message",
        "patterns": ["%{NUMBER:num_min}:%{BASE10NUM:num_sec}-%{WORD:duration},%{WORD:event1c},%{WORD:level_event},process=%{WORD:process_name},Usr=%{WORD:usr}"]
      }
    },  
    {
        "grok": {
          "field": "message",
          "patterns": [
            "process=(%{DATA:process},|%{GREEDYDATA:process})"
          ],
          "on_failure": [
            {
              "set": {
                "field": "process",
                "value": ""
              }
            }
          ]
        }
    }
  ]
},
"docs":[
  {
    "_source": {
      "message": "16:40.991013-1,SCALL,0,process=ragent,Usr=Administrator,ClientID=248,Interface=0459eaa0-589f-4a6d-9eed-c1a7461c8e3f,IName=IClusterRegistry,Method=18,CallID=915855,MName=getServersList"
    }
  }
  ]
}
Показать


Но если только заменить Administrator на Администратор то выдает ошибку:

{
  "docs" : [
    {
      "error" : {
        "root_cause" : [
          {
            "type" : "illegal_argument_exception",
            "reason" : "Provided Grok expressions do not match field value: [16:40.991013-1,SCALL,0,process=ragent,Usr=Администратор,ClientID=248,Interface=0459eaa0-589f-4a6d-9eed-c1a7461c8e3f,IName=IClusterRegistry,Method=18,CallID=915855,MName=getServersList]"
          }
        ],
        "type" : "illegal_argument_exception",
        "reason" : "Provided Grok expressions do not match field value: [16:40.991013-1,SCALL,0,process=ragent,Usr=Администратор,ClientID=248,Interface=0459eaa0-589f-4a6d-9eed-c1a7461c8e3f,IName=IClusterRegistry,Method=18,CallID=915855,MName=getServersList]"
      }
    }
  ]
}
Показать


Уже и с кодировками игрался, не знаю в чем проблема((
Кстати с контекстом та же беда. Вроде все последовательно делал, изучал.
28. pashamak 160 29.02.20 11:58 Сейчас в теме
(27)Используйте свой формат, поскольку предполагаемый, к сожалению, не работает с кириллицей.
Список обозначений и их соответствие регулярным выражениям можно посмотреть здесь https://github.com/elastic/elasticsearch/blob/7.5/libs/grok/src/main/resources/patterns/grok-patterns.
Ниже привел пример своего формата "MyUserName".
Ссылка на описание в документации
https://www.elastic.co/guide/en/elasticsearch/reference/master/grok-processor.html, раздел "Custom patterns".
Прикладываю скрин с результатом теста.

POST _ingest/pipeline/_simulate
{
  "pipeline": {
  "description" : "parse multiple patterns",
  "processors": [
    {
      "grok": {
        "field": "message",
        "patterns": ["%{NUMBER:num_min}:%{BASE10NUM:num_sec}-%{WORD:duration},%{WORD:event1c},%{WORD:level_event},process=%{WORD:process_name}"]
      }
    },
    {
        "grok": {
          "field": "message",
          "patterns": [
            "Usr=%{MyUserName:usr}"
          ],
          "pattern_definitions" : {
          "MyUserName" : "[а-яА-Яa-zA-Z]*"
        }
        }
    }
  ]
},
"docs":[
  {
    "_source": {
      "message": "16:40.991013-1,SCALL,0,process=ragent,Usr=Админ,ClientID=248,Interface=0459eaa0-589f-4a6d-9eed-c1a7461c8e3f,IName=IClusterRegistry,Method=18,CallID=915855,MName=getServersList"
    }
  }
  ]
}
Показать
Прикрепленные файлы:
29. artkor 127 10.05.20 12:02 Сейчас в теме
Здравствуйте! Спасибо за статью. Не подскажете в чем может быть "беда": застрял на шаге "Create index pattern": в упор не видит никаких индексов типа "onec*", притом что в консоли все добавлено как в статье. "Загуглил" все что можно, не получается добавить индекс( ЧЯДНТ?
30. pashamak 160 11.05.20 07:18 Сейчас в теме
(29) Перед созданием паттерна необходимо создать сам индекс. Он создается либо вручную либо автоматически после обработки записей filebeat.
31. artkor 127 11.05.20 09:53 Сейчас в теме
(30) Спасибо. А где почитать про это (желательно с примерами) если Вы в курсе? Я пока "чайник" в этих вопросах)
Оставьте свое сообщение

См. также

TextRadar - нечеткий поиск в тексте Промо

Разработка внешних компонент Поиск данных v8 1cv8.cf Абонемент ($m)

В отличие от нечеткого сравнения строк, когда обе сравниваемых строки равнозначны, в задаче нечеткого поиска выделяются строка поиска и строка данных, а вычислить необходимо не степень похожести двух строк, а степень присутствия строки поиска в строке данных. Нормированный коэффициент, находящийся между 0 и 1 позволяет отсечь заведомо низкие результаты, организовать поиск по синонимам и т.д. Наглядное отображение результатов в кратком и детальном виде поможет быстро найти интересующий фрагмент.

1 стартмани

19.09.2018    14742    17    TSSV    14    

Экспорт журнала регистрации. Набор инструментов (приложения + исходный код)

Прочие инструменты разработчика Журнал регистрации Абонемент ($m)

Набор инструментов для экспорта данных журнала регистрации во внешние хранилища для Windows и Linux. Готовые приложения и исходный код.

10 стартмани

26.05.2020    2534    4    YPermitin    0    

Быстрая функция поиска ссылки по УИД(GUID)

Поиск данных Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Простая, а самое главное быстрая функция поиска ссылки на объект в информационной базе по УИД(GUID) через запрос.

1 стартмани

11.04.2020    4787    13    Kondratenko.as    27    

Поиск пересекающихся ссылок на комбинации объектов с ограничением области поиска по метаданным

Поиск данных v8 1cv8.cf Абонемент ($m)

Обработка ищет все объекты базы, в которых одновременно присутствуют перечисленные элементы. Построена на базе типовой обработки Все функции - Стандартные - Поиск ссылок на объект, но позволяет накладывать отбор не по одному объекту, а по нескольким, что позволяет настраивать поиск по комбинациям условий. И ограничивать область поиска.

1 стартмани

12.03.2020    3809    11    sapervodichka    18    

Отчет по журналу регистрации Промо

Журнал регистрации v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

Отчет по журналу регистрации с использованием СКД.

2 стартмани

25.07.2011    32676    100    wowik    33    

Журнал регистрации в эластике с использованием службы без использования 1С (.net + elastic)

Журнал регистрации v8 Абонемент ($m)

При большом количестве записей в ЖР типовыми средствами он просматривается тяжело либо при просмотре зависает намертво. Для просмотра ЖР есть различные обработки, которые надо запускать под 1С. В этой публикации предлагается отдельная служба фоново и незаметно работающая на сервере, не требующая использования 1С.

1 стартмани

09.03.2020    1872    7    pashamak    0    

Мастер полнотекстового поиска

Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Набор инструментов для работы с полнотекстовым индексом платформы 1С. Стандартные и расширенные возможности.

2 стартмани

07.02.2020    5177    40    YPermitin    28    

Часовой на страже логов

Практика программирования Инструментарий разработчика Бесплатно (free)

При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

13.01.2020    5378    0    Scorpion4eg    6    

Отчет по журналу регистрации для управляемого приложения Промо

Журнал регистрации v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Отчет по журналу регистрации с использованием СКД

2 стартмани

04.02.2013    24926    172    wowik    12    

История версий объектов для УФ

Журнал регистрации Обработка документов Обработка справочников v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная независимая система хранения и анализа истории изменений справочников и документов. Предназначена для любых конфигураций 1С V83 ((8.3.9.1818) и выше) в режиме управляемого приложения.

1 стартмани

17.10.2019    10833    27    dmitrydemenew    22    

Скрипт powershell - контроль размера файлов журнала регистрации 1С на сервере

Журнал регистрации Россия Абонемент ($m)

Скрипт powershell, который отправляет на указанную почту информацию о свободном месте на дисках сервера (где запускается данный скрипт) и информацию о размерах файлов журнала регистрации 1С (+ прикреплен файл 1CV8Clst).

1 стартмани

11.10.2019    2558    2    GG_Dots    0    

Сложнейшая загрузка журнала регистрации в ElasticSearch (или делаем настоящий ETL)

Журнал регистрации v8 Россия Абонемент ($m)

Году в 2017ом возникло (наверное странное на тот момент) желание перегрузить журнал регистраций 1С в ELK. Чтобы журналы место на диске не съедали, 1С программисты забыв поставить фильтр сервер не подвешивали, все журналы лежали в одном месте да и можно было безопасно туда ответственных пользователей пускать, чтобы сами смотрели кто какой документ поправил.На предложение написать выгрузку сразу из 1С программисты благополучно забили ("ой на это минимум месяц", "у нас срочные бизнес-фичи" и т.д. и т.п.). Зато попалась статья от Aleksey.Bochkov (https://infostart.ru/public/182820/). Ну и решили мы все это запилить без 1С программистов. Во что влезаем я тогда еще не понимал. А вылилось почти в год допилок (хорошо хоть в фоновом режиме) в цельный ETL с использованием C#, T-SQL и прочими делами.

1 стартмани

27.09.2019    8798    6    DonAlPatino    33    

Повышение качества разработок и онлайн контроль ошибок Промо

Журнал регистрации v8 Абонемент ($m)

Анализ ошибок и сбор ошибок журнала регистраций из десятков и сотен баз в одном месте.

09.03.2018    25460    8    DitriX    48    

Журнали2Ст: сверхбыстрый журнал регистрации 1С

Журнал регистрации v8 Абонемент ($m)

Строит внешний индекс по журналам регистрации любого формата и делает поиск в них фантастически быстрым. Дополнительно ничего не нужно настраивать! Журналы Регистрации остаются на своём месте и не занимают дополнительного, а сервис Журнали2Ста обеспечивает их постоянную индексацию.

1 стартмани

22.08.2019    10011    79    MrWonder    66    

Подсистема для выгрузки, быстрого поиска и анализа журнала регистрации 1С в Elasticsearch

Журнал регистрации Поиск данных v8 1cv8.cf Абонемент ($m)

Elasticsearch - это opensource решение для очень быстрого поиска данных в больших массивах информации. Использование этого решения позволит решить проблемы с поиском и анализом больших объемов информации журнала регистрации. Протестировано на платформах начиная с 8.3.10.2580.

5 стартмани

15.05.2019    8151    23    Nikolo17    12    

Журнал Регистрации ➜ Телеграмм

Журнал регистрации v8::УФ 1cv8.cf Россия Абонемент ($m)

Подключаемая обработка для рассылки ошибок журнала регистрации в телеграмм.

1 стартмани

14.05.2019    8790    21    🅵🅾️🆇    9    

История формирования отчётов. (Используем новые возможности расширений в 8.3.11) Промо

Журнал регистрации v8::УФ v8::СКД УНФ ДО БП3.0 УТ11 ЗУП3.x Абонемент ($m)

Подсистема ведёт историю формирования отчётов и позволяет быстро подгрузить используется настройки в отчёт.

1 стартмани

28.11.2017    13648    19    SeiOkami    1    

История выполнения фоновых заданий в виде диаграмм (версия 6.5.21)

Журнал регистрации v8 1cv8.cf Абонемент ($m)

Отчет предназначен для получения из журнала регистрации данных об истории выполнения фоновых заданий и отображения их в виде диаграмм.

1 стартмани

26.04.2019    6213    27    sertak    25    

Как отправить ошибки из журнала регистрации на почту?

Журнал регистрации v8 УПП1 Абонемент ($m)

Процедуры отправки ошибок из журнала регистрации на почту. Журнал регистрации выгружается в файл Excel, далее прикрепляется к письму. Для отправки писем создано регламентное задание.

1 стартмани

06.02.2019    8205    1    wowik    0    

Ошибки, предупреждения и прочее из журнала регистрации на почту и в Telegram автоматически (БП 3, ЗУП 3.1, УТ 11.4, ERP 2.4, Розница 2.2)

Журнал регистрации Поиск данных Тестирование и исправление Email v8 Розница УНФ ERP2 ЗКГУ3.0 БП3.0 УТ11 ЗУП3.x Абонемент ($m)

Данная обработка позволяет анализировать журнал регистрации с пользовательским отбором (4 критерия отбора) и высылать отчет пользователю с заданной периодичностью на электронную почту или в Телеграм. Возможно использовать как регламентное задание (автоматическая отправка отчетов по времени), непосредственно запускать из клиента, а также выгружать в форму обработки отфильтрованные данные из журнала регистрации без отправки.

2 стартмани

28.01.2019    8585    31    Redinternational    3    

Универсальный поиск объектов по глобальному уникальному идентификатору (ГУИД, GUID) Промо

Универсальные обработки Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Универсальная обработка поиска объектов информационной базы по глобальному уникальному идентификатору (ГУИД, GUID) или по его части.

1 стартмани

06.09.2016    30637    101    Dzenn    9    

Мониторинг активности пользователя

Журнал регистрации v8 БП3.0 Россия Абонемент ($m)

Расширение предназначено для мониторинга активности пользователей, фиксирует какие окна открывал и когда пользователь в программе. Автоматически завершает работу не активных пользователей, что позволяет экономить системные ресурсы. Есть отчет об Активности пользователей по часам с возможностью отбора по конкретному пользователю. Расширение для типовых конфигураций 1С на управляемых формах в режиме совместимости 8.3.12.

1 стартмани

26.10.2018    6363    56    xan333    7    

Нестандартные подсистемы: Живая вода

Поиск данных Тестирование и исправление v8 1cv8.cf Абонемент ($m)

В БСП есть все, чтобы справиться с проблемой «Битых ссылок», но почему-то так и не реализовали возможность сохранять версию объекта перед удалением. Решил исправить эту досадную несправедливость и создать подсистему с кодовым названием «Живая вода».

1 стартмани

11.10.2018    9727    2    dsdred    14    

Поиск и восстановление битых ссылок (Объект не найден)

Поиск данных Тестирование и исправление v8 v8::УФ 1cv8.cf Абонемент ($m)

Групповая обработка ссылок вида Объект не найден (502:37855254002e11eb11e73b8f36150d9e) заполняется максимально просто копированием и вставкой из буфера: 1) Выделяет уникальные идентификаторы (далее УИ); 2) Ищет ссылки на объекты базы по УИ; 3) Создаёт пустые объекты с указанным УИ; 4) Регистрирует найденные ссылки для обмена данными. Работает на любых продуктах 8.3. Проверялась на 1С:ERP Управление предприятием 2 (2.4.3.167)

1 стартмани

17.08.2018    11033    86    sapervodichka    2    

Поиск, восстановление битой ссылки, 8.3, v 0.2 Промо

Поиск данных Тестирование и исправление v8 1cv8.cf Абонемент ($m)

Обработка для работы с битой ссылкой, 8.3, v 0.1 Позволяет быстро найти и восстановить битую ссылку.

1 стартмани

24.10.2014    34692    271    infostart user    13    

Мониторинг журнала регистрации при помощи Powershell

Сервисные утилиты Журнал регистрации v8 Абонемент ($m)

Работа с журналом регистрации в формате SQLite внешними средствами на примере мониторинга изменений в конфигурации базы данных.

1 стартмани

12.07.2018    12297    5    user768334    7    

История работы пользователей

Поиск данных v8 v8::УФ ERP2 Россия Абонемент ($m)

Подключаемая обработка для просмотра истории работы конкретного пользователя

1 стартмани

17.07.2017    14890    47    PerlAmutor    16    

Обработка данных + загрузка из табличного документа + удаление объектов + поиск и замена значений (управляемые формы)

Универсальные обработки Чистка базы Поиск данных Загрузка и выгрузка в Excel v8::УФ 1cv8.cf Абонемент ($m)

Простая и удобная обработка позволяет быстро выполнять множество операций над объектами базы данных с помощью запроса и скрипта обработки результата. Может загружать данные табличных документов во временные таблицы для последующей загрузки или для выборки данных по сложным условиям. Встроены обработки "Удаление объектов" и "Поиск и замена значений", в них можно передавать результаты запросов. Есть возможность сохранения скриптов и полученных результатов обработки. Часто использую для переноса данных между конфигурациями, когда результаты запроса в одной конфигурации загружаю этой же обработкой в другой. Скрипты с примерами прилагаются. Файлы xml открываются с закладки "Запрос, скрипт", файлы xmlf содержат все таблицы которые есть в обработке на момент сохранения, загружаются по кнопке "Загрузить все настройки". Примеры скриптов выложены в доступе

1 стартмани

19.04.2017    19098    198    fxmike    8    

Включение и выключение регистрации отказа в доступе если "У пользователя не достаточно прав над операцией с базой данных". Промо

Информационная безопасность Журнал регистрации v8 1cv8.cf Абонемент ($m)

Включает (выключает) регистрацию событий отказа доступа в журнале регистрации.

1 стартмани

12.01.2011    33430    63    nexts    32    

Поиск и восстановление битых ссылок (обычная и управляемая форма) 8.2-8.3

Универсальные обработки Поиск данных Тестирование и исправление v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка для поиска и восстановления битых ссылок (Объект не найден). Адаптирована для конфигураций на обычных и управляемых формах 8.2 - 8.3

1 стартмани

08.04.2017    30519    389    Xershi    64    

Мониторинг баз данных 1С. Автоматизация обновления конфигураций

Журнал регистрации Администрирование данных 1С Распределенная БД (УРИБ, УРБД) Россия Абонемент ($m)

Если вы сталкивались с обновлением большого количества баз в рамках РИБ, то данная программа позволяет автоматизировать плановые обновления конфигурации, платформы на различном количестве физических\виртуальных серверов. Также администратор видит выполнение бекапов SQL информационных баз. Программа полезна, если у вас на поддержке большое количество РИБ 1С.

1 стартмани

05.04.2017    13931    10    vlkvlkvlk    6    

Журнал регистрации в MongoDB

Журнал регистрации v8 1cv8.cf Абонемент ($m)

Хранение "журнала регистрации" в nosql базе. 1) Java-api 2) MongoDB 3) доработать конфу в нужных местах

1 стартмани

27.10.2016    14155    7    sockor    4    

Статистика работы пользователя Промо

Журнал регистрации Управленческие Статистика базы данных Учет рабочего времени Учет рабочего времени v8 1cv8.cf Абонемент ($m)

Анализ работы сотрудников - важные составляющие функционирования компании. Безусловно, руководитель может самостоятельно оценивать труд работников, деятельность которых как на ладони, стоит лишь взглянуть на поступление денег на банковский счет фирмы. Сложнее оценить работу сотрудников, которые не имеют прямого влияния на бизнес-результат: это бухгалтеры, кадровые работники, менеджеры.

3 стартмани

17.07.2011    44980    333    imozg    63    

Инструменты: v81_82_83: об./упр. формы. Отключение пользователей: файловый, кл-сервер. Запуск/Вход под другим польз-м. Поиск ссылок на объект СКД. Консоль запр. Отладка ВПФ и ОЗТЧ. Гр.печать, Перепровед-е немоноп-е и др.(Один архив)

Поиск данных Администрирование данных 1С v8 v8::УФ v8::СКД 1cv8.cf Россия Абонемент ($m)

Набор внешних обработок необходимый перед обновлением базы и проверки внесенных изменений после, которые сделал и пользуюсь уже несколько лет и периодически одной из них, да и не окажется под рукой.

1 стартмани

06.09.2016    15640    95    Светлый ум    115    

Сокращение журнала регистрации 1С: 8.3

Журнал регистрации v8 1cv8.cf Абонемент ($m)

Работа с журналом регистрации в 1С: 8.3 изменилась по сравнению с 8.2. Рассмотрим варианты автоматического и ручного обрезания журнала регистрации.

1 стартмани

06.04.2016    135673    473    solary    38    

Нечеткий поиск в справочнике. Версия 1.02

Поиск данных Обработка справочников v8 1cv8.cf Абонемент ($m)

Для целей автоматического сопоставления справочников из разных баз данных при загрузке табличных частей документов была написана эта функция, к которой в итоге был прикручен визуальный интерфейс. На практике вполне оправдала себя и позволила за разумное время автоматически заполнять большие документы.

1 стартмани

19.01.2016    11207    51    sleeping07    18    

Просмотр документов, измененных задним числом Промо

Журнал регистрации v8 УТ10 Россия Абонемент ($m)

Редактирование документов в 1С, проведенных задним числом, бывает необходимо для исправления ошибок в учете, но также является распространенным способом воровства в магазине. Поэтому важно максимально ограничить работу задним числом.

2 стартмани

12.08.2015    26658    53    ПерваяСистема    16    

Подсистема "Журнал регистрации из форм объектов"

Журнал регистрации Сервисные утилиты Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Возможность просмотра истории событий с объектом по журналу регистрации непосредственно из формы самого объекта. Подсистема актуальна для тех конфигураций, в которых по тем или иным причинам не используются собственные механизмы версионирования объектов (либо используются для узкоограниченной группы объектов).

2 стартмани

09.11.2015    15260    31    Bassgood    11    

Журналирование изменений свойств объектов

Журнал регистрации v8 КА1 БП2.0 ЗУП2.5 УПП1 Абонемент ($m)

Доработка подойдет для любой конфигурации, где дополнительные свойства объектов хранятся в регистре сведений ЗначенияСвойствОбъектов

2 стартмани

22.08.2015    16557    4    echo77    1    

Монитор журнала регистрации

Журнал регистрации Администрирование данных 1С WEB v8 1cv8.cf Абонемент ($m)

Позволяет в режиме реального времени отслеживать активность пользователей, накапливать и оповещать о возникновении ошибок, которые попадают в журнал регистрации

2 стартмани

29.06.2015    39783    106    andy23    49    

Получение запросом данных журнала регистрации хранящегося в SQLite Промо

Практика программирования Журнал регистрации v8 1cv8.cf Абонемент ($m)

В статье показано как, используя новый функционал платформы, получать данные из журнала регистрации привычным запросом.

1 стартмани

17.09.2014    63174    165    rtnm    38    

Получить дату создания документа или элемента справочника (по UID)

Поиск данных v8 v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 Розница УПП1 Россия Абонемент ($m)

Кто и когда создал документ? Когда сделали дубль товара? Данная обработка - сразу отвечает на вопрос когда? Дата создания документа или справочники (любой ссылки) - находит дату создания по уникальному идентификатору (UID) ссылки.

1 стартмани

21.03.2015    18157    65    Serg O.    18    

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

Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Для обычных и управляемых форм. Версия 1.15 Создана на 1С8.3, но в режиме совместимости с 8.2.16. Итоговые таблицы одинаковы на обоих закладках

1 стартмани

06.01.2015    19806    13    nikitin19819    10    

Логирования объектов ИБ через журнал регистрации

Журнал регистрации Абонемент ($m)

В любой организации чаще всего возникает проблема манипуляции с документами и справочниками, целью которого чаще становиться покрыть рабочие косяки или по неосторожности. Но последствия таких действии приводят к разным серьезным проблемам от некорректных остатков до разбирательств на суде и в таких случаях обычно стандартные записи журнала регистрации не показывают детальные изменении. Чтобы в данном случае не усердствовать как Шерлок Холмс, предлагаю свой механизм логирования. Логирование сохраняет все данные объекта и можно легко вытащить для просмотра

1 стартмани

23.09.2014    10166    1    kumga99    5    

Конвертация данных. Найдется все! И еще немного... Промо

Поиск данных Инструментарий разработчика v8 КД Абонемент ($m)

Каждый разработчик, применяющий конфигурацию «1С:Конвертация данных», когда-нибудь обязательно сталкивается с проблемой поиска данных в правилах обмена и (или) регистрации данных.

2 стартмани

25.06.2015    26623    32    tomvlad    7