Admin Future
241 subscribers
51 photos
1 video
4 files
120 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
От Пингов к Инсайтам: Развертывание Стека Observability (Prometheus, Loki, Grafana)

Традиционный мониторинг отвечает на вопрос «Что сломалось?». Наблюдаемость (observability) отвечает на вопрос «Почему это сломалось?». Она строится на трех столпах: метриках (числа), логах (события) и трейсах (путь запроса).

Этот гайд проведет вас по полному циклу развертывания золотого стандарта open-source для связки метрик и логов.

1️⃣ Шаг 1: Установка Prometheus и Node Exporter (Метрики)
▪️ Prometheus: Это сервер, который будет опрашивать (scrape) источники метрик. Скачайте и запустите его.
▪️ Node Exporter: Это агент, который вы ставите на каждый наблюдаемый сервер. Он собирает системные метрики (CPU, RAM, диск, сеть) и отдает их Prometheus'у.

Существуют сотни других экспортеров для баз данных, веб-серверов и оборудования, что делает Prometheus универсальной платформой.

▪️ Конфигурация prometheus.yml: Добавьте Node Exporter как цель.

YAML

scrape_configs:
- job_name: 'node_exporter_metrics'
static_configs:
- targets: ['your_server_ip:9100']

После запуска проверьте метрики в веб-интерфейсе Prometheus (http://<prometheus_ip>:9090).

2️⃣ Шаг 2: Установка Loki и Promtail (Логи)
▪️ Loki: Сервер, который принимает и хранит ваши логи.
▪️ Promtail: Агент, который ставится на серверы, "читает" лог-файлы (/var/log/*.log), добавляет к ним метки (labels) и отправляет в Loki.

Ключевое отличие Loki от ELK: он не индексирует всё содержимое логов, а только метки (например, job="nginx"). Это делает его чрезвычайно экономичным и быстрым.

▪️ Конфигурация promtail-config.yml:

YAML

server:
http_listen_port: 9080

clients:
- url: http://<loki_ip>:3100/loki/api/v1/push

scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
host: your_server_hostname
__path__: /var/log/*.log

3️⃣ Шаг 3: Установка Grafana и Интеграция
▪️ Установите и запустите Grafana — наш будущий центр управления.
▪️ В веб-интерфейсе (http://<grafana_ip>:3000) перейдите в Connections > Data sources.
▪️ Добавьте Prometheus, указав его URL.
▪️ Добавьте Loki, указав его URL.

4️⃣ Шаг 4: Магия Корреляции Данных
Теперь самое главное. На одном экране мы видим график метрик и связанные с ним логи.

Сценарий: Пользователи жалуются на тормоза сайта.

Вы открываете дашборд в Grafana и видите пик загрузки CPU (данные из Prometheus).

Прямо под этим графиком у вас панель с логами из Loki, отфильтрованными по job="nginx" и level="error".

Вы видите, что в момент пика CPU в логах Nginx появился шквал ошибок upstream timed out.

Вывод: Проблема не в сервере, а в бэкенд-приложении. Диагностика заняла минуты, а не часы.

План действий в Grafana:
▪️ Импортируйте готовый дашборд для Node Exporter (ID: 1860).
▪️ Добавьте на него новую панель с источником данных Loki.
▪️ Используйте LogQL-запрос для фильтрации, например: {host="$hostname"} |= "error".

#Observability #Monitoring #Prometheus #Loki #Grafana #DevOps
Логи без боли: Как поднять централизованный сбор логов за 15 минут с Loki

Каждый админ знает эту рутину: ssh server1, grep /var/log/some.log, потом ssh server2, grep ... и так далее. Это медленно, неудобно, и почти невозможно сопоставить события с разных машин.

Многие слышали про стек ELK, но его сложность и ресурсоемкость отпугивают. Но есть современное решение — Grafana Loki.

▪️ Секретный соус Loki:
Главное отличие Loki от ELK: он не индексирует полное содержимое логов. Он индексирует только небольшой набор меток (labels), которые вы сами задаете (например: hostname="web01", app="nginx"). Сами строки логов сжимаются и хранятся как есть.

Аналогия: Представьте, что ELK — это поиск по содержанию всей книги, а Loki — это сверхбыстрый поиск по оглавлению и ярлыкам на полях.

▪️ Рецепт на 15 минут (с Docker Compose):
Этот docker-compose.yml поднимет весь необходимый стек: Loki для хранения, Promtail для сбора логов и Grafana для визуализации.

YAML

version: "3"

networks:
loki:

services:
loki:
image: grafana/loki:latest
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
networks:
- loki

promtail:
image: grafana/promtail:latest
volumes:
- /var/log:/var/log
- ./promtail-config.yml:/etc/promtail/config.yml
command: -config.file=/etc/promtail/config.yml
networks:
- loki

grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
networks:
- loki

▪️ Что нужно сделать:

Сохраните текст выше в файл docker-compose.yml.

Рядом создайте файл promtail-config.yml (можно взять из нашего предыдущего поста про стек Observability).

Запустите: docker-compose up -d.

Откройте Grafana (http://localhost:3000), добавьте Loki как источник данных (http://loki:3100) и перейдите в раздел Explore.

Всё! Ваши логи с хост-машины уже там. Вы можете фильтровать их по меткам и искать нужные события со скоростью света. Это демократизация централизованного сбора логов, доступная каждому.

#Loki #Grafana #Observability #Logging #DevOps #Docker #SysAdmin
Проект на выходные: top — мертв. Строим свой SRE-мониторинг на Prometheus + Grafana

htop — это отлично. Но он показывает, что происходит сейчас. Он не скажет вам, что "каждую ночь в 3:05 CPU подскакивает до 100%".

Путь архитектора — это Observability. Вам нужны данные во времени.

Prometheus + Grafana — это "золотой стандарт" SRE и DevOps.

Prometheus: Собирает и хранит метрики (CPU, RAM, I/O, кастомные метрики) в базе данных временных рядов.

Grafana: Визуализирует эти данные в красивые, живые дашборды.

Как запустить за 5 минут (в Docker): Вам нужен docker-compose.yml:
YAML

version: '3.8'
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"

grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
depends_on:
- prometheus

Дальнейшие шаги:

Запустите docker-compose up -d.
Настройте Grafana (порт 3000), добавив Prometheus (порт 9090) как DataSource.
Начните собирать метрики с хостов, установив на них node_exporter (для Linux) или windows_exporter (для Windows).

Взгляд архитектора: Вы переходите от реактивного ("сервер упал") к проактивному ("мы видим, что место на диске закончится через 3 дня") мониторингу.

#linux #devops #sre #prometheus #grafana #docker #monitoring #weekendproject
🤡3🔥2🤔2❤1
🔍 ELK vs Loki: Как не утонуть в логах и не разорить компанию на дисках

Логи — это «черный ящик» твоего сервера. Но когда серверов 50, а контейнеров 500, смотреть их по отдельности невозможно.
Нужно решение, которое соберет всё в одну кучу и даст удобный поиск.


🏛️ ELK Stack (Elasticsearch, Logstash, Kibana)

Это «золотой стандарт» индустрии.

* Философия: Индексируем абсолютно каждое слово в каждой строке лога.
* Плюсы: Мгновенный полнотекстовый поиск. Мощнейшая аналитика и визуализация. Ты можешь найти ошибку в конкретном запросе среди миллиарда записей за доли секунды.
* Минусы: Прожорливость. Elasticsearch обожает оперативную память (RAM) и «кушает» её гигабайтами. Индексы занимают много места на диске.


Пример конфига Logstash (Input/Filter):


input {
beats { port => 5044 }
}
filter {
grok { match => { "message" => "%{COMBINEDAPACHELOG}" } }
}
output {
elasticsearch { hosts => ["localhost:9200"] }
}



⚡ Grafana Loki

«Prometheus для логов». В 2026 году Loki стал выбором номер один для Kubernetes и облачных сред.

* Философия: Мы не индексируем текст. Мы индексируем только метаданные (метки: имя сервера, имя контейнера, уровень лога). Сами логи сжимаются и лежат в дешевом объектном хранилище (S3).
* Плюсы: Потребляет в 10 раз меньше ресурсов, чем Elasticsearch. Идеально интегрируется в Grafana рядом с метриками. Хранение стоит копейки.
* Минусы: Поиск по самому тексту лога (grep) медленнее, чем в ELK, так как системе приходится «на лету» распаковывать чанки данных.


Пример конфига Promtail (агент Loki):


scrape_configs:
- job_name: system
static_configs:
- targets: [localhost]
labels:
job: varlogs
__path__: /var/log/*.log



---

📊 Что выбрать сисадмину?

| Характеристика | ELK (Elasticsearch) | Loki |
| --- | --- | --- |
| Индексация | Полный текст (Full-text) | Только метки (Labels) |
| Потребление RAM | Очень высокое | Низкое |
| Стоимость хранения | Дорого (нужны быстрые диски) | Дешево (S3/MinIO) |
| Сложность настройки | Высокая | Средняя |
| Лучшее применение | Анализ бизнес-данных, аудит | Технический мониторинг, K8s |

Вердикт Admin Future: Если тебе нужно быстро грепать логи из контейнеров и ты не хочешь тратить на сервер мониторинга больше ресурсов, чем на сами сервисы — ставь Loki. Если же ты работаешь в банке или крупном e-commerce, где нужно строить сложные дашборды по каждой транзакции — твой выбор ELK.

#logging #elk #loki #grafana #devops #sysadmin #monitoring #admin_future
❤2
Зачем это важно для карьеры:
Разрыв между "администратором который смотрит на Zabbix" и "инженером который строит observability-пайплайн" в 2026 году — это разрыв в грейде и зарплате. Настройка занимает 4–6 часов в первый раз. Это звучит много — пока не сравниваешь с восьмичасовым разбором инцидента без нормальных данных.

Итог: мониторинг отвечает на вопрос "сломалось или нет". Observability отвечает на вопрос "почему сломалось и где именно". В современной инфраструктуре достаточно первого только для очень простых систем. Для всего остального нужна observability. И строить её уже можно с нуля за один вечер.

#skills #observability #prometheus #grafana #opentelemetry #sysadmin #admin_future