📌 Шпаргалка для работы с Grafana + Loki! 🔥
🚀 Grafana + Loki — мощный стек для централизованного логирования и визуализации логов. Loki собирает логи, а Grafana отображает их в удобном интерфейсе.
🔥 1. Установка и настройка
🛠 Установка Loki
📌 На сервере (Linux)
📌 Пример конфига
📌 Запуск Loki
🛠 Установка Promtail (для сбора логов)
📌 Пример конфига
📌 Запуск Promtail
🎨 2. Настройка Grafana
📌 Установка (Debian/Ubuntu)
📌 Запуск и включение в автозагрузку
📌 Настройка Grafana для Loki
1. Зайти в веб-интерфейс Grafana (
2. Перейти в
3. Добавить источник
- URL:
- Access: Server
- Save & Test
🔍 3. Запросы в Loki (LogQL)
📝 Базовый синтаксис
🔹 Фильтр по метке (
🔹 Парсинг JSON
🔍 Фильтрация логов
🔹 Ищет строки, содержащие
🔹 Исключает строки с
📊 Агрегация логов
🔹 Подсчет количества записей за последние 5 минут
🔹 Количество логов за 10 минут
🔹 Подсчет логов по уровням (например,
🛠 4. Управление и отладка
🚀 Перезапуск сервисов
📂 Просмотр логов
🔄 Очистка старых логов
📡 Проверка работы Loki API
Ответ: ready ✅
@sysadmin1
🚀 Grafana + Loki — мощный стек для централизованного логирования и визуализации логов. Loki собирает логи, а Grafana отображает их в удобном интерфейсе.
🔥 1. Установка и настройка
🛠 Установка Loki
📌 На сервере (Linux)
# Создаем директории
mkdir -p /etc/loki /var/lib/loki
# Загружаем последнюю версию Loki
curl -O -L "https://github.com/grafana/loki"
# Даем права на исполнение
chmod +x loki-linux-amd64
mv loki-linux-amd64 /usr/local/bin/loki
📌 Пример конфига
/etc/loki/config.yaml auth_enabled: false
server:
http_listen_port: 3100
ingester:
lifecycler:
ring:
kvstore:
store: inmemory
replication_factor: 1
chunk_idle_period: 5m
chunk_retain_period: 30s
schema_config:
configs:
- from: 2023-01-01
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
storage_config:
boltdb_shipper:
active_index_directory: /var/lib/loki/index
cache_location: /var/lib/loki/cache
shared_store: filesystem
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
chunk_store_config:
max_look_back_period: 0s
table_manager:
retention_deletes_enabled: false
retention_period: 0s
📌 Запуск Loki
loki -config.file=/etc/loki/config.yaml
🛠 Установка Promtail (для сбора логов)
curl -O -L "https://github.com/grafana/loki"
chmod +x promtail-linux-amd64
mv promtail-linux-amd64 /usr/local/bin/promtail
📌 Пример конфига
/etc/promtail/config.yamlserver:
http_listen_port: 9080
positions:
filename: /var/lib/promtail/positions.yaml
clients:
- url: http://localhost:3100/loki/api/v1/push
scrape_configs:
- job_name: system_logs
static_configs:
- targets:
- localhost
labels:
job: "varlogs"
host: "server-1"
__path__: /var/log/*.log
📌 Запуск Promtail
promtail -config.file=/etc/promtail/config.yaml
🎨 2. Настройка Grafana
📌 Установка (Debian/Ubuntu)
sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
sudo apt-get update
sudo apt-get install grafana
📌 Запуск и включение в автозагрузку
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
📌 Настройка Grafana для Loki
1. Зайти в веб-интерфейс Grafana (
http://<server>:3000)2. Перейти в
Configuration → Data Sources3. Добавить источник
Loki- URL:
http://localhost:3100- Access: Server
- Save & Test
🔍 3. Запросы в Loki (LogQL)
📝 Базовый синтаксис
{job="varlogs"} | json🔹 Фильтр по метке (
job="varlogs") 🔹 Парсинг JSON
🔍 Фильтрация логов
{job="varlogs"} |= "error"🔹 Ищет строки, содержащие
"error"{job="varlogs"} != "debug"🔹 Исключает строки с
"debug"📊 Агрегация логов
rate({job="varlogs"}[5m])🔹 Подсчет количества записей за последние 5 минут
count_over_time({job="varlogs"}[10m])🔹 Количество логов за 10 минут
sum by (level) (count_over_time({job="varlogs"}[10m]))🔹 Подсчет логов по уровням (например,
error, info)🛠 4. Управление и отладка
🚀 Перезапуск сервисов
systemctl restart loki
systemctl restart promtail
systemctl restart grafana-server
📂 Просмотр логов
journalctl -u loki -f
journalctl -u promtail -f
journalctl -u grafana-server -f
🔄 Очистка старых логов
rm -rf /var/lib/loki/*
rm -rf /var/lib/promtail/*
📡 Проверка работы Loki API
curl -s "http://localhost:3100/ready"
Ответ: ready ✅
@sysadmin1
🤩2❤1👍1🔥1🎉1
📌Объединение файлов командой cat
Команда
Основные способы объединения файлов
1. Объединение двух и более файлов в один
Формат команды:
Этот вариант соединяет содержимое
2. Добавление содержимого к существующему файлу
Формат команды:
Эта команда добавляет содержимое
3. Объединение всех файлов в директории
Если нужно объединить все текстовые файлы в текущей директории в один файл:
Этот вариант объединяет все файлы с расширением
Практическое применение
1. Лог-файлы: Объединение нескольких логов в один:
2. Конфигурационные файлы: Создание общего файла конфигурации:
3. Архивы данных: Объединение частей архивов или дампов БД:
Проверка результата объединения
После выполнения команды можно проверить содержимое объединённого файла командой:
Или с постраничным просмотром:
@sysadmin1
Команда
cat (сокращение от «concatenate») в Linux и других UNIX-подобных системах широко используется для работы с текстовыми файлами. Одной из её ключевых возможностей является объединение (конкатенация) нескольких файлов в один.Основные способы объединения файлов
1. Объединение двух и более файлов в один
Формат команды:
cat file1.txt file2.txt > result.txt
Этот вариант соединяет содержимое
file1.txt и file2.txt и записывает его в result.txt. Если result.txt уже существует, он будет перезаписан.2. Добавление содержимого к существующему файлу
Формат команды:
cat file1.txt >> result.txt
Эта команда добавляет содержимое
file1.txt в конец result.txt, сохраняя уже имеющуюся информацию.3. Объединение всех файлов в директории
Если нужно объединить все текстовые файлы в текущей директории в один файл:
cat *.txt > all_files_combined.txt
Этот вариант объединяет все файлы с расширением
.txt в all_files_combined.txt.Практическое применение
1. Лог-файлы: Объединение нескольких логов в один:
cat /var/log/syslog.1 /var/log/syslog.2 > syslogs_combined.log
2. Конфигурационные файлы: Создание общего файла конфигурации:
cat config_part1.conf config_part2.conf > full_config.conf
3. Архивы данных: Объединение частей архивов или дампов БД:
cat backup_part1.sql backup_part2.sql > full_backup.sql
Проверка результата объединения
После выполнения команды можно проверить содержимое объединённого файла командой:
cat result.txt
Или с постраничным просмотром:
less result.txt
@sysadmin1
⚡2❤2👍2🎉1🏆1
Linux Networking.pdf
5.8 MB
Linux Networking (
Paul Cobbaut (2015)
Посвящен всему, что связано с Linux в сети.
Эта книга предназначена для использования на занятиях под руководством преподавателя. При самостоятельном изучении книги следует читать ее рядом с работающим компьютером с Linux, чтобы сразу же заниматься каждой темой, отрабатывая каждую команду.
Эта книга предназначена для начинающих системных администраторов Linux (и может быть интересна и полезна для домашних пользователей, которые хотят узнать немного больше о своей системе Linux). Однако эта книга не предназначена для ознакомления с настольными приложениями Linux, такими как текстовые редакторы, браузеры, почтовые клиенты, мультимедийные или офисные приложения.
@sysadmin1
Eng ver)Paul Cobbaut (2015)
Посвящен всему, что связано с Linux в сети.
Эта книга предназначена для использования на занятиях под руководством преподавателя. При самостоятельном изучении книги следует читать ее рядом с работающим компьютером с Linux, чтобы сразу же заниматься каждой темой, отрабатывая каждую команду.
Эта книга предназначена для начинающих системных администраторов Linux (и может быть интересна и полезна для домашних пользователей, которые хотят узнать немного больше о своей системе Linux). Однако эта книга не предназначена для ознакомления с настольными приложениями Linux, такими как текстовые редакторы, браузеры, почтовые клиенты, мультимедийные или офисные приложения.
@sysadmin1
⚡2❤2👍2🔥2🎉2
Олды тут?
Пост ностальгии...
— Процессор — 80286 12MHz
— 1MB RAM
— HDD — 2x20 MB
— Стальной корпус с толщиной стенки примерно 2мм
@sysadmin1
Пост ностальгии...
— Процессор — 80286 12MHz
— 1MB RAM
— HDD — 2x20 MB
— Стальной корпус с толщиной стенки примерно 2мм
@sysadmin1
🔥10👍7😭3✍2🎉2
Forwarded from Network Quiz
Какая функция безопасности коммутатора немедленно переводит access-порт в состояние err-disable, если на нем неожиданно получен кадр Spanning Tree (BPDU)?
Anonymous Quiz
6%
Root Guard
20%
Loop Guard
67%
BPDU Guard
7%
PortFast
🔥2❤1👍1🤩1💯1
Команды Linux для управления файлами
1.
Когда команда используется с одним текстовым файлом (вот так: cat путь_к_файлу), она отображает его содержимое в окне терминала. Если указать два файла и больше (cat путь_к_файлу_1 путь_к_файлу_2), она склеит их. А если ввести cat путь_к_файлу_1 > новый_файл — объединит содержимое упомянутых файлов в новый документ.
2.
Позволяет изменять права доступа к файлу. Может пригодиться, если вы хотите внести изменения в системный файл.
3.
Изменяет владельца файла или каталога. Следует выполнять с правами суперпользователя. Например, chown user:group ваш_файл изменит владельца и группу файла на заданные.
4.
Выводит информацию об указанном файле.
5.
Открывает простой текстовый редактор. Можно создать новый текстовый файл или открыть существующий: nano путь_к_файлу.
6.
Переименовывает один или несколько файлов. Команду можно использовать и для массового переименования по маске.
7.
Изменяет дату последнего открытия или модификации указанного файла.
8.
Команда для создания или извлечения архивов tar. Например, tar -cvf архив.tar ваши_файлы создаст архив архив.tar из указанных документов, а tar -xvf архив.tar извлечёт их.
9.
Аналогичным образом распаковывает и сжимает архивы ZIP. Например, zip -r9 архив. zip папка создаст архив архив. zip, содержащий все файлы и подкаталоги из папки, с максимальным уровнем сжатия.
10.
Создаёт новую папку в текущей терминальной или в указанной папке: mkdir путь_к_папке.
11.
Удаляет упомянутую папку.
12.
Удаляет файлы. Может работать как с отдельными элементами, так и с группой, соответствующей определённым признакам.
13.
Создаёт копию нужного файла в папке терминала: cp путь_к_файлу. Также вы можете указать назначение cp путь_к_файлу путь_для_копии.
14.
Перемещает файл из одной папки в другую. Вы можете указать имя для перемещаемого файла. Забавно, но в Linux эта команда может использоваться и для переименования документов. Просто укажите ту же папку, где находится файл, и другое название.
15.
Поиск файлов по определённым критериям, таким как имя, тип, размер, владелец, дата создания и модификации.
16.
Поиск текстовых файлов, содержащих определённые строки. Критерии очень гибко настраиваются.
17.
Поиск файлов и папок, чьи названия подходят запросу, и отображение их путей в файловой системе.
@sysadmin1
1.
catКогда команда используется с одним текстовым файлом (вот так: cat путь_к_файлу), она отображает его содержимое в окне терминала. Если указать два файла и больше (cat путь_к_файлу_1 путь_к_файлу_2), она склеит их. А если ввести cat путь_к_файлу_1 > новый_файл — объединит содержимое упомянутых файлов в новый документ.
2.
chmodПозволяет изменять права доступа к файлу. Может пригодиться, если вы хотите внести изменения в системный файл.
3.
chownИзменяет владельца файла или каталога. Следует выполнять с правами суперпользователя. Например, chown user:group ваш_файл изменит владельца и группу файла на заданные.
4.
fileВыводит информацию об указанном файле.
5.
nanoОткрывает простой текстовый редактор. Можно создать новый текстовый файл или открыть существующий: nano путь_к_файлу.
6.
renameПереименовывает один или несколько файлов. Команду можно использовать и для массового переименования по маске.
7.
touchИзменяет дату последнего открытия или модификации указанного файла.
8.
tarКоманда для создания или извлечения архивов tar. Например, tar -cvf архив.tar ваши_файлы создаст архив архив.tar из указанных документов, а tar -xvf архив.tar извлечёт их.
9.
zipАналогичным образом распаковывает и сжимает архивы ZIP. Например, zip -r9 архив. zip папка создаст архив архив. zip, содержащий все файлы и подкаталоги из папки, с максимальным уровнем сжатия.
10.
mkdirСоздаёт новую папку в текущей терминальной или в указанной папке: mkdir путь_к_папке.
11.
rmdirУдаляет упомянутую папку.
12.
rmУдаляет файлы. Может работать как с отдельными элементами, так и с группой, соответствующей определённым признакам.
13.
cpСоздаёт копию нужного файла в папке терминала: cp путь_к_файлу. Также вы можете указать назначение cp путь_к_файлу путь_для_копии.
14.
mvПеремещает файл из одной папки в другую. Вы можете указать имя для перемещаемого файла. Забавно, но в Linux эта команда может использоваться и для переименования документов. Просто укажите ту же папку, где находится файл, и другое название.
15.
findПоиск файлов по определённым критериям, таким как имя, тип, размер, владелец, дата создания и модификации.
16.
grepПоиск текстовых файлов, содержащих определённые строки. Критерии очень гибко настраиваются.
17.
locateПоиск файлов и папок, чьи названия подходят запросу, и отображение их путей в файловой системе.
@sysadmin1
👍5🔥2🎉2❤1🤗1
🔥 Шпаргалка по iptables 🔥
📌 iptables — это утилита для настройки брандмауэра в Linux, основанного на Netfilter. Используется для фильтрации пакетов и организации NAT.
🛠 Основные цепочки
🔹
🔹
🔹
🔹
🔹
📖 Базовые команды
🔍 Посмотреть текущие правила:
🚀 Добавить правило:
Пример: Разрешить SSH
❌ Удалить правило (по номеру):
Пример:
🔥 Сброс всех правил:
💾 Сохранение правил:
🔄 Загрузка сохраненных правил:
🔒 Примеры настроек брандмауэра
📌 Блокировка IP-адреса:
📌 Открыть доступ к порту (например, HTTP 80):
📌 Блокировка всех подключений кроме определенного IP:
📌 Лимит соединений (не более 10 за минуту с IP):
📌 SNAT (Замена исходного IP-адреса, NAT):
📌 Редирект (Port Forwarding, DNAT):
🏆 Полезные советы
✅ Проверка логов iptables:
✅ Добавление правил с логированием:
✅ Автозагрузка iptables при старте системы:
(Пакет
💡 Совет: Всегда проверяйте правила перед сохранением! Ошибка может заблокировать вам доступ к серверу.
@sysadmin1
📌 iptables — это утилита для настройки брандмауэра в Linux, основанного на Netfilter. Используется для фильтрации пакетов и организации NAT.
🛠 Основные цепочки
🔹
INPUT — обработка входящего трафика 🔹
OUTPUT — обработка исходящего трафика 🔹
FORWARD — пересылаемый трафик (маршрутизация) 🔹
PREROUTING — изменения пакетов до маршрутизации 🔹
POSTROUTING — изменения пакетов после маршрутизации 📖 Базовые команды
🔍 Посмотреть текущие правила:
iptables -L -v -n # Краткий список правил
iptables -S # Вывести правила в виде команд
🚀 Добавить правило:
iptables -A ЧЕЙН -p ПРОТОКОЛ --dport ПОРТ -j ДЕЙСТВИЕ
Пример: Разрешить SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
❌ Удалить правило (по номеру):
iptables -D ЧЕЙН НОМЕР
Пример:
iptables -D INPUT 1
🔥 Сброс всех правил:
iptables -F # Очистить все цепочки
iptables -X # Удалить кастомные цепочки
iptables -Z # Сбросить счетчики
💾 Сохранение правил:
iptables-save > /etc/iptables.rules
🔄 Загрузка сохраненных правил:
iptables-restore < /etc/iptables.rules
🔒 Примеры настроек брандмауэра
📌 Блокировка IP-адреса:
iptables -A INPUT -s 192.168.1.100 -j DROP
📌 Открыть доступ к порту (например, HTTP 80):
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
📌 Блокировка всех подключений кроме определенного IP:
iptables -P INPUT DROP
iptables -A INPUT -s 192.168.1.50 -j ACCEPT
📌 Лимит соединений (не более 10 за минуту с IP):
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
📌 SNAT (Замена исходного IP-адреса, NAT):
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
📌 Редирект (Port Forwarding, DNAT):
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
🏆 Полезные советы
✅ Проверка логов iptables:
dmesg | grep iptables
journalctl -k | grep DROP
✅ Добавление правил с логированием:
iptables -A INPUT -p tcp --dport 23 -j LOG --log-prefix "Telnet blocked: "
iptables -A INPUT -p tcp --dport 23 -j DROP
✅ Автозагрузка iptables при старте системы:
netfilter-persistent save
netfilter-persistent reload
(Пакет
iptables-persistent должен быть установлен: apt install iptables-persistent) 💡 Совет: Всегда проверяйте правила перед сохранением! Ошибка может заблокировать вам доступ к серверу.
@sysadmin1
💯3⚡2❤2👍2🔥2
📌 Виртуализация в Linux
🔹 1. Типы виртуализации:
✅ Аппаратная (KVM, Xen) — использует поддержку процессора (Intel VT-x, AMD-V).
✅ Паравиртуализация (Xen, Proxmox) — требует модифицированного ядра гостевой ОС.
✅ Программная (VirtualBox, VMware) — эмулирует железо без поддержки CPU.
🏆 Сравнение гипервизоров
🔹 KVM
✅ Тип: Аппаратный
🚀 Производительность: Высокая
😐 Простота настройки: Средняя
🖥 Поддержка Windows: ✅ Да
🔹 VirtualBox
✅ Тип: Программный
🆗 Производительность: Средняя
😀 Простота настройки: Простая
🖥 Поддержка Windows: ✅ Да
🔹 Proxmox
✅ Тип: Аппаратный (KVM + LXC)
🚀 Производительность: Высокая
😃 Простота настройки: Удобная (Web GUI)
🖥 Поддержка Windows: ✅ Да
🔹 Xen
✅ Тип: Аппаратный / Паравиртуализация
🚀 Производительность: Высокая
😐 Простота настройки: Средняя
🖥 Поддержка Windows: ✅ Да
🛠 2. KVM: Гипервизор в ядре Linux
✅ Встроен в ядро Linux, работает через
✅ Требует Intel VT-x / AMD-V
✅ Управление через libvirt
📌 Установка KVM в Debian/Ubuntu
📌 Проверка поддержки виртуализации
📌 Создание ВМ через командную строку
📦 3. VirtualBox: Простой гипервизор
✅ Кроссплатформенный
✅ Удобный GUI
✅ Хорош для тестов
📌 Установка в Debian/Ubuntu
📌 Запуск ВМ через CLI
🖥 4. Proxmox: Виртуализация + контейнеры
✅ Web-интерфейс для управления
✅ Поддерживает KVM и LXC
✅ Встроенная кластеризация
📌 Установка Proxmox VE (Debian-based)
📌 Создание ВМ через CLI
🏗 5. Xen: Альтернатива KVM для виртуализации
✅ Поддерживает аппаратную и паравиртуализацию
✅ Хорош для хостинга множества ВМ
📌 Установка Xen в Debian/Ubuntu
📌 Запуск ВМ через xl
🎯 Выводы
✅ KVM – мощный, встроенный в Linux гипервизор
✅ VirtualBox – удобен для тестов, но медленнее
✅ Proxmox – отличное решение для продакшена с Web GUI
✅ Xen – альтернатива KVM, хорош для облаков
@sysadmin1
🔹 1. Типы виртуализации:
✅ Аппаратная (KVM, Xen) — использует поддержку процессора (Intel VT-x, AMD-V).
✅ Паравиртуализация (Xen, Proxmox) — требует модифицированного ядра гостевой ОС.
✅ Программная (VirtualBox, VMware) — эмулирует железо без поддержки CPU.
🏆 Сравнение гипервизоров
🔹 KVM
✅ Тип: Аппаратный
🚀 Производительность: Высокая
😐 Простота настройки: Средняя
🖥 Поддержка Windows: ✅ Да
🔹 VirtualBox
✅ Тип: Программный
🆗 Производительность: Средняя
😀 Простота настройки: Простая
🖥 Поддержка Windows: ✅ Да
🔹 Proxmox
✅ Тип: Аппаратный (KVM + LXC)
🚀 Производительность: Высокая
😃 Простота настройки: Удобная (Web GUI)
🖥 Поддержка Windows: ✅ Да
🔹 Xen
✅ Тип: Аппаратный / Паравиртуализация
🚀 Производительность: Высокая
😐 Простота настройки: Средняя
🖥 Поддержка Windows: ✅ Да
🛠 2. KVM: Гипервизор в ядре Linux
✅ Встроен в ядро Linux, работает через
qemu ✅ Требует Intel VT-x / AMD-V
✅ Управление через libvirt
📌 Установка KVM в Debian/Ubuntu
apt update && apt install -y qemu-kvm libvirt-daemon virt-manager
📌 Проверка поддержки виртуализации
egrep -c '(vmx|svm)' /proc/cpuinfo
📌 Создание ВМ через командную строку
virt-install --name myVM --ram 2048 --vcpus 2 --disk size=10 --cdrom /path/to/iso
📦 3. VirtualBox: Простой гипервизор
✅ Кроссплатформенный
✅ Удобный GUI
✅ Хорош для тестов
📌 Установка в Debian/Ubuntu
apt update && apt install -y virtualbox
📌 Запуск ВМ через CLI
VBoxManage createvm --name "MyVM" --register
VBoxManage modifyvm "MyVM" --memory 2048 --cpus 2 --ostype Ubuntu_64
VBoxManage startvm "MyVM"
🖥 4. Proxmox: Виртуализация + контейнеры
✅ Web-интерфейс для управления
✅ Поддерживает KVM и LXC
✅ Встроенная кластеризация
📌 Установка Proxmox VE (Debian-based)
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" | tee /etc/apt/sources.list.d/pve.list
apt update && apt install -y proxmox-ve
📌 Создание ВМ через CLI
qm create 100 --name myVM --memory 2048 --net0 virtio,bridge=vmbr0
qm start 100
🏗 5. Xen: Альтернатива KVM для виртуализации
✅ Поддерживает аппаратную и паравиртуализацию
✅ Хорош для хостинга множества ВМ
📌 Установка Xen в Debian/Ubuntu
apt update && apt install -y xen-hypervisor xen-tools
📌 Запуск ВМ через xl
xl create /etc/xen/myVM.cfg
xl list
🎯 Выводы
✅ KVM – мощный, встроенный в Linux гипервизор
✅ VirtualBox – удобен для тестов, но медленнее
✅ Proxmox – отличное решение для продакшена с Web GUI
✅ Xen – альтернатива KVM, хорош для облаков
@sysadmin1
👍5🔥3❤2⚡2🏆2