Тема VMware Log Insight - Горе от ума вызвала интерес у читателей, поэтому следует продолжение.
Анализ с использованием LI литературной классики - это, конечно, увлекательно и интересно, но полезность таких действий стремится к 0.
Ниже я постараюсь в деталях рассказать об использовании VMware Log Insight в собственных меркантильных целях.
Как известно, курс белорусского рубля параметр очень динамичный, а отслеживание его ежедневных мелких флуктуаций занятие утомительное. Меня интересует курс BYR к доллару США (USD), евро (EUR), российскому рублю (RUB). Точнее не сам курс, а достижение им верхних и нижних порогов, которые я рассчитал исходя из своего корыстного интереса (к данной теме методика расчета не имеет никакого отношения)
Дано: источник курсов валют, VMware Log Insight
Необходимо: получить систему уведомлений о превышении курсом заранее установленных порогов.
Реализация поставленной задачи under cut
С сайта мне необходимо в автоматическом режиме, ежедневно извлекать курсы для USD, EUR, RUB и записывать в соответствующие файлы. Для этих целей был написан макрос:
Option Explicit
Private Sub Auto_Open()
Application.Visible = False
Dim xd, nl, n, I, J
Set xd = CreateObject("Msxml.DOMDocument")
Dim RatDate As Date
Dim index As Integer
RatDate = Now
xd.async = False
If Not xd.Load("http://www.nbrb.by/Services/XmlExRates.aspx?ondate=" + Format(RatDate, "mm/dd/yyyy")) = True Then
MsgBox ("Документ не загружен")
Exit Sub
End If
Set nl = xd.selectNodes("DailyExRates")
Set n = nl.Item(0).CloneNode(True)
With ThisWorkbook.Sheets(1)
.Range("B3").Value = n.Attributes(0).Value
.Range("A6:F255").Value = ""
Set nl = xd.selectNodes("*/Currency")
For I = 0 To nl.Length - 1
Set n = nl.Item(I).CloneNode(True)
.Range("A" & (I + 6)).Value = n.Attributes(0).Value
For J = 0 To n.childNodes.Length - 2
.Cells(I + 6, J + 2).Value = n.childNodes(J).Text
Next J
.Cells(I + 6, J + 2).Value = n.childNodes(J).Text
Next I
End With
Set xd = Nothing
Open "d:\value\usd.txt" For Append As #1
For index = 6 To 32 Step 1
If Cells(index, 2) = "840" Then Print #1, LTrim(Cells(index, 6))
Next
Close #1
Close
Open "d:\value\eur.txt" For Append As #1
For index = 6 To 32 Step 1
If Cells(index, 2) = "978" Then Print #1, LTrim(Cells(index, 6))
Next
Close #1
Close
Open "d:\value\rub.txt" For Append As #1
For index = 6 To 32 Step 1
If Cells(index, 2) = "643" Then Print #1, LTrim(Cells(index, 6)) 'Cells(3, 2),
Next
Close #1
Close
Application.DisplayAlerts = False
Application.Quit
End Sub
В планировщике задач выставляем запуск макроса ежедневно после проведения торгов (для надежности и оперативности получения данных часиков так в 15-00).
На выходе мы получаем 3 файла: usd.txt, eur.txt, rub.txt, в которые дописываются текущий курс.
Параметр даты умышленно не вносился в файл, т.к. это информация избыточная и она формироваться в VMware Log Insight.
Для удобства представления данных в посте я залил курсы валют за последний месяц разово (сегодняшним числом), хотя при обычном функционировании системы ежедневно добавляется по одному значению для каждой валюты:
Представление в виде количества событий неинформативно, поэтому меняем его на значение, содержащееся в событии. Для этого необходимо создать новый Fields и определить тип данных в сообщении "Integer" (это понадобится для выполнения операции сравнения с пороговыми значениями)
После этого действия нам становятся доступны ряд новых выборок:
- Количество уникальных курсов за отчетный период:
В нашем случае это были: 9770, 9780, 9790, 9800, 9810, 9820, 9830, 9840, 9850, 9860, 9870
- Частота конкретных значений:
5 дней курс был 9790, 4 - 9820 и 9840, 3 - 9770, 9850 и 9870, 2 - 9800, 9810, 9830, 1 - 9780, 9860
В общем, манипулируя функциями счетчиков, массивами для выборок и параметрами сортировок можно построить кучу замысловатых и бесполезно\полезных графиков.
Изначальная задача была в другом: в ежедневном информировании в случае преодоления текущим курсом пороговых значений. Настроим правила таких уведомлений:
- если курсы стал больше или равен "9860"
создаем правило:
настраиваем уведомление:
аналогично настраиваем уведомления на преодоление пороговых минимумов:
ну и для понимания насколько изменение в ту или иную сторону стабильно создадим отдельное уведомление, заключающееся в анализе трехдневного курса на повышение или понижение от порогового:
для каждой из сформированных вами выборок можно создать отдельный Dashboard:
На днях стал доступен VMware Log Insight 2.0 beta. Скачать его можно здесь. Список обновлений и дополнений:
Анализ с использованием LI литературной классики - это, конечно, увлекательно и интересно, но полезность таких действий стремится к 0.
Ниже я постараюсь в деталях рассказать об использовании VMware Log Insight в собственных меркантильных целях.
Как известно, курс белорусского рубля параметр очень динамичный, а отслеживание его ежедневных мелких флуктуаций занятие утомительное. Меня интересует курс BYR к доллару США (USD), евро (EUR), российскому рублю (RUB). Точнее не сам курс, а достижение им верхних и нижних порогов, которые я рассчитал исходя из своего корыстного интереса (к данной теме методика расчета не имеет никакого отношения)
Дано: источник курсов валют, VMware Log Insight
Необходимо: получить систему уведомлений о превышении курсом заранее установленных порогов.
Реализация поставленной задачи under cut
В качестве надежного источника валют использую сайт НБРБ (Национальный Банк Республики Беларусь).
С сайта мне необходимо в автоматическом режиме, ежедневно извлекать курсы для USD, EUR, RUB и записывать в соответствующие файлы. Для этих целей был написан макрос:
Option Explicit
Private Sub Auto_Open()
Application.Visible = False
Dim xd, nl, n, I, J
Set xd = CreateObject("Msxml.DOMDocument")
Dim RatDate As Date
Dim index As Integer
RatDate = Now
xd.async = False
If Not xd.Load("http://www.nbrb.by/Services/XmlExRates.aspx?ondate=" + Format(RatDate, "mm/dd/yyyy")) = True Then
MsgBox ("Документ не загружен")
Exit Sub
End If
Set nl = xd.selectNodes("DailyExRates")
Set n = nl.Item(0).CloneNode(True)
With ThisWorkbook.Sheets(1)
.Range("B3").Value = n.Attributes(0).Value
.Range("A6:F255").Value = ""
Set nl = xd.selectNodes("*/Currency")
For I = 0 To nl.Length - 1
Set n = nl.Item(I).CloneNode(True)
.Range("A" & (I + 6)).Value = n.Attributes(0).Value
For J = 0 To n.childNodes.Length - 2
.Cells(I + 6, J + 2).Value = n.childNodes(J).Text
Next J
.Cells(I + 6, J + 2).Value = n.childNodes(J).Text
Next I
End With
Set xd = Nothing
Open "d:\value\usd.txt" For Append As #1
For index = 6 To 32 Step 1
If Cells(index, 2) = "840" Then Print #1, LTrim(Cells(index, 6))
Next
Close #1
Close
Open "d:\value\eur.txt" For Append As #1
For index = 6 To 32 Step 1
If Cells(index, 2) = "978" Then Print #1, LTrim(Cells(index, 6))
Next
Close #1
Close
Open "d:\value\rub.txt" For Append As #1
For index = 6 To 32 Step 1
If Cells(index, 2) = "643" Then Print #1, LTrim(Cells(index, 6)) 'Cells(3, 2),
Next
Close #1
Close
Application.DisplayAlerts = False
Application.Quit
End Sub
В планировщике задач выставляем запуск макроса ежедневно после проведения торгов (для надежности и оперативности получения данных часиков так в 15-00).
На выходе мы получаем 3 файла: usd.txt, eur.txt, rub.txt, в которые дописываются текущий курс.
Параметр даты умышленно не вносился в файл, т.к. это информация избыточная и она формироваться в VMware Log Insight.
Для удобства представления данных в посте я залил курсы валют за последний месяц разово (сегодняшним числом), хотя при обычном функционировании системы ежедневно добавляется по одному значению для каждой валюты:
Представление в виде количества событий неинформативно, поэтому меняем его на значение, содержащееся в событии. Для этого необходимо создать новый Fields и определить тип данных в сообщении "Integer" (это понадобится для выполнения операции сравнения с пороговыми значениями)
- Количество уникальных курсов за отчетный период:
В нашем случае это были: 9770, 9780, 9790, 9800, 9810, 9820, 9830, 9840, 9850, 9860, 9870
- Частота конкретных значений:
В общем, манипулируя функциями счетчиков, массивами для выборок и параметрами сортировок можно построить кучу замысловатых и бесполезно\полезных графиков.
Изначальная задача была в другом: в ежедневном информировании в случае преодоления текущим курсом пороговых значений. Настроим правила таких уведомлений:
- если курсы стал больше или равен "9860"
создаем правило:
настраиваем уведомление:
аналогично настраиваем уведомления на преодоление пороговых минимумов:
На днях стал доступен VMware Log Insight 2.0 beta. Скачать его можно здесь. Список обновлений и дополнений:
- Scale-Out with High Availability
- 5x-10x throughput improvement in Cluster mode
- Single UI to query all the data
- Proactive Analytics
- Machine learning enabled summarization of event types & schema recognition
- Smart fields to aid in extraction
- Super-Powered Dashboards
- Easily add new data filters on the fly
- Interact between dashboard widgets
- RESTful API for log ingestion
- Improved self-monitoring tools
- Windows collection agent
- Forwards Windows event logs
- Monitors & forwards flat log files
- Centralized reporting & management
Комментариев нет:
Отправить комментарий