Лицензирование / Расширение АппОптима (блоки данных ИИ) / DDU для лога мониторинга
На этой странице объясняется концепция мониторинга журналов, как мы рассчитываем ВИД для мониторинга журналов и как вы можете оценивать и отслеживать потребление ВИД, если вы используете мониторинг журналов.
Что такое мониторинг журналов?
Используя мониторинг журналов как часть платформы АппОптима, вы получаете прямой доступ к содержимому журналов всех ваших критически важных процессов. Вы можете создавать собственные показатели журнала для более разумного и быстрого устранения неполадок. Вы сможете понять данные журнала в контексте вашего полного стека, включая реальные воздействия на пользователя.
Как АппОптима рассчитывает потребление ВИД для мониторинга журналов?
ВИД подсчитывает все входящие записи журнала (записи) из ваших данных журнала. Каждая запись журнала (строка, сообщение, запись) вычитается 0.0005 ВИД
из доступной квоты. Например, 1 миллион записей журнала, умноженный на вес ВИД, равный 0,0005, потребляет всего 500 ВИД.
Запись журнала распознается двумя способами:
- Отметка времени
- Объект JSON
Отметка времени
АппОптима предполагает, что отметка времени является началом новой записи журнала.
Например, в следующих данных журнала (потребляемых с помощью файла журнала или общего приема) АппОптима насчитывает девять записей журнала на основе появления метки времени:
Ввод файла журнала
<1: Oct 18 05:56:11 INFO ip-10-176-34-132 DHCPREQUEST on eth0 to 10.176.34.1 2: Oct 18 05:56:12 INFO ip-10-176-34-132 DHCPACK from 10.176.34.1 3: Oct 18 05:56:13 INFO ip-10-176-34-132 bound to 10.176.34.132 -- renewal in 1551s4: 4: Oct 18 05:56:15 INFO ip-10-176-34-132 [get_meta] Getting token for IMDSv 5: Oct 18 05:56:16 INFO ip-10-176-34-132 [get_meta] Trying to get http://169.23.2.3 6: Oct 18 05:56:18 INFO ip-10-176-34-132 [rewrite_aliases] Rewriting aliases 7: Oct 18 06:22:06 INFO ip-10-176-34-132 DHCPREQUEST on eth0 to 10.176.34.1 port 67 8: Oct 18 06:22:07 INFO ip-10-176-34-132 DHCPACK from 10.176.34.1 (xid=0x3a182c8c) 9: Oct 18 06:22:10 INFO ip-10-176-34-132 bound to 10.176.34.132 -- renewal in 1364s
Общие входные данные для приема
<curl -X POST "https://my.activegate/api/v2/logs/ingest" -H "accept: application/json; charset=utf-8" -H "Content-Type: text/plain; charset=utf-8" -d "Oct 18 05:56:11 INFO ip-10-176-34-132 DHCPREQUEST on eth0 to 10.176.34.1Oct 18 05:56:12 INFO ip-10-176-34-132 DHCPACK from 10.176.34.1Oct 18 05:56:13 INFO ip-10-176-34-132 bound to 10.176.34.132 -- renewal in 1551s4:Oct 18 05:56:15 INFO ip-10-176-34-132 [get_meta] Getting token for IMDSvOct 18 05:56:16 INFO ip-10-176-34-132 [get_meta] Trying to get http://169.23.2.3Oct 18 05:56:18 INFO ip-10-176-34-132 [rewrite_aliases] Rewriting aliasesOct 18 06:22:06 INFO ip-10-176-34-132 DHCPREQUEST on eth0 to 10.176.34.1 port 67Oct 18 06:22:07 INFO ip-10-176-34-132 DHCPACK from 10.176.34.1 (xid=0x3a182c8c)Oct 18 06:22:10 INFO ip-10-176-34-132 bound to 10.176.34.132 -- renewal in 1364s"
9
строк журнала / записи x 0.0005
вес журнала = 0.0045 ВИД
Объект JSON
АппОптима предполагает, что отдельный объект JSON является записью журнала. Файл JSON может содержать несколько объектов, которые считаются записью журнала.
Например, в следующих данных журнала АппОптима подсчитывает три записи журнала на основе вхождения объекта JSON:
Лог-файл
<[ { "timestamp": "2021-07-29T10:54:40.962165022Z", "level": "error", "log.source": "/var/log/syslog", "application.id": "PaymentService-Prod", "content": "DHCPREQUEST on eth0 to 10.176.34.1" }, { "log.source": "/var/log/syslog", "content": "[get_meta] Getting token for IMDSv" }, { "content": "DHCPACK from 10.176.34.1 (xid=0x3a182c8c)" } ]
<curl -X POST "https://my.activegate/api/v2/logs/ingest" -H "accept: application/json; charset=utf-8" -H "Content-Type: application/json; charset=utf-8" -d "[{\"timestamp\":\"2021-07-29T10:54:40.962165022Z\",\"level\":\"error\",\"log.source\":\"/var/log/syslog\",\"application.id\":\"PaymentService-Prod\",\"content\":\"DHCPREQUEST on eth0 to 10.176.34.1\"},{\"log.source\":\"/var/log/syslog\",\"content\":\"[get_meta] Getting token for IMDSv\"},{\"content\":\"DHCPACK from 10.176.34.1 (xid=0x3a182c8c)\"}]"
3
строки журнала / записи x 0.0005
вес журнала = 0.0015
DDU.
Как мониторинг журналов может повлиять на потребление ВИД
АппОптима считает записи журнала на основе отметки времени, даже если запись журнала содержит присоединенную трассировку стека.
Например, оба следующих журнала ( Log1 и Log2 ) содержат 14 строк данных журнала. АппОптима вычисляет записи журнала, которые используют ВИД с действительной меткой времени. В результате Log1 генерировал стоимость 0.007 ВИД
, а Log2 генерировал стоимость 0.001 ВИД
.
Журнал1
<1: Oct 18 05:56:11 INFO ip-10-176-34-132 DHCPREQUEST on eth0 to 10.176.34.1 2: Oct 18 05:56:12 INFO ip-10-176-34-132 DHCPACK from 10.176.34.1 3: Oct 18 05:56:13 INFO ip-10-176-34-132 bound to 10.176.34.132 -- renewal in 1551s4: 4: Oct 18 05:56:15 INFO ip-10-176-34-132 [get_meta] Getting token for IMDSv 5: Oct 18 05:56:16 INFO ip-10-176-34-132 [get_meta] Trying to get http://169.23.2.3 6: Oct 18 05:56:15 INFO ip-10-176-34-132 [get_meta] Getting token for IMDSv 7: Oct 18 06:16:16 INFO ip-10-176-34-132 [get_meta] Trying to get http://169.23.2.3 8: Oct 18 06:16:18 INFO ip-10-176-34-132 [rewrite_aliases] Rewriting aliases 9: Oct 18 06:21:26 INFO ip-10-176-34-132 DHCPREQUEST on eth0 to 10.176.34.1 port 67 10: Oct 18 06:22:06 INFO ip-10-176-34-132 DHCPREQUEST on eth0 to 10.176.34.1 port 67 11: Oct 18 06:22:07 INFO ip-10-176-34-132 DHCPACK from 10.176.34.1 (xid=0x3a182c8c) 12: Oct 18 06:22:10 INFO ip-10-176-34-132 bound to 10.176.34.132 -- renewal in 1364s 13: Oct 18 14:51:22 ERROR ip-10-176-34-32 classOne: Index out of range 14: Oct 18 16:52:10 ERROR ip-10-176-34-32 classOne: Index out of range
14
записей 0.0005
журнала x вес журнала = 0.007 ВИД
.
Журнал2
<1: Oct 18 14:51:22 ERROR ip-10-176-34-32 classOne: Index out of range 2: java.lang.StringIndexOutOfBoundsException: String index out of range: 18 3: at java.lang.String.charAt(String.java:658) 4: at com.example.app.loggingApp.classOne.getResult(classOne.java:15) 5: at com.example.app.loggingApp.AppController.tester(AppController.java:27) 6: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 7: at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:62) 8: Oct 18 16:52:10 ERROR ip-10-176-34-32 classOne: Index out of range 9: java.lang.StringIndexOutOfBoundsException: String index out of range: 18 10: at java.lang.String.charAt(String.java:658) 11: at com.example.app.loggingApp.classOne.getResult(classOne.java:15) 12: at com.example.app.loggingApp.AppController.tester(AppController.java:27) 13: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 14: at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:62)
2
записи 0.0005
журнала x вес журнала = 0.001
DDU.