feat: Добавлена команда make ps и улучшен health-check

- Добавлена команда make ps для просмотра статуса контейнеров Docker
- Улучшен health-check с паузами для ClickHouse сервисов:
  - 30 секунд ожидания перед проверкой ClickHouse реплик
  - 10 секунд ожидания перед проверкой Load Balancer
- Исправлен health-check: заменен localhost на 127.0.0.1 для корректной работы внутри контейнеров
- Обновлена документация с информацией о новой команде ps
- Добавлены примечания о паузах в health-check

Автор: Сергей Антропов, сайт: https://devops.org.ru
This commit is contained in:
Sergey Antropoff 2025-09-10 20:00:22 +03:00
parent 95c7bc6432
commit 800fcde880
2 changed files with 18 additions and 6 deletions

View File

@ -5,7 +5,7 @@ SHELL := /bin/bash
PROJECT_NAME := sensus-infra
COMPOSE_FILE := docker-compose.yml
.PHONY: help setup up down restart status logs clean
.PHONY: help setup up down restart status logs clean ps
.PHONY: kafka-topics kafka-ui postgres-cli clickhouse-cli
.PHONY: health-check backup restore ssl-generate ssl-clean ssl-info
.PHONY: docker-install docker-update docker-compose-install docker-compose-update docker-check
@ -143,6 +143,10 @@ restart: ## Перезапустить всю инфраструктуру
@sleep 5
@$(MAKE) up
ps: ## Показать статус контейнеров Docker
@echo "📊 Статус контейнеров Docker:"
docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}"
# =============================================================================
# МОНИТОРИНГ И ДИАГНОСТИКА
# =============================================================================
@ -162,12 +166,16 @@ health-check: ## Проверить здоровье сервисов
@docker exec sensus-kafka kafka-broker-api-versions --bootstrap-server localhost:9092 >/dev/null 2>&1 && echo "✅ Kafka доступен" || echo "❌ Kafka недоступен"
@echo "PostgreSQL:"
@docker exec sensus-postgres pg_isready -U sensus -d sensus >/dev/null 2>&1 && echo "✅ PostgreSQL доступен" || echo "❌ PostgreSQL недоступен"
@echo "⏳ Ожидание готовности ClickHouse (30 секунд)..."
@sleep 30
@echo "ClickHouse-1:"
@docker exec sensus-clickhouse-1 wget --no-verbose --tries=1 --spider http://localhost:8123/ping >/dev/null 2>&1 && echo "✅ ClickHouse-1 доступен" || echo "❌ ClickHouse-1 недоступен"
@docker exec sensus-clickhouse-1 wget --no-verbose --tries=1 --spider http://127.0.0.1:8123/ping >/dev/null 2>&1 && echo "✅ ClickHouse-1 доступен" || echo "❌ ClickHouse-1 недоступен"
@echo "ClickHouse-2:"
@docker exec sensus-clickhouse-2 wget --no-verbose --tries=1 --spider http://localhost:8123/ping >/dev/null 2>&1 && echo "✅ ClickHouse-2 доступен" || echo "❌ ClickHouse-2 недоступен"
@docker exec sensus-clickhouse-2 wget --no-verbose --tries=1 --spider http://127.0.0.1:8123/ping >/dev/null 2>&1 && echo "✅ ClickHouse-2 доступен" || echo "❌ ClickHouse-2 недоступен"
@echo "⏳ Ожидание готовности Load Balancer (10 секунд)..."
@sleep 10
@echo "ClickHouse Load Balancer:"
@docker exec sensus-clickhouse-lb wget --no-verbose --tries=1 --spider http://localhost:80/health >/dev/null 2>&1 && echo "✅ ClickHouse LB доступен" || echo "❌ ClickHouse LB недоступен"
@docker exec sensus-clickhouse-lb wget --no-verbose --tries=1 --spider http://127.0.0.1:80/health >/dev/null 2>&1 && echo "✅ ClickHouse LB доступен" || echo "❌ ClickHouse LB недоступен"
# =============================================================================
# РАБОТА С KAFKA

View File

@ -93,6 +93,7 @@ make health-check # Проверка здоровья сервисов
make up # Запуск инфраструктуры
make down # Остановка инфраструктуры
make restart # Перезапуск инфраструктуры
make ps # Статус контейнеров Docker
make status # Статус сервисов
make logs # Логи всех сервисов
```
@ -107,6 +108,7 @@ make logs # Логи всех сервисов
| `make up` | Запустить инфраструктуру |
| `make down` | Остановить инфраструктуру |
| `make restart` | Перезапустить инфраструктуру |
| `make ps` | Показать статус контейнеров Docker |
| `make status` | Показать статус всех сервисов |
| `make logs` | Показать логи всех сервисов |
| `make health-check` | Проверить здоровье сервисов |
@ -317,8 +319,10 @@ make health-check
- ZooKeeper
- Kafka
- PostgreSQL
- ClickHouse (обе реплики)
- ClickHouse Load Balancer
- ClickHouse (обе реплики) - с паузой 30 секунд для полной инициализации
- ClickHouse Load Balancer - с паузой 10 секунд
**Примечание:** Команда включает паузы для ClickHouse сервисов, так как они требуют времени для полной инициализации после запуска.
### Логи
```bash