Ene qsi loki hal что это
Перейти к содержимому

Ene qsi loki hal что это

Loki — сбор логов, используя подход Prometheus

Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов или контейнеров).

Основным источником вдохновения для Loki был Prometheus с идеей применения его подходов к управлению логами:

  • использование меток (labels) для хранения данных
  • потребление малого количества ресурсов

Несколько слов о Prometheus

Чтобы полностью понять, как работает Loki, важно сделать шаг назад и немного вспомнить Prometheus.

Одной из отличительных характеристик Prometheus является извлечение метрик из точек сбора (через экспортеры) и сохранение их в TSDB (Time Series Data Base, база данных временных рядов) с добавлением метаданных в виде меток.

Зачем это нужно

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

К сожалению, для управления логами до сих пор нет решения “под ключ”, и вы должны найти решение для себя:

  • управляемый облачный сервис для централизации логов (AWS, Azure или Google)
  • сервис мониторинга «мониторинг как услуга» (monitoring as a service) (например, Datadog)
  • создание своего сервиса сбора логов.

Loki был спроектирован с целью упрощения реализации в соответствии со следующими принципами:

  • быть простым для старта
  • потреблять мало ресурсов
  • работать самостоятельно без какого-либо специального обслуживания
  • служить дополнением к Prometheus для помощи в расследовании багов

Расследование инцидентов

Чтобы лучше понять, почему Loki не нужна индексация, давайте вернемся к методу расследования инцидентов, который использовали разработчики Loki:


1 Alert → 2 Dashboard → 3 Adhoc Query → 4 Log Aggregation → 5 Distributed Tracing → 6 Fix!
(1 Предупреждение → 2 Дашборд → 3 Adhoc Query → 4 Агрегация логов → 5 Распределенная трассировка → 6 Исправляем!)

Идея состоит в том, что мы получаем какой-то алерт (Slack Notification, SMS и т. д.) и после этого:

  • смотрим дашборды Grafana
  • смотрим метрики сервисов (например, в Prometheus)
  • смотрим записи логов (например, в Elasticsearch)
  • возможно, взглянем на распределенные трейсы (Jaeger, Zipkin и др.)
  • и, наконец, исправляем исходную проблему.


Экран Explorer разделен между Prometheus и Loki

На этом экране можно смотреть логи в Loki, связанные с метриками Prometheus, используя концепцию разделения экрана. Начиная с версии 6.5, Grafana позволяет обрабатывать идентификатор трассировки (trace id) в записях логов Loki для перехода по ссылкам к вашим любимым инструментам распределенной трассировки (Jaeger).

Локальный тест Loki

Самый простой способ локального тестирования Loki — использовать docker-compose. Файл docker-compose находится в репозитории Loki. Получить репозиторий можно с помощью следующей команды git :

Затем вам нужно перейти в каталог production:

После этого можно получить последнюю версию образов Docker:

Наконец, стек Loki запускается следующей командой:

Архитектура Loki

Вот небольшая диаграмма с архитектурой Loki:


Принципы архитектуры Loki

Веб-клиент запускает приложения на сервере, Promtail собирает логи и отправляет их в Loki, веб-клиент также отправляет метаданные в Loki. Loki все агрегирует и передает в Grafana.
Loki запущен. Для просмотра имеющихся компонентов выполните следующую команду:

В случае свежеустановленного Docker команда должна вернуть следующий результат:

Мы видим следующие компоненты:

  • Promtail: агент, отвечающий за централизацию логов
  • Grafana: известный инструмент для дашбордов
  • Loki: демон централизации данных

Развертывание в Kubernetes

Установка компонентов Loki в Kubernetes будет заключаться в следующем:

  • daemonSet для развертывания агента Promtail на каждой из машин в кластере серверов
  • развертывание (Deployment) Loki
  • и последнее — развертывание Grafana.

Установка через Helm

Helm уже должен быть у вас установлен. Его можно скачать из GitHub-репозитория проекта. Он устанавливается через распаковку архива, соответствующего вашей архитектуре, и добавления helm в $PATH .

Добавление источника для Helm

Первым шагом будет добавление репозитория “loki” с помощью следующей команды:

После этого можно искать пакеты с именем “loki”:

Эти пакеты имеют следующие функции:

  • пакет loki/loki соответствует только серверу Loki
  • пакет loki/fluent-bit позволяет вам развертывать DaemonSet, используя fluent-bin для сбора логов вместо Promtail
  • пакет loki/promtail содержит агент сбора лог-файлов
  • пакет loki/loki-stack, позволяет сразу развернуть Loki совместно с Promtail.

Установка Loki

Чтобы развернуть Loki в Kubernetes, выполните следующую команду в пространстве имен “monitoring”:

Для сохранения на диск добавьте параметр —set loki.persistence.enabled = true:

При запуске этой команды вы должны получить следующий вывод:

Посмотрев на состояние подов в пространстве имен “monitoring”, мы увидим, что все развернуто:

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

Подключение к Grafana

Чтобы под Kubernetes подключиться к Grafana, необходимо открыть туннель к его поду. Ниже приведена команда для открытия порта 3000 для пода Grafana:

Еще одним важным моментом является необходимость восстановления пароля администратора Grafana. Пароль хранится в секрете loki-grafana в поле .data.admin-user в формате base64.

Для его восстановления необходимо выполнить следующую команду:

Используйте этот пароль совместно с учетной записью администратора по умолчанию (admin).

Определение источника данных Loki в Grafana

Прежде всего убедитесь, что создан источник данных Loki (Configuration / Datasource).
Вот пример:


Пример настройки источника данных для Loki

Нажав на “Test” можно проверить связь с Loki.

Делаем запросы к Loki

Теперь перейдите в Grafana в раздел “Explore”. При приеме логов от контейнеров Loki добавляет метаданные от Kubernetes. Таким образом, становится возможным просматривать логи определенного контейнера.

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

Этот запрос вернет активность контейнеров в следующем виде:


Результат запроса в Grafana

Добавление на дашборд

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

Ниже приведен пример дашборда, реализующий это взаимодействие:


Образец дашборда с метриками Prometheus и логами Loki

Будущее Loki

Я начал использовать Loki еще в мае / июне с версии 0.1. Сегодня уже выпущена версия 1, и даже 1.1 и 1.2.

Надо признать, что версия 0.1 была не достаточна стабильна. Но 0.3 показала уже реальные признаки зрелости, а следующие версии (0.4, затем 1.0) только усилили это впечатление.

После 1.0.0, ни у кого уже не может быть оправданий, чтобы не использовать этот замечательный инструмент.

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

Grafana 6.5, которая была выпущена недавно, еще больше улучшает эту интеграцию, автоматически распознавая содержимое логов в формате JSON.

Ниже на видео приведен небольшой пример этого механизма:

Использование строк Loki, отображаемых в Grafana

Становится возможным использовать одно из полей JSON, например, для:

  • ссылки на внешний инструмент
  • фильтрации содержимого логов

Традиционно ждем ваши комментарии и приглашаем на открытый вебинар, где поговорим о том, как развивалась DevOps-индустрия в течение 2019 года и обсудим возможные пути развития на 2020 год.

Thread: Armoury crate v3.2.4.0 [report here if any issues]

Originally Posted by dcbryantmjkda

Last night I happened to notice that CPU RPM speed is back and while I don’t know why, I do know there’s more information.

On the version check this shows up;

Armoury Crate UWP App 3.2.4.0
ROG Live Service 1.1.10.0
AURA Service (Lighting Service) 3.04.24
Armoury Crate service 3.2.5
ENE_QSI_Loki_HAL 1.0.3.0

the ENE_QSI_Loki_HAL 1.0.3.0 was not there last time. Would love to know what happened, how and why?

  • View Profile
  • View Forum Posts
  • Private Message

ROG Member Array marko22 PC Specs

marko22 PC Specs
Laptop (Model) Asus GL703GS
Motherboard Asus Rog Maximus XII Extreme
Processor Intel i9 10900K
Memory (part number) Corsair — Vengeance Pro (3200MHz) 32GB CL16
Graphics Card #1 Asus Rog Strix OC RTX 3090
Sound Card Sound Blaster G6
Monitor LG — 4K Smart (OLED55CX)
Storage #1 Samsung SSD 970 Pro — 980 Pro 500GB
Storage #2 Samsung SSD 860 EVO — 870 EVO 4TB
CPU Cooler EKWB Quantum Velocity Nickel/Plexi
Case Thermaltake — The Tower 900 Black
Power Supply Seasonic — Prime GX 1000W
Keyboard Logitech — G915 LightSpeed
Mouse Logitech G Pro
Headset Kingston HyperX Cloud Pro Gaming
Mouse Pad Asus ROG SCABBARD II
Headset/Speakers Edifier S350DB — 2.1
OS Windows 10 Pro
Network Router Asus GT-AX11000

Join Date Mar 2019 Reputation 10 Posts 8
Originally Posted by K3lemvor

Shall I suggest for you guys to check something in the ICUE settings? It worked for me as I had animations freezing up in the Armoury crate. In ICUE settings I have unticked the setting that says "Enable Plugins". After that my Armoury Crate settings are ok and the animations are still running. It’s a pain that you have to setup animations in 2 different programs but I can live with it. Worth giving a try.

Thank you. It works

  • View Profile
  • View Forum Posts
  • Private Message

Originally Posted by dcbryantmjkda

Last night I happened to notice that CPU RPM speed is back and while I don’t know why, I do know there’s more information.

On the version check this shows up;

Armoury Crate UWP App 3.2.4.0
ROG Live Service 1.1.10.0
AURA Service (Lighting Service) 3.04.24
Armoury Crate service 3.2.5
ENE_QSI_Loki_HAL 1.0.3.0

the ENE_QSI_Loki_HAL 1.0.3.0 was not there last time. Would love to know what happened, how and why?

  • View Profile
  • View Forum Posts
  • Private Message

ROG Guru: Yellow Belt Array jezjohnson PC Specs

jezjohnson PC Specs
Motherboard Asus Strix X570-F
Processor Ryzen 5950x
Memory (part number) Corsair Vengeance Pro 32GB DDR4-3200 (4x8GB)
Graphics Card #1 RTX 3090 Founders
Monitor LG 32UD99
Storage #1 Sabrent Rocket NVME 4.0 2TB
Storage #2 Samsung 970 1TB
CPU Cooler Watercooled EK Supremacy EVO
Case Custom Dual Loop — Laing D5 / BlackIce360 / GT1850 on each
Power Supply EVGA Supernova 1600 T2
OS Windows 11
Network Router Asus AX86U

Join Date Dec 2011 Reputation 21 Posts 193

3080/90 Founders edition logo LED needs adding

  • View Profile
  • View Forum Posts
  • Private Message

New ROGer Array IzzIsHOr PC Specs

IzzIsHOr PC Specs
Motherboard ROG STRIX B550-E GAMING
Processor AMD Ryzen 7 5800X 3.8 GHz 8-Core Processor
Memory (part number) ADATA XPG SPECTRIX D50 32 GB (2 x 16 GB) DDR4-3200 CL16 Memory
Graphics Card #1 XFX Radeon RX 580 8 GB GTR XXX Video Card
Monitor 50" 4K Hyundai TV
Storage #1 Kingston A2000 500 GB M.2-2280 NVME Solid State Drive
Storage #2 Transcend SSD370 1TB 2.5" Solid State Drive
CPU Cooler Thermaltake UX200 ARGB 43.34 CFM CPU Cooler
Case Zalman S4 Plus ATX Mid Tower Case
Power Supply Segotep GP1350G, 80+ Gold, 1250W
Keyboard Razer Cynosa Chroma RGB Wired Gaming Keyboard
Mouse Razer Mamba Tournament Edition Wired Laser Mouse
Headset RAZER Kraken X
OS Windows 10 202H
Network Router 1GBs

Join Date Dec 2020 Reputation 10 Posts 3

What’s this insanity.

So I’m running an 5800X AMD with 2X16GB XPG 3200MHZ, XFX RX580 8GB and WD M2 512GB on a B550-E MB

Everything is updated, and on the latest version.

NOT from Armory Crate or AI SUITE (BTW we still have to run BOTH programs, if you want to control fans, because the ARMORY CRATE is only for RGB for us, nothing else so far), they’re updated from the product page or manufacturer directly, running the 1602 BIOS, because I’ve read bad things about 1801 so far.

So all the events that you see are 93% from ASUS related products.


YOU CANNOT EVEN UPLOAD AN IMAGE TO THE FORUMS, ARE YOU FREAKING KIDDING ME? AND THE I’M NOT A ROBOT BOX DOESN’T WORK, I HAD TO WRITE THIS MESSAGE TWICE, THIS IS DUMB AF

Reinstalled windows, tried multiple to none optimizations on different installs.

Still the same thing,
-handles leaks,
-crashes,
-not able to control lights properly,
-now ambient awareness is broken,
-sound mode for lights works only if I disable SONIC STUDIO 3 advanced effects,
ARGB just stays black in both cases for ambient and sound.

Please, either fix your overpriced ****, or just stick to the hardware and let others code, system is solid and fast, seems built like a tank, only problem is the janky second hand code you’re trying to pull, just. stop, can’t you see the frustrations you’re causing for saving a couple of bucks by coding in house.

Ene qsi loki hal что это

Важно! Сканер LOKI может вызывать ложные срабатывания антивирусов. Это связано с тем, что сканер представляет собой скомпилированный скрипт Python, который реализует функции, которые используются в скомпилированном вредоносном коде.

О программе
Что нового

Новое в версии 0.44.2 (29.09.2021):

Системные требования

Исполняемый файл для Windows скомпилирован с помощью PyInstaller 2.1 и должен запускаться как приложение x86 в системах на базе x86 и x64.

Полезные ссылки
Подробное описание

LOKI – бесплатный консольный сканер с открытым исходным кодом, позволяющий выявить заражение системы, подозрительные объекты и признаки компроментации или взлома компьютера и сети.

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

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

LOKI IOC Scanner в первую очередь предназначен для опытных пользователей и специалистов по компьютерной безопасности, которые регулярно проверяют компьютеры и сети на наличие угроз безопасности и уязвимостей.

Полученный отчет о сканировании покажет зелёные, жёлтые или красные строки результатов. Проанализировав результаты сканирования, можно вручную проверить подозрительные файлы на VirusTotal или найти информацию о них в интернете.

Возможности LOKI
  • Поиск угроз по хэшам MD5 / SHA1 / SHA256.
  • Проверка файлов и процессов по сигнатурам Yara.
  • Анализ файловой системы на наличие программ для взлома и эксплуатации уязвимостей.
  • Анализ файлов с регулярными выражениями в имени.
  • Анализ поведения запущенных процессов.
  • Анализ активных сетевых подключений.
  • Анализ нестандартных сетевых портов.
  • Анализ пользователей системы.
  • Проверка целостности важных системных файлов.
  • Текстовый файл журнала всех событий.
Оценка пользователей
Другие программы

Dr.Web CureIt!
Бесплатная утилита для анализа и лечения системы

HitmanPro
Поиск и удаление вирусов, шпионских программ и угроз нулевого дня

Рекомендуем

рейтинг

рейтинг

рейтинг

рейтинг

рейтинг

Собираем логи с Loki

Мы в Badoo постоянно мониторим свежие технологии и оцениваем, стоит ли использовать их в нашей системе. Одним из таких исследований и хотим поделиться с сообществом. Оно посвящено Loki — системе агрегирования логов.

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

Что такое Loki

Grafana Loki — это набор компонентов для полноценной системы работы с логами. В отличие от других подобных систем Loki основан на идее индексировать только метаданные логов — labels (так же, как и в Prometheus), a сами логи сжимать рядом в отдельные чанки.

Прежде чем перейти к описанию того, что можно делать при помощи Loki, хочу пояснить, что подразумевается под «идеей индексировать только метаданные». Сравним подход Loki и подход к индексированию в традиционных решениях, таких как Elasticsearch, на примере строки из лога nginx:

Традиционные системы парсят строку целиком, включая поля с большим количеством уникальных значений user_id и item_id, и сохраняют всё в большие индексы. Преимуществом данного подхода является то, что можно выполнять сложные запросы быстро, так как почти все данные — в индексе. Но за это приходится платить тем, что индекс становится большим, что выливается в требования к памяти. В итоге полнотекстовый индекс логов сопоставим по размеру с самими логами. Для того чтобы по нему быстро искать, индекс должен быть загружен в память. И чем больше логов, тем быстрее индекс увеличивается и тем больше памяти он потребляет.

Подход Loki требует, чтобы из строки были извлечены только необходимые данные, количество значений которых невелико. Таким образом, мы получаем небольшой индекс и можем искать данные, фильтруя их по времени и по проиндексированным полям, а затем сканируя оставшееся регулярными выражениями или поиском подстроки. Процесс кажется не самым быстрым, но Loki разделяет запрос на несколько частей и выполняет их параллельно, обрабатывая большое количество данных за короткое время. Количество шардов и параллельных запросов в них конфигурируется; таким образом, количество данных, которое можно обработать за единицу времени, линейно зависит от количества предоставленных ресурсов.

Этот компромисс между большим быстрым индексом и маленьким индексом с параллельным полным перебором позволяет Loki контролировать стоимость системы. Её можно гибко настраивать и расширять в соответствии с потребностями.

Loki-стек состоит из трёх компонентов: Promtail, Loki, Grafana. Promtail собирает логи, обрабатывает их и отправляет в Loki. Loki их хранит. А Grafana умеет запрашивать данные из Loki и показывать их. Вообще Loki можно использовать не только для хранения логов и поиска по ним. Весь стек даёт большие возможности по обработке и анализу поступающих данных, используя Prometheus way.
Описание процесса установки можно найти здесь.

Поиск по логам

Искать по логам можно в специальном интерфейсе Grafana — Explorer. Для запросов используется язык LogQL, очень похожий на PromQL, использующийся в Prometheus. В принципе, его можно рассматривать как распределённый grep.

Интерфейс поиска выглядит так:

Сам запрос состоит из двух частей: selector и filter. Selector — это поиск по индексированным метаданным (лейблам), которые присвоены логам, а filter — поисковая строка или регэксп, с помощью которого отфильтровываются записи, определённые селектором. В приведенном примере: В фигурных скобках — селектор, все что после — фильтр.

Из-за принципа работы Loki нельзя делать запросы без селектора, но лейблы можно делать сколь угодно общими.

Селектор — это key-value значения в фигурных скобках. Можно комбинировать селекторы и задавать разные условия поиска, используя операторы =, != или регулярные выражения:

Фильтр — это текст или регэксп, который отфильтрует все данные, полученные селектором.

Есть возможность получения ad-hoc-графиков по полученным данным в режиме metrics. Например, можно узнать частоту появления в логах nginx записи, содержащей строку index:

Полное описание возможностей можно найти в документации LogQL.

Парсинг логов

Есть несколько способов собрать логи:

  • С помощью Promtail, стандартного компонента стека для сбора логов.
  • Напрямую с докер-контейнера при помощи Loki Docker Logging Driver.
  • Использовать Fluentd или Fluent Bit, которые умеют отправлять данные в Loki. В отличие от Promtail они имеют готовые парсеры практически для любого вида лога и справляются в том числе с multiline-логами.

Обычно для парсинга используют Promtail. Он делает три вещи:

  • Находит источники данных.
  • Прикрепляет к ним лейблы.
  • Отправляет данные в Loki.

В настоящий момент Promtail может читать логи с локальных файлов и с systemd journal. Он должен быть установлен на каждую машину, с которой собираются логи.

Есть интеграция с Kubernetes: Promtail автоматически через Kubernetes REST API узнаёт состояние кластера и собирает логи с ноды, сервиса или пода, сразу развешивая лейблы на основе метаданных из Kubernetes (имя пода, имя файла и т. д.).

Также можно развешивать лейблы на основе данных из лога при помощи Pipeline. Pipeline Promtail может состоять из четырёх типов стадий. Более подробно — в официальной документации, тут же отмечу некоторые нюансы.

Покажу на примере обработки обычных nginx-логов, как можно парсить логи при помощи Promtail.

Собирать логи будем с докер-контейнеров, которые можно найти по пути /var/lib/docker/containers/<container_id>/<container_id>-json.log

В docker-compose.yml настраиваем Promtail и указываем путь до конфига:

Добавляем в promtail.yml путь до логов (в конфиге есть опция «docker», которая делает то же самое одной строчкой, но это было бы не так наглядно):

При включении такой конфигурации в Loki будут попадать логи со всех контейнеров. Чтобы этого избежать, меняем настройки тестового nginx в docker-compose.yml — добавляем логирование поле tag:

Правим promtail.yml и настраиваем Pipeline. На вход попадают логи следующего вида:

Извлекаем из входящего JSON поля stream, attrs, attrs.tag (если они есть) и кладём их в extracted map.

Если удалось положить поле tag в extracted map, то при помощи регэкспа извлекаем имена образа и контейнера.

Назначаем лейблы. Если в extracted data будут обнаружены ключи image_name и container_name, то их значения будут присвоены соотвестующим лейблам.

Отбрасываем все логи, у которых не обнаружены установленные labels image_name и container_name.

Для всех логов, у которых image_name равен nginx.promtail.test, извлекаем из исходного лога поле log и кладём его в extracted map с ключом row.

Очищаем входную строку регулярными выражениями и вытаскиваем nginx virtual host и строку лога nginx.

Парсим nginx-лог регулярными выражениями.

Разбираем request_url. С помощью регэкспа определяем назначение запроса: к статике, к фоткам, к API и устанавливаем в extracted map соответствующий ключ.

При помощи условных операторов в Template проверяем установленные поля в extracted map и устанавливаем для поля request_type нужные значения: photo, static, API. Назначаем other, если не удалось. Теперь request_type содержит тип запроса.

Меняем output. Теперь в Loki уходит очищенный nginx-лог из extracted map.

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

Нужно иметь в виду, что извлечение меток с большим количеством значений (cardinality) может существенно замедлить работу Loki. То есть не стоит помещать в индекс, например, user_id. Подробнее об этом читайте в статье “How labels in Loki can make log queries faster and easier”. Но это не значит, что нельзя искать по user_id без индексов. Нужно использовать фильтры при поиске («грепать» по данным), а индекс здесь выступает как идентификатор потока.

Визуализация логов

Loki может выступать в роли источника данных для графиков Grafana, используя LogQL. Поддерживаются следующие функции:

  • rate — количество записей в секунду;
  • count over time — количество записей в заданном диапазоне.

Добавляем Loki как data source с типом Prometheus и дописываем URL /loki:

И можно делать графики, как в том случае, если бы мы работали с метриками из Prometheus:

Я думаю, что расхождение в функциональности временное и разработчики в будущем это поправят.

Метрики

Добавляем ещё одну секцию в promtail.yml:

Опция позволяет определять и обновлять метрики на основе данных из extracted map. Эти метрики не отправляются в Loki — они появляются в Promtail /metrics endpoint. Prometheus должен быть сконфигурирован таким образом, чтобы получить данные, полученные на этой стадии. В приведённом примере для request_type=“api” мы собираем метрику-гистограмму. С этим типом метрик удобно получать перцентили. Для статики и фото мы собираем сумму байтов и количество строк, в которых мы получили байты, чтобы вычислить среднее значение.

Более подробно о метриках читайте здесь.

Открываем порт на Promtail:

Убеждаемся, что метрики с префиксом promtail_custom появились:

Настраиваем Prometheus. Добавляем job promtail:

И рисуем график:

Таким образом можно узнать, например, четыре самых медленных запроса. Также на данные метрики можно настроить мониторинг.

Масштабирование

Loki может быть как в одиночном режиме (single binary mode), так и в шардируемом (horizontally-scalable mode). Во втором случае он может сохранять данные в облако, причём чанки и индекс хранятся отдельно. В версии 1.5 реализована возможность хранения в одном месте, но пока не рекомендуется использовать её в продакшене.

Чанки можно хранить в S3-совместимом хранилище, для хранения индексов — использовать горизонтально масштабируемые базы данных: Cassandra, BigTable или DynamoDB. Другие части Loki — Distributors (для записи) и Querier (для запросов) — stateless и также масштабируются горизонтально.

На конференции DevOpsDays Vancouver 2019 один из участников Callum Styan озвучил, что с Loki его проект имеет петабайты логов с индексом меньше 1% от общего размера: “How Loki Correlates Metrics and Logs — And Saves You Money”.

Сравнение Loki и ELK

Для тестирования получаемого размера индекса я взял логи с контейнера nginx, для которого настраивался Pipeline, приведённый выше. Файл с логами содержал 406 624 строки суммарным объёмом 109 Мб. Генерировались логи в течение часа, примерно по 100 записей в секунду.

Пример двух строк из лога:

При индексации ELK это дало размер индекса 30,3 Мб:

В случае с Loki это дало примерно 128 Кб индекса и примерно 3,8 Мб данных в чанках. Стоит отметить, что лог был искусственно сгенерирован и не отличался большим разнообразием данных. Простой gzip на исходном докеровском JSON-логе с данными давал компрессию 95,4%, а с учётом того, что в сам Loki посылался только очищенный nginx-лог, то сжатие до 4 Мб объяснимо. Суммарное количество уникальных значений для лейблов Loki было 35, что объясняет небольшой размер индекса. Для ELK лог также очищался. Таким образом, Loki сжал исходные данные на 96%, а ELK — на 70%.

Если сравнивать весь стек Prometheus и ELK, то Loki «ест» в несколько раз меньше. Понятно, что сервис на Go потребляет меньше, чем сервис на Java, и сравнение размера JVM Heap Elasticsearch и выделенной памяти для Loki некорректно, но тем не менее стоит отметить, что Loki использует гораздо меньше памяти. Его преимущество по CPU не так очевидно, но также присутствует.

Loki быстрее «пожирает» логи. Скорость зависит от многих факторов — что за логи, как изощрённо мы их парсим, сеть, диск и т. д. — но она однозначно выше, чем у ELK (в моём тесте — примерно в два раза). Объясняется это тем, что Loki кладёт гораздо меньше данных в индекс и, соответственно, меньше времени тратит на индексирование. Со скоростью поиска при этом ситуация обратная: Loki ощутимо притормаживает на данных размером более нескольких гигабайтов, у ELK же скорость поиска от размера данных не зависит.

Loki существенно уступает ELK по возможностям поиска по логам. Grep с регулярными выражениями — это сильная вещь, но он уступает взрослой базе данных. Отсутствие range-запросов, агрегация только по лейблам, невозможность искать без лейблов — всё это ограничивает нас в поисках интересующей информации в Loki. Это не подразумевает, что с помощью Loki ничего нельзя найти, но определяет флоу работы с логами, когда вы сначала находите проблему на графиках Prometheus, а потом по этим лейблам ищете, что случилось в логах.

Во-первых, это красиво (извините, не мог удержаться). Grafana имеет приятный глазу интерфейс, но Kibana гораздо более функциональна.

Плюсы и минусы Loki

Из плюсов можно отметить, что Loki интегрируется с Prometheus, соответственно, метрики и алертинг мы получаем из коробки. Он удобен для сбора логов и их хранения с Kubernetes Pods, так как имеет унаследованный от Prometheus service discovery и автоматически навешивает лейблы.

Из минусов — слабая документация. Некоторые вещи, например особенности и возможности Promtail, я обнаружил только в процессе изучения кода, благо open-source. Ещё один минус — слабые возможности парсинга. Например, Loki не умеет парсить multiline-логи. Также к недостаткам можно отнести то, что Loki — относительно молодая технология (релиз 1.0 был в ноябре 2019 года).

Заключение

Loki — на 100% интересная технология, которая подходит для небольших и средних проектов, позволяя решать множество задач агрегирования логов, поиска по логам, мониторинга и анализа логов.

Мы не используем Loki в Badoo, так как имеем ELK-стек, который нас устраивает и который за много лет оброс различными кастомными решениями. Для нас камнем преткновения является поиск по логам. Имея почти 100 Гб логов в день, нам важно уметь находить всё и чуть-чуть больше и делать это быстро. Для построения графиков и мониторинга мы используем другие решения, которые заточены под наши нужды и интегрированы между собой. У стека Loki есть ощутимые плюсы, но он не даст нам больше, чем у нас есть, и его преимущества точно не перекроют стоимость миграции.

И хотя после исследования стало понятно, что мы Loki использовать не можем, надеемся, что данный пост поможет вам в выборе.

I was looking for something on my pc the other day and when i accessed: This Pc > Local Disk (C:) > Program Files. i noticed there is a file named ‘ENE’ which iv never seen before, its 3.86MB in size and was created on 24/8/19.

Inside it is 3 files with weird titles:

Aac_ENE RGB HAL

The first file (Aac_ENE RGB HAL) contains 2 more files inside:

The x64 then contains two items the type refers to them as Application extension

The x84 contains the same:

The Second File (Aac_ENE_EHD HAL) Contains just 4 Application extension only:

The Third File (Aac_ENE_EHD_M2_HAL) also contains just 4 Application extensions:

And thats it, i dont think i can open these Application extension things even if i was to click on them but they mean nothing to me, i tried deleting the file but it normally presents the popup that it cannot be deleted because it is in use.

I do look after my pc, i never do anything or download anything that might be dodgy i generally only play PC games and i have Malwarebytes installed as well as Avast ainti virus and neither have picked up on anything bad.

The last time these files where classed as ‘modified’ was 24/8/19, should i be worried about anything?

Что такое HAL и чем отличается от драйвера?

Frankenstine

Если я правильно понял, то:
Драйвер предоставляет некий интерфейс для доступа к железу.
HAL предоставляет унифицированный интерфейс для доступа к железу.

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

HAL промежуточный уровень между пользовательскими приложениями и драйверами устройств, предоставляемы ОС. Благодаря HAL приложениям не нужно, например, для чтения файла указывать номер блока /сектора/головки для чтения с диска, а достаточно указать имя файла.
HAL предоставляет стандартный интерфейс работы с оборудованием пользовательским приложениям, а так же интерфейсы для драйверов.
Т.е. доступ к оборудованию в современных ОС происходит по следующей схеме:
Пользовательское приложение <-> HAL <-> драйвер устройства <-> устройство
Обычно до HAL есть еще слой абстракции, а то и не один.

а есть ссылка, где можно где-то увидеть примеры исходников HAL?

HAL это часть ядра ОС, поэтому можете начать изучать исходники ядра линукс. Только вряд ли вы там найдете разделение, что вот это HAL, а вот это уже не HAL. Да и слова этого в исходниках то же нет, скорее всего.

WinFuture-Forum.de: Was ist "ENE_QSI_Loki_HAL" — WinFuture-Forum.de

Was ist "ENE_QSI_Loki_HAL" ENE TECHNOLOGY INC

#1 Mitglied ist offlineFrank955

  • Gruppe: aktive Mitglieder
  • Beitr�ge: 272
  • Beigetreten: 07. Juni 04
  • Reputation: 0
  • Geschlecht: M�nnlich
  • Wohnort: Hamburg

Hallo!
Ich schaue ab und zu mal in den Zuverl�ssigkeitsverlauf und dabei ist mir folgender Eintrag aufgefallen:

Das Produkt wurde durch Windows Installer installiert. Produktname: ENE_QSI_Loki_HAL. Produktversion: 1.0.3.0. Produktsprache: 1033. Hersteller: ENE TECHNOLOGY INC.. Erfolg- bzw. Fehlerstatus der Installation: 0.

Weis jemand von euch, was das sein k�nnte?
Vielen Dank im Voraus!

Anzeige

  • Beitr�ge: 23
  • Beigetreten: 27. Oktober 06
  • Reputation: 0

#2 Mitglied ist offlineSchnulli666

  • Gruppe: Mitglieder
  • Beitr�ge: 3
  • Beigetreten: 22. Oktober 20
  • Reputation: 0

MSI Mystik Light fürs RGB, bzw. aber auch Asus Aura.

Ist eine Abhängigkeit dafür, bzw. ein Treiber.

Dieser Beitrag wurde von Schnulli666 bearbeitet: 22. Oktober 2020 — 19:13

#3 Mitglied ist offlineFrank955

  • Gruppe: aktive Mitglieder
  • Beitr�ge: 272
  • Beigetreten: 07. Juni 04
  • Reputation: 0
  • Geschlecht: M�nnlich
  • Wohnort: Hamburg

Beitrag anzeigenZitat (Schnulli666: 22. Oktober 2020 — 18:47)

MSI Mystik Light f�rs RGB, bzw. aber auch Asus Aura.

Ist eine Abh�ngigkeit daf�r, bzw. ein Treiber.

#4 Mitglied ist offlineSchnulli666

  • Gruppe: Mitglieder
  • Beitr�ge: 3
  • Beigetreten: 22. Oktober 20
  • Reputation: 0

hast du irgendwas mit RGB?

irgendwas von MSI?

dann würde es mich auch interessieren. Bei mir kam der Müll jedes mal drauf als ich entweder Dragon Center oder Mystic Light installiert habe .

Dieser Beitrag wurde von Schnulli666 bearbeitet: 22. Oktober 2020 — 19:00

#5 Mitglied ist offlineFrank955

  • Gruppe: aktive Mitglieder
  • Beitr�ge: 272
  • Beigetreten: 07. Juni 04
  • Reputation: 0
  • Geschlecht: M�nnlich
  • Wohnort: Hamburg

Beitrag anzeigenZitat (Schnulli666: 22. Oktober 2020 — 19:00)

hast du irgendwas mit RGB?

irgendwas von MSI?

dann w�rde es mich auch interessieren. Bei mir kam der M�ll jedes mal drauf als ich entweder Dragon Center oder Mystic Light installiert habe .

#6 Mitglied ist offlineSchnulli666

  • Gruppe: Mitglieder
  • Beitr�ge: 3
  • Beigetreten: 22. Oktober 20
  • Reputation: 0

#7 Mitglied ist offlineFrank955

  • Gruppe: aktive Mitglieder
  • Beitr�ge: 272
  • Beigetreten: 07. Juni 04
  • Reputation: 0
  • Geschlecht: M�nnlich
  • Wohnort: Hamburg

#8 Mitglied ist offlineDK2000

  • Gruppe: Administration
  • Beitr�ge: 19.647
  • Beigetreten: 19. August 04
  • Reputation: 1.413
  • Geschlecht: M�nnlich
  • Wohnort: Oben auf dem Berg
  • Interessen: Essen, PC, Filme, TV Serien.

Irgendetwas aus der Liste installiert:

Ansonsten finde ich da auch nichts gescheites zu "ENE_QSI_Loki_HAL" von "ENE Technology Inc."

#9 Mitglied ist offlineRuby3PacFreiwald

  • Gruppe: aktive Mitglieder
  • Beitr�ge: 458
  • Beigetreten: 07. Dezember 15
  • Reputation: 115
  • Geschlecht: M�nnlich

#10 Mitglied ist offlineFrank955

  • Gruppe: aktive Mitglieder
  • Beitr�ge: 272
  • Beigetreten: 07. Juni 04
  • Reputation: 0
  • Geschlecht: M�nnlich
  • Wohnort: Hamburg

Beitrag anzeigenZitat (DK2000: 22. Oktober 2020 — 19:32)

Irgendetwas aus der Liste installiert:

Ansonsten finde ich da auch nichts gescheites zu "ENE_QSI_Loki_HAL" von "ENE Technology Inc."

Ich kenne mein System recht genau (glaube ich zumindest) und nichts, was in der Liste steht habe ich installiert oder angeschlossen.
Auch sagt mir ENE grundsätzlich nichts.

Das einzige, was ich da oft gelesen habe, ist das es viel Card Reader gibt.
Ich habe einen im Frontpanel verbauten Multi Card Reader und das Tool Driver Booster (keine Kommentare dazu, bitte) hat einmal einen Treiber für: "Alcor Mirco USB Card Reader" installiert.
Weiter fällt mir nichts dazu ein, leider!

Beitrag anzeigenZitat (Ruby3PacFreiwald: 22. Oktober 2020 — 19:33)

Nein, so etwas habe ich nicht.

Nachtrag:
Da ist nur vor ein paar Wochen ein neues Navi dazugekommen.
Ich musste es f�r einige gr��ere Updates mal an den PC anschlie�en.
Sonst funktioniert das auch per WLAN.

Dieser Beitrag wurde von Frank955 bearbeitet: 22. Oktober 2020 — 19:56

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *