Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Вал (или "валидность данных") в Prometheus определяется настройками временного диапазона хранения данных. Обычно данные в Prometheus живут столько, сколько задано в параметре
--storage.tsdb.retention.time
, который устанавливает период хранения временных рядов.Если не указать параметр
--storage.tsdb.retention.time
, данные хранятся 15 дней. Это соответствует 360 часам.Вы можете настроить период хранения данных, передав значение параметра при запуске Prometheus:
CLI-параметр:
prometheus --storage.tsdb.retention.time=30d
Если Prometheus запускается как часть системы CI/CD через Docker Compose, Kubernetes или другой инструмент, параметр указывается в соответствующем разделе.
services:
prometheus:
image: prom/prometheus
command:
- '--storage.tsdb.retention.time=7d' # 7 дней (168 часов)
Большие периоды хранения требуют больше дискового пространства. Если валидация данных больше не нужна, лучше очищать старые временные ряды.
Длительное хранение может замедлить обработку запросов, особенно если используемые метрики застарелые или редко запрашиваются.
Для CI/CD-пайплайнов обычно достаточно короткого периода (например, 7–15 дней), чтобы сохранять данные релевантными и свежими.
Если вы хотите, чтобы метрики для CI/CD жили 12 часов (подходящий срок для проверки тестов и сборок), настройте
prometheus:
image: prom/prometheus
command:
- '--storage.tsdb.retention.time=12h'
Перейдите на страницу
/status
→ /status/flags
, где можно увидеть значение параметра --storage.tsdb.retention.time
.Проверьте журнал запуска Prometheus или конфигурационный файл.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Port forwarding — это механизм проброса порта из пода или контейнера на локальную машину. Это позволяет получить доступ к сервисам внутри кластера без необходимости их публикации наружу.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6👍2
Чтобы использовать новый диск в Linux, его нужно разметить, создать файловую систему и примонтировать.
Запустить
fdisk
для диска sdb
sudo fdisk /dev/sdb
Форматировать раздел в
ext4
sudo mkfs.ext4 /dev/sdb1
Если нужен
xfs
sudo mkfs.xfs /dev/sdb1
Найти
UUID
дискаblkid /dev/sdb1
Вывод
/dev/sdb1: UUID="12345678-abcd-1234-efgh-56789abcdef0" TYPE="ext4"
Добавить в
/etc/fstab
echo 'UUID=12345678-abcd-1234-efgh-56789abcdef0 /mnt/data ext4 defaults 0 2' | sudo tee -a /etc/fstab
Применить изменения
sudo mount -a
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Он может содержать:
- Ресурсы
- Переменные
- Выходные значения
Модули позволяют:
- Упростить и структурировать код
- Использовать одну и ту же логику в разных местах
- Упростить поддержку конфигураций
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
В Linux информация о версии дистрибутива и ядра хранится в нескольких файлах.
Этот файл есть во всех современных дистрибутивах (Debian, Ubuntu, RHEL, CentOS, Fedora).
cat /etc/os-release
Пример содержимого
/etc/os-release
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
ID=ubuntu
PRETTY_NAME="Ubuntu 22.04.3 LTS"
VERSION_ID="22.04"
HOME_URL="https://www.ubuntu.com/"
Некоторые дистрибутивы используют
/etc/issue
. cat /etc/issue
Вывод
Ubuntu 22.04.3 LTS \n \l
Этот файл содержит версию ядра и информацию о компиляции.
cat /proc/version
Вывод
Linux version 5.15.0-84-generic (buildd@lcy02-amd64-016) (gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0) #93-Ubuntu SMP
Проверить версию через
lsb_release
lsb_release -a
Вывод
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
Проверить ядро через
uname
uname -r
Вывод
5.15.0-84-generic
Можно также вывести полную информацию:
uname -a
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Для отображения всех работающих процессов в Linux можно использовать несколько команд. Самые популярные из них:
ps
, top
, htop
и pgrep
. Каждая из них имеет свои особенности.ps
выводит снимок (snapshot) текущих процессов в момент выполнения команды.Показывает все процессы, запущенные в системе, включая пользователей и системные демоны.
ps aux
Альтернативный стиль вывода всех процессов с более детальной информацией.
ps -ef
top
— интерактивная утилита для отображения всех запущенных процессов в реальном времени. Вывод обновляется автоматически.Запуск
top
htop
— более современная и удобная версия top
. Требуется предварительная установка:sudo apt install htop # Для Ubuntu/Debian
sudo yum install htop # Для CentOS/RHEL
Запуск
htop
pgrep
используется для поиска процессов по имени, но с дополнительными опциями можно вывести все процессы.Пример
pgrep -a ""
Если вы хотите посмотреть системные службы
systemctl list-units --type=service
ps aux
. top
или htop
. pgrep <имя процесса>
.Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В Kubernetes разные компоненты отвечают за запуск подов и сетевые настройки.
Получает команды от
kube-scheduler
(назначение подов) Запускает контейнеры через Container Runtime (Docker, containerd, CRI-O)
Следит за состоянием подов и перезапускает их при сбоях
systemctl status kubelet
Посмотреть логи
kubelet
journalctl -u kubelet -f
Назначает IP-адреса подам
Организует маршрутизацию трафика между подами и нодами
Настраивает Network Policies (безопасность сети)
Проверить работающие сетевые плагины
kubectl get pods -n kube-system
Вывод (если CNI работает нормально)
NAME READY STATUS RESTARTS AGE
calico-node-xyz 1/1 Running 2 3d
Если CNI не работает, поды могут застрять в
ContainerCreating
kubectl get pods
NAME READY STATUS RESTARTS AGE
web-server 0/1 ContainerCreating 0 10m
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
В Kafka replica count (replication factor) — это количество копий партиции, хранящихся на разных брокерах.
- Повышает отказоустойчивость.
- Один из брокеров — лидер, остальные — фолловеры.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
DRCP (Database Resident Connection Pooling) — это механизм в Oracle Database, который уменьшает нагрузку на базу данных за счет повторного использования соединений между клиентами и сервером. DRCP полезен для сред с большим количеством краткоживущих соединений, например, веб-приложений.
Экономит ресурсы – вместо создания новых соединений база использует пул уже существующих.
Снижает нагрузку на сервер – меньше процессов, меньше потребления памяти и CPU.
Ускоряет работу – повторное использование соединений сокращает время на установку нового подключения.
Идеально для многопоточных сред – например, PHP-приложений, где соединения краткосрочные.
Клиент (например, веб-приложение) отправляет запрос на подключение к базе. Вместо создания нового процесса сервер ищет свободное соединение в пуле DRCP.
Если в пуле есть свободное соединение, оно передается клиенту. Если нет – создается новое (если не превышен лимит).
После завершения работы клиент "освобождает" соединение. Вместо закрытия соединение возвращается в пул, чтобы быть использованным другим клиентом.
Connection Broker (диспетчер соединений) следит за балансировкой нагрузки и распределяет соединения между клиентами.
Включаем DRCP на сервере
EXEC DBMS_CONNECTION_POOL.START_POOL();
Проверяем статус пула
SELECT * FROM V$CPOOL_STATS;
Подключаем клиента с использованием DRCP
CONNECT user/password@database:pooled
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
- Использовать VPN (OpenVPN, WireGuard);
- Настроить Bastion Host;
- Применить SSH-туннелирование;
- Использовать прокси или zero-trust платформы (например, Tailscale).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
Для настройки уведомлений в изолированной сети без доступа к интернету используйте локальные инструменты и системы. Основные методы включают локальные почтовые серверы, мессенджеры и системы управления инцидентами.
sudo apt update
sudo apt install postfix
Отредактируйте
/etc/postfix/main.cf
myhostname = local.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relay_domains = $mydestination
sudo systemctl restart postfix
echo "Test email" | mail -s "Test Subject" [email protected]
Следуйте [документации](https://docs.mattermost.com/install/self-managed-install.html).
Создайте каналы и пользователей.
Используйте веб-хуки Mattermost для уведомлений.
Следуйте [документации](https://www.zabbix.com/download).
Настройте хосты, триггеры и действия.
Медиатипы: Настройте Email и SMS. Пользователи: Создайте пользователей и уведомления.
wget https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz
tar xvf prometheus-2.26.0.linux-amd64.tar.gz
cd prometheus-2.26.0.linux-amd64
./prometheus --config.file=prometheus.yml
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar xvf alertmanager-0.21.0.linux-amd64.tar.gz
cd alertmanager-0.21.0.linux-amd64
./alertmanager --config.file=alertmanager.yml
groups:
- name: example-alerts
rules:
- alert: HighCPUUsage
expr: avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) < 20
for: 2m
labels:
severity: critical
annotations:
summary: "High CPU usage detected"
description: "CPU usage is above 80% for more than 2 minutes"
global:
smtp_smarthost: 'localhost:25'
smtp_from: '[email protected]'
route:
receiver: 'email-notifications'
receivers:
- name: 'email-notifications'
email_configs:
- to: '[email protected]'
send_resolved: true
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Пользователи описаны в системном файле, содержащем имя, ID, домашний каталог и shell. Это основной источник данных о локальных пользователях.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6👍1🔥1
При запуске Ansible-плейбука через консоль командой
ansible-playbook playbook.yml
Первая строка, которая появится в консоли
PLAY [имя_плейбука] *****************************************************
Пример запуска
ansible-playbook site.yml
Вывод в консоли:
PLAY [Install and configure web server] *********************************
Если
name:
не указан в плейбуке, будет:PLAY [Unnamed Play] ****************************************************
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4💊4👍1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6
Если запустить микросервис просто в контейнере (например, через
docker run
), он будет работать как отдельный процесс, без встроенной системы управления и оркестрации. Но если запустить его в Kubernetes, он будет работать в поде (Pod).
Если нужен просто контейнер →
docker run my-app
. Если нужен отказоустойчивый микросервис → Kubernetes Pod.
Если несколько контейнеров должны работать вместе (например, приложение + sidecar) → Pod.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊9👍1
- RBAC (Role-Based Access Control) — основной встроенный механизм.
- OPA (Open Policy Agent) и Gatekeeper — для политик доступа на уровне объектов.
- kube-apiserver + Authentication + Authorization + Admission controllers.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
DNS Records – это записи, которые управляют маршрутизацией домена в интернете. Они определяют, куда направлять запросы, какие IP-адреса использовать и какие сервисы подключены к домену.
A-запись (IP-адрес домена)
example.com. IN A 192.168.1.1
CNAME-запись (псевдоним)
www.example.com. IN CNAME example.com.
MX-запись (почтовый сервер)
example.com. IN MX 10 mail.example.com.
TXT-запись (SPF, верификация)
example.com. IN TXT "v=spf1 include:_spf.google.com ~all"
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2