Как включить поддержку журналирования сжатых логов в rsyslog
Для серверов с интенсивным логированием важно оптимизировать хранение журналов.
Включение сжатия логов позволяет сэкономить место на диске и упростить их управление. Rsyslog, один из самых популярных системных логгеров, поддерживает сжатие логов в реальном времени с использованием модуля omprog.
В этом посте разберёмся, как настроить rsyslog для создания сжатых журналов.
Подготовка
1️⃣ Убедитесь, что rsyslog установлен:
На большинстве дистрибутивов rsyslog установлен по умолчанию.
2️⃣ Установите утилиту gzip:
Она используется для сжатия.
Настройка
1️⃣ Добавление модуля omprog
Откройте конфигурационный файл rsyslog:
Добавьте строку для загрузки модуля omprog, если его ещё нет:
2️⃣ Создание скрипта для сжатия
Создайте скрипт, который будет получать логи и сжимать их:
Вставьте следующий код:
Сделайте скрипт исполняемым:
3️⃣ Настройка rsyslog для использования скрипта
Добавьте в конфигурацию rsyslog правила для передачи логов в скрипт:
4️⃣ Настройка ротации логов
Обновите /etc/logrotate.conf или создайте отдельный файл, например:
Добавьте параметры ротации:
Применение изменений
После настройки перезапустите службу rsyslog:
Проверка
Отправьте тестовое сообщение в лог:
Убедитесь, что логи сжаты и записаны в /var/log/compressed_logs.gz:
Для серверов с интенсивным логированием важно оптимизировать хранение журналов.
Включение сжатия логов позволяет сэкономить место на диске и упростить их управление. Rsyslog, один из самых популярных системных логгеров, поддерживает сжатие логов в реальном времени с использованием модуля omprog.
В этом посте разберёмся, как настроить rsyslog для создания сжатых журналов.
Подготовка
sudo apt install rsyslog
На большинстве дистрибутивов rsyslog установлен по умолчанию.
Она используется для сжатия.
sudo apt install gzip
Настройка
Откройте конфигурационный файл rsyslog:
sudo nano /etc/rsyslog.conf
Добавьте строку для загрузки модуля omprog, если его ещё нет:
module(load="omprog")
Создайте скрипт, который будет получать логи и сжимать их:
sudo nano /usr/local/bin/compress_logs.sh
Вставьте следующий код:
#!/bin/bash
while read line; do
echo "$line" | gzip >> /var/log/compressed_logs.gz
done
Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/compress_logs.sh
Добавьте в конфигурацию rsyslog правила для передачи логов в скрипт:
action(type="omprog" binary="/usr/local/bin/compress_logs.sh")
Обновите /etc/logrotate.conf или создайте отдельный файл, например:
sudo nano /etc/logrotate.d/compressed_logs
Добавьте параметры ротации:
/var/log/compressed_logs.gz {
daily
rotate 7
compress
missingok
notifempty
}
Применение изменений
После настройки перезапустите службу rsyslog:
sudo systemctl restart rsyslog
Проверка
Отправьте тестовое сообщение в лог:
logger "Это тестовое сообщение для проверки сжатия логов."
Убедитесь, что логи сжаты и записаны в /var/log/compressed_logs.gz:
zcat /var/log/compressed_logs.gz
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤1👎1
Какая команда используется для настройки IP-адресов в современных системах Linux?
Anonymous Quiz
30%
ifconfig
58%
ip addr
8%
netstat
4%
route
👍9👎6
Как настроить cgroups v2 для управления ресурсами
Cgroups v2 позволяет ограничивать использование системных ресурсов процессами и группами процессов.
Вот как настроить его для управления CPU, памятью и другими параметрами.
1️⃣ Проверка и активация cgroups v2
Проверьте поддержку cgroups v2:
Если вывод содержит строку с cgroup2, система уже использует новую версию.
Если система работает с cgroups v1, переключите её на v2:
• Откройте конфигурацию GRUB:
• Добавьте параметр в строку GRUB_CMDLINE_LINUX:
• Обновите GRUB и перезагрузите систему:
2️⃣ Создание группы ограничений
Создайте группу, например, test_group:
Задайте права на группу для текущего пользователя:
3️⃣ Установка базовых ограничений
Ограничение CPU
Задайте максимальную долю CPU для группы:
Значение 100 означает 10% одного ядра.
Ограничение памяти
Установите лимит на использование памяти, например 256 МБ:
Включите автоматическое завершение процессов при превышении лимита:
Cgroups v2 позволяет ограничивать использование системных ресурсов процессами и группами процессов.
Вот как настроить его для управления CPU, памятью и другими параметрами.
Проверьте поддержку cgroups v2:
mount | grep cgroup
Если вывод содержит строку с cgroup2, система уже использует новую версию.
Если система работает с cgroups v1, переключите её на v2:
• Откройте конфигурацию GRUB:
sudo nano /etc/default/grub
• Добавьте параметр в строку GRUB_CMDLINE_LINUX:
systemd.unified_cgroup_hierarchy=1
• Обновите GRUB и перезагрузите систему:
sudo update-grub
sudo reboot
Создайте группу, например, test_group:
sudo mkdir /sys/fs/cgroup/test_group
Задайте права на группу для текущего пользователя:
sudo chown $USER:$USER /sys/fs/cgroup/test_group
Ограничение CPU
Задайте максимальную долю CPU для группы:
echo 100 > /sys/fs/cgroup/test_group/cpu.max
Значение 100 означает 10% одного ядра.
Ограничение памяти
Установите лимит на использование памяти, например 256 МБ:
echo 256M > /sys/fs/cgroup/test_group/memory.max
Включите автоматическое завершение процессов при превышении лимита:
echo 1 > /sys/fs/cgroup/test_group/memory.oom.group
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2🤔2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
mkfs.ext4 -i 2048 /dev/sdX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😁3❤2🔥2
Использование и мониторинг cgroups v2
В предыдущем посте я создал группу ограничений и задал базовые лимиты для использования CPU и памяти.
Теперь разберёмся, как применять эти настройки к процессам и отслеживать их выполнение.
4️⃣ Добавление процессов в группу
Получите PID нужного процесса:
Перенесите процесс в группу:
Пример:
5️⃣ Мониторинг использования ресурсов
Просмотрите статистику использования CPU:
Отследите текущий объём используемой памяти:
Проверьте логи для диагностики ошибок:
Пример: Ограничение тестовой нагрузки
Установите утилиту stress для создания нагрузки:
Запустите её с нагрузкой на два ядра:
Перенесите процесс stress в группу ограничений:
В предыдущем посте я создал группу ограничений и задал базовые лимиты для использования CPU и памяти.
Теперь разберёмся, как применять эти настройки к процессам и отслеживать их выполнение.
Получите PID нужного процесса:
pgrep <process_name>
Перенесите процесс в группу:
echo <PID> > /sys/fs/cgroup/test_group/cgroup.procs
Пример:
echo 1234 > /sys/fs/cgroup/test_group/cgroup.procs
Просмотрите статистику использования CPU:
cat /sys/fs/cgroup/test_group/cpu.stat
Отследите текущий объём используемой памяти:
cat /sys/fs/cgroup/test_group/memory.current
Проверьте логи для диагностики ошибок:
dmesg | grep cgroup
Пример: Ограничение тестовой нагрузки
Установите утилиту stress для создания нагрузки:
sudo apt install stress
Запустите её с нагрузкой на два ядра:
stress --cpu 2 --timeout 60
Перенесите процесс stress в группу ограничений:
echo $(pgrep stress) > /sys/fs/cgroup/test_group/cgroup.procs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👏25👍8😭5😁3
Трафик YouTube в РФ упал до 20% от нормального состояния
Согласно данным Google и профильных экспертов, 23 декабря 2024 года трафик YouTube в России снизился до 20% от среднего уровня, фиксировавшегося до августа.
Проблемы затрагивают как мобильные, так и проводные сети всех основных операторов связи, включая МТС, «МегаФон», Т2 и «Билайн».
Представитель Google заявил, что проблемы с доступом не связаны с техническими сбоями на стороне компании.
Одновременно «Ростелеком» утверждает, что не ограничивал работу сервиса, но связывает деградацию с устареванием серверов Google Global Cache (GGC), которые не обновлялись более трёх лет.
Роскомнадзор, в свою очередь, обвинил YouTube в «неуважении к нашей стране» и напомнил, что Google прекратил обслуживание кэширующих серверов в России.
При этом на серверах Google в Нидерландах зафиксирован рост трафика, что может быть связано с перенаправлением запросов пользователей из России.
Согласно данным Google и профильных экспертов, 23 декабря 2024 года трафик YouTube в России снизился до 20% от среднего уровня, фиксировавшегося до августа.
С 19 декабря пользователи массово жалуются на проблемы с доступом к видеосервису: видео либо не запускаются, либо загружаются крайне медленно.
Проблемы затрагивают как мобильные, так и проводные сети всех основных операторов связи, включая МТС, «МегаФон», Т2 и «Билайн».
Представитель Google заявил, что проблемы с доступом не связаны с техническими сбоями на стороне компании.
Одновременно «Ростелеком» утверждает, что не ограничивал работу сервиса, но связывает деградацию с устареванием серверов Google Global Cache (GGC), которые не обновлялись более трёх лет.
Роскомнадзор, в свою очередь, обвинил YouTube в «неуважении к нашей стране» и напомнил, что Google прекратил обслуживание кэширующих серверов в России.
По мнению ведомства, это стало причиной ухудшения качества работы сервиса. С 19 по 21 декабря трафик YouTube в РФ снизился ещё на 10%.
При этом на серверах Google в Нидерландах зафиксирован рост трафика, что может быть связано с перенаправлением запросов пользователей из России.
😁14🤬9👍3😢3
Сегодня расскажу про российское решение для удалённого управления и конфигурирования сетевого оборудования - SSH/SFTP/RDP/VNC-клиент МС22.
Отечественная замена популярных зарубежных программ (PuTTY, Xshell, KiTTY, SecureCRT, SmarTTY, MobaXterm и др.) и встроенных терминалов ОС. Продукт платный, но имеет стоящий функционал:
- Быстрые клавиши, позволяющие сэкономить время на рутину
- Возможность работы в нескольких вкладках, облегчающая одновременное администрование несокльких устройств
- Готовые шаблоны и автоматические сценарии
- Цветная подсветка синтаксиса, берегущая зрение пользователей
- И другие приятные мелочи
Посмотреть и потестировать можно тут - https://МС22.рф
Отечественная замена популярных зарубежных программ (PuTTY, Xshell, KiTTY, SecureCRT, SmarTTY, MobaXterm и др.) и встроенных терминалов ОС. Продукт платный, но имеет стоящий функционал:
- Быстрые клавиши, позволяющие сэкономить время на рутину
- Возможность работы в нескольких вкладках, облегчающая одновременное администрование несокльких устройств
- Готовые шаблоны и автоматические сценарии
- Цветная подсветка синтаксиса, берегущая зрение пользователей
- И другие приятные мелочи
Посмотреть и потестировать можно тут - https://МС22.рф
🔥9🥴6🗿3🤷♂2😁2
Настройка VLAN с использованием ip и bridge в Linux
VLAN (Virtual Local Area Network) — это способ разделения одной физической сети на несколько логически изолированных сетей.
Это полезно для управления трафиком, повышения безопасности и уменьшения широковещательной нагрузки.
В этом посте мы разберём, как настроить VLAN в Linux с использованием утилит ip и bridge.
Пример задачи
Имеется интерфейс eth0, подключённый к коммутатору, поддерживающему VLAN. Мы хотим настроить две VLAN:
• VLAN 10: с IP-адресом 192.168.10.1/24.
• VLAN 20: с IP-адресом 192.168.20.1/24.
1️⃣ Установка необходимых пакетов
В современных дистрибутивах утилиты ip и bridge уже включены в состав пакета iproute2.
Проверьте, что он установлен:
2️⃣ Настройка VLAN
Создайте VLAN-интерфейсы
С помощью команды ip link создадим виртуальные интерфейсы для VLAN 10 и VLAN 20:
Назначьте IP-адреса VLAN-интерфейсам
Включите интерфейсы
3️⃣ Проверка конфигурации
Проверьте, что интерфейсы созданы и включены:
Вы должны увидеть интерфейсы eth0.10 и eth0.20, связанные с eth0.
4️⃣ (Опционально) Настройка VLAN-мостов
Если требуется подключить несколько VLAN к мосту (например, для виртуализации):
Создайте мост:
Добавьте VLAN к мосту:
Назначьте IP-адрес мосту:
5️⃣ Удаление VLAN
Чтобы удалить VLAN-интерфейс:
Теперь ваш сервер поддерживает две изолированные VLAN. Это полезно для разделения трафика между службами или пользователями.
И используйте конфигурационные файлы (например, в /etc/netplan или /etc/sysconfig/network-scripts), чтобы сделать настройки постоянными после перезагрузки.
VLAN (Virtual Local Area Network) — это способ разделения одной физической сети на несколько логически изолированных сетей.
Это полезно для управления трафиком, повышения безопасности и уменьшения широковещательной нагрузки.
В этом посте мы разберём, как настроить VLAN в Linux с использованием утилит ip и bridge.
Пример задачи
Имеется интерфейс eth0, подключённый к коммутатору, поддерживающему VLAN. Мы хотим настроить две VLAN:
• VLAN 10: с IP-адресом 192.168.10.1/24.
• VLAN 20: с IP-адресом 192.168.20.1/24.
В современных дистрибутивах утилиты ip и bridge уже включены в состав пакета iproute2.
Проверьте, что он установлен:
sudo apt install iproute2 # Для Debian/Ubuntu
sudo yum install iproute # Для CentOS/RHEL
Создайте VLAN-интерфейсы
С помощью команды ip link создадим виртуальные интерфейсы для VLAN 10 и VLAN 20:
sudo ip link add link eth0 name eth0.10 type vlan id 10
sudo ip link add link eth0 name eth0.20 type vlan id 20
Назначьте IP-адреса VLAN-интерфейсам
sudo ip addr add 192.168.10.1/24 dev eth0.10
sudo ip addr add 192.168.20.1/24 dev eth0.20
Включите интерфейсы
sudo ip link set eth0.10 up
sudo ip link set eth0.20 up
Проверьте, что интерфейсы созданы и включены:
ip -d link show
Вы должны увидеть интерфейсы eth0.10 и eth0.20, связанные с eth0.
Если требуется подключить несколько VLAN к мосту (например, для виртуализации):
Создайте мост:
sudo ip link add name br-vlan type bridge
Добавьте VLAN к мосту:
sudo ip link set eth0.10 master br-vlan
sudo ip link set eth0.20 master br-vlan
Назначьте IP-адрес мосту:
sudo ip addr add 192.168.30.1/24 dev br-vlan
sudo ip link set br-vlan up
Чтобы удалить VLAN-интерфейс:
sudo ip link delete eth0.10
sudo ip link delete eth0.20
Теперь ваш сервер поддерживает две изолированные VLAN. Это полезно для разделения трафика между службами или пользователями.
И используйте конфигурационные файлы (например, в /etc/netplan или /etc/sysconfig/network-scripts), чтобы сделать настройки постоянными после перезагрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍10❤1
Какой механизм SELinux отвечает за проверку доступа процессов к ресурсам системы?
Anonymous Quiz
37%
Мандатное управление доступом (MAC)
23%
Дискреционное управление доступом (DAC)
28%
Ролевая модель доступа (RBAC)
12%
Контроль целостности (IMA)
👍5❤1
Что такое SR-IOV и зачем это нужно
SR-IOV (Single Root Input/Output Virtualization) — технология аппаратной виртуализации ввода-вывода, позволяющая нескольким виртуальным машинам напрямую использовать одну физическую сетевую карту.
⏺ PF (Physical Function): основной интерфейс для управления устройством. Он отвечает за настройку SR-IOV.
⏺ VF (Virtual Function): выделенные виртуальные интерфейсы, которые подключаются к виртуальным машинам, обеспечивая минимальные задержки и высокую скорость.
Зачем использовать SR-IOV?
1️⃣ Разгрузка гипервизора: виртуальные машины работают с сетью напрямую, снижая нагрузку на центральный процессор.
2️⃣ Оптимизация ресурсов: обеспечивает баланс между производительностью и количеством виртуальных машин.
3️⃣ Повышение безопасности: изоляция VF снижает риск вмешательства одной ВМ в работу другой.
Пример использования
В среде виртуализации с высокой сетевой нагрузкой (например, для финансовых транзакций) SR-IOV позволяет:
• Включить поддержку SR-IOV на физической сетевой карте через настройки гипервизора.
• Выделить несколько VF для виртуальных машин.
• Настроить PF для управления и мониторинга.
SR-IOV (Single Root Input/Output Virtualization) — технология аппаратной виртуализации ввода-вывода, позволяющая нескольким виртуальным машинам напрямую использовать одну физическую сетевую карту.
Это достигается за счёт разделения сетевой карты на физическую функцию (PF) и виртуальные функции (VF).
Зачем использовать SR-IOV?
Пример использования
В среде виртуализации с высокой сетевой нагрузкой (например, для финансовых транзакций) SR-IOV позволяет:
• Включить поддержку SR-IOV на физической сетевой карте через настройки гипервизора.
• Выделить несколько VF для виртуальных машин.
• Настроить PF для управления и мониторинга.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2⚡1
Мониторинг сети с помощью sFlow
sFlow — это протокол мониторинга сети, который позволяет администраторам получать выборочные данные о трафике в реальном времени.
Его основное преимущество — минимальная нагрузка на устройство благодаря выборочному сбору данных.
Как работает sFlow
• Агент sFlow: встроен в сетевое устройство и собирает выборки пакетов.
• Коллектор: сервер, принимающий выборки и анализирующий данные.
• Выборки: небольшие фрагменты трафика передаются на коллектор для анализа.
Настройка sFlow на коммутаторе
1️⃣ Включение агента sFlow
На устройствах Cisco:
На устройствах HPE/Aruba:
2️⃣ Настройка параметров
Cisco: Установите IP-адрес агента (IP устройства):
Укажите частоту выборок:
Настройте интервал опроса счётчиков:
Укажите IP и порт коллектора:
3️⃣ Проверка и мониторинг
Проверьте текущую конфигурацию:
На HPE:
Убедитесь, что данные отправляются на коллектор. Для анализа можно использовать инструменты, такие как sFlowTrend или ntopng.
sFlow — это протокол мониторинга сети, который позволяет администраторам получать выборочные данные о трафике в реальном времени.
Его основное преимущество — минимальная нагрузка на устройство благодаря выборочному сбору данных.
Как работает sFlow
• Агент sFlow: встроен в сетевое устройство и собирает выборки пакетов.
• Коллектор: сервер, принимающий выборки и анализирующий данные.
• Выборки: небольшие фрагменты трафика передаются на коллектор для анализа.
Настройка sFlow на коммутаторе
На устройствах Cisco:
sflow enable
На устройствах HPE/Aruba:
sflow 1 sampling 1000
sflow 1 destination 192.168.1.2 6343
Cisco: Установите IP-адрес агента (IP устройства):
sflow agent-ip 192.168.1.1
Укажите частоту выборок:
sflow sampling-rate 1000
Настройте интервал опроса счётчиков:
sflow polling-interval 30
Укажите IP и порт коллектора:
sflow collector-ip 192.168.1.2 6343
Проверьте текущую конфигурацию:
show sflow
На HPE:
show sflow agent
Убедитесь, что данные отправляются на коллектор. Для анализа можно использовать инструменты, такие как sFlowTrend или ntopng.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Реплики и согласованность в распределённых системах
Репликация — это процесс создания копий данных между узлами в распределённой системе для повышения отказоустойчивости, масштабируемости и доступности.
Модели репликации
1. Синхронная репликация
⏺ Данные подтверждаются только после записи на все узлы.
⏺ Плюсы: строгая консистентность.
⏺ Минусы: высокая задержка, проблемы с доступностью при сбоях.
⏺ Пример: финансовые системы, где важна точность данных.
2. Асинхронная репликация
⏺ Данные записываются на один узел, а потом синхронизируются с остальными.
⏺ Плюсы: высокая доступность, быстрая обработка запросов.
⏺ Минусы: возможны временные несоответствия данных.
⏺ Пример: географически распределённые системы, CDN.
Настройка репликации в MongoDB
1️⃣ Создайте репликационный набор:
2️⃣ Проверьте статус репликации:
Настройка консистентности в Kafka
1️⃣ Установите минимальное количество реплик, которые должны подтвердить запись:
2️⃣ Гарантируйте консистентность для записи:
Репликация — это процесс создания копий данных между узлами в распределённой системе для повышения отказоустойчивости, масштабируемости и доступности.
Системные администраторы часто сталкиваются с задачами настройки и управления репликами, особенно в масштабируемых системах, таких как Cassandra, Kafka или Redis.
Модели репликации
1. Синхронная репликация
2. Асинхронная репликация
Настройка репликации в MongoDB
rs.initiate(
{
_id: "myReplicaSet",
members: [
{ _id: 0, host: "node1:27017" },
{ _id: 1, host: "node2:27017" },
{ _id: 2, host: "node3:27017" }
]
}
)
rs.status()
Настройка консистентности в Kafka
min.insync.replicas=2
acks=all
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
• A: Соединяет домен с IPv4-адресом.
• AAAA: Соединяет домен с IPv6-адресом.
• CNAME: Создает псевдоним для домена.
• MX: Указывает почтовый сервер.
• NS: Указывает серверы, управляющие доменом.
• TXT: Хранит текстовую информацию, например, для проверки подлинности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤2