воскресенье, 24 сентября 2023 г.

Grafana Loki. Логи самого приложения Loki

По умолчанию Grafana Loki отправляет логи своей работы в системный журнал. В системах с systemd – это journal. Если в системе работает так же rsyslog, то вероятно данные собираются еще и в файле /var/log/messages.

Просмотр сообщений loki можно вывести так:
# journalctl -eu loki.service
# tail -f /var/log/messages | grep loki

Мы увидим, что логируется все, включая обычные запросы. Все потому, что по умолчанию уровень логирования в Loki установлен в «info». 

Что бы это изменить нужно определить переменную log_level в файле конфигурации Loki в разделе server.
# nano /etc/loki/loki-local-config.yaml
server:
  <….>
  log_level: warn


Затем рестартуем сервис Loki:
# systemctl restart loki.service

Теперь количество логов, генерируемых самим Loki существенно снизиться.

воскресенье, 10 сентября 2023 г.

DNF. Отключение логирование. Автообновление пакетов (отключение, изменение)

В RokyLinux (fedora. redhat) нативной утилитой управления пакетами является утилита DNF. DNF в автоматическом режиме постоянно пытается подключиться к Интернету и скачать обновление кешей метаданных из репозитариев пакетов. А при установленных пакетах dnf-automatic и PackageKit, DNF еще и пытается провести обновление.
DNF запущена, по умолчанию, в режиме DEBUG, что бы в случае проблем с ОС можно было по логам определить что устанавливалось в ОС и послужило причиной сбоя.
Такое поведение приводит к постоянно пишущимся логам в файлы:
/var/log/dnf.librepo.log
/var/log/dnf.log
/var/log/hawkey.log

Конфигурация основных параметров DNF выполняется в файле: /etc/dnf/dnf.conf
В секции [main] есть параметр logfilelevel.
Согласно документации данный параметр может быть установлен в диапазоне от 0 до 10. Чем выше число, тем больше отладочных данных заносится в журналы. По умолчанию значение = 9. Путем экспериментов установил, что изменение данного параметра не влияет на уровень логов.
Но если установить параметр в 0, то логирование не будет выполняться.
Для отключения логирования выполняем:
# nano /etc/dnf/dnf.conf
и допишем снизу строку:
logfilelevel=0
Рестартовать ничего не нужно.

Что бы совсем отключить автоматическое обновление службой DNF необходимо:
1) Отключить обновление кешей метаданных:
# systemctl disable dnf-makecache.service
# systemctl disable dnf-makecache.timer

Затем в файле /etc/dnf/dnf.conf внизу прописать параметр:
metadata_timer_sync=0
2) Удалить, если они установлены, службы, выполняющие автообновление пакетов:
# dnf remove dnf-automatic PackageKit

С целью поддержания ОС в актуальном состоянии рекомендуется все же включить автоматические обновления пакетов, относящихся к безопасности.
Для этого необходимо установить (или включить, если установлено), утилиту dnf-automatic. DNF будет автоматически выполнять работу по обновлению системы.
Если пакет не установлен, то установить его можно так:
# yum install dnf-automatic
В конфигурационном файле dnf-automatic - /etc/dnf/automatic.conf можно изменить поведение автоустановщика.
Во-первых можно устанавливать только пакеты безопасности:
За это отвечает директива upgrade_type в секции [commands]
upgrade_type = security
И можно установить параметр debuglevel в секции [base] в 0 для минимизации записи в лог-файл
debuglevel = 0
Затем запускаем сервис:
# systemctl enable dnf-automatic
# systemctl restart dnf-automatic