Перейти к содержанию

Серверы Production

Дата: 2026-01-23 Всего серверов: 10


Сводная таблица

Сервер IP внутренний IP внешний Роль CPU RAM Disk
lb-1 10.10.19.10 188.130.238.189 Load Balancer Primary 2 4 GB 40 GB
lb-2 10.10.19.11 92.47.181.152 Load Balancer Secondary 2 2 GB 20 GB
web-1 10.10.19.21 Application Server 4 8 GB 59 GB
web-2 10.10.19.22 Application Server 4 8 GB 59 GB
db-1 10.10.19.31 PostgreSQL Primary 4 16 GB 196 GB
db-2 10.10.19.32 PostgreSQL Replica 4 16 GB 157 GB
redis-1 10.10.19.40 Redis Master 2 4 GB 20 GB
voip-1 10.10.19.51 Asterisk PBX Primary 8 16 GB 57 GB
voip-2 10.10.19.52 Asterisk PBX Secondary 8 16 GB 25 GB
mon-1 10.10.19.60 Monitoring (Prometheus/Grafana) 2 4 GB 59 GB

1. lb-1 (Load Balancer Primary)

Общая информация

Параметр Значение
Hostname lb-1
Роль Load Balancer, Reverse Proxy, SIP NAT, Git Origin
IP внешний 188.130.238.189
IP внутренний 10.10.19.10, 10.10.19.100 (VIP)
ОС Ubuntu 24.04.3 LTS
CPU 2 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 4 GB
Disk 40 GB (18% used)
Uptime 5+ days

Установленное ПО

ПО Версия
nginx 1.24.0
node_exporter latest
iptables system

Запущенные сервисы

  • nginx — reverse proxy, SSL termination
  • node_exporter — метрики для Prometheus
  • sshd — удалённый доступ

Конфигурационные файлы

Файл Назначение
/etc/nginx/sites-enabled/b2g.kz Конфиг CallBox
/etc/nginx/sites-enabled/mon.b2g.kz Конфиг Grafana
/etc/iptables/rules.v4 Firewall и NAT правила
/opt/git/callbox.git Git bare repo (origin)
/opt/scripts/deploy-callbox.sh Скрипт деплоя

Особенности настройки

  • SSL: Let's Encrypt сертификаты для b2g.kz и mon.b2g.kz
  • NAT: SIP (5060/udp) и RTP (10000-20000/udp) проброс на voip-1
  • Routing: Маршрутизация между внешней и внутренней сетью
  • Git: Центральный репозиторий для деплоя

2. lb-2 (Load Balancer Secondary)

Общая информация

Параметр Значение
Hostname lb-2
Роль Load Balancer Secondary, SIP NAT
IP внешний 92.47.181.152
IP внутренний 10.10.19.11
ОС Ubuntu 24.04.3 LTS
CPU 2 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 2 GB
Disk 20 GB (24% used)
Uptime 3+ days

Установленное ПО

ПО Версия
nginx 1.24.0
node_exporter latest
iptables system

Запущенные сервисы

  • nginx — reverse proxy (резервный)
  • node_exporter — метрики для Prometheus
  • sshd — удалённый доступ

Конфигурационные файлы

Файл Назначение
/etc/nginx/sites-enabled/* Конфиг nginx
/etc/iptables/rules.v4 Firewall и NAT правила

Особенности настройки

  • NAT: SIP (5060/udp) и RTP (10000-20000/udp) проброс на voip-1
  • Backup LB: Второй публичный IP для отказоустойчивости

3. web-1 (Application Server Primary)

Общая информация

Параметр Значение
Hostname web-1
Роль Application Server (Docker)
IP 10.10.19.21
ОС Ubuntu 24.04.3 LTS
CPU 4 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 8 GB
Disk 59 GB (38% used)
Uptime 5+ days

Установленное ПО

ПО Версия
Docker 29.1.5
docker-compose included
redis-sentinel 7.x
node_exporter latest

Docker контейнеры

Контейнер Образ Порт
callbox-backend callbox-backend 8000
callbox-frontend callbox-frontend 3000

Запущенные сервисы

  • docker — контейнеризация
  • redis-sentinel — мониторинг Redis кластера
  • node_exporter — метрики для Prometheus
  • sshd — удалённый доступ

Конфигурационные файлы

Файл Назначение
/opt/callbox/docker-compose.yml Docker Compose конфиг
/opt/callbox/backend/.env Переменные окружения backend
/opt/callbox/backend/ Исходный код backend
/opt/callbox/backend/call-center-frontend/ Исходный код frontend

Особенности настройки

  • Healthcheck: Backend проверяется каждые 30 секунд
  • Volumes: Записи звонков монтируются в /var/spool/asterisk/monitor
  • SSH Keys: Ключи для синхронизации с Asterisk

4. web-2 (Application Server Secondary)

Общая информация

Параметр Значение
Hostname web-2
Роль Application Server (Docker)
IP 10.10.19.22
ОС Ubuntu 24.04.3 LTS
CPU 4 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 8 GB
Disk 59 GB (30% used)
Uptime 5+ days

Установленное ПО

ПО Версия
Docker 29.1.5
docker-compose included
redis-sentinel 7.x
node_exporter latest

Docker контейнеры

Контейнер Образ Порт
callbox-backend callbox-backend 8000
callbox-frontend callbox-frontend 3000

Запущенные сервисы

  • docker — контейнеризация
  • redis-sentinel — мониторинг Redis кластера
  • node_exporter — метрики для Prometheus

Конфигурационные файлы

Аналогично web-1.

Особенности настройки

Идентична web-1 для обеспечения отказоустойчивости.


5. db-1 (PostgreSQL Primary)

Общая информация

Параметр Значение
Hostname db-1
Роль PostgreSQL Primary (Master)
IP 10.10.19.31
ОС Ubuntu 24.04.3 LTS
CPU 4 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 16 GB
Disk 196 GB (4% used)
Uptime 5+ days

Установленное ПО

ПО Версия
PostgreSQL 16.11
Patroni 4.1.0
etcd 3.x
node_exporter latest

Базы данных

База Размер Назначение
asterisk 9764 kB Основная БД приложения
callbox 7500 kB CallBox данные

Запущенные сервисы

  • postgresql — СУБД
  • patroni — HA оркестрация PostgreSQL
  • etcd-cluster — distributed key-value store
  • node_exporter — метрики для Prometheus

Конфигурационные файлы

Файл Назначение
/etc/patroni/patroni.yml Конфиг Patroni
/etc/postgresql/16/main/postgresql.conf Конфиг PostgreSQL
/etc/postgresql/16/main/pg_hba.conf Правила аутентификации

Особенности настройки

  • Patroni: Автоматический failover
  • etcd: Кластер из 3 нод (db-1, db-2, mon-1)
  • pg_is_in_recovery: false (primary)

6. db-2 (PostgreSQL Replica)

Общая информация

Параметр Значение
Hostname db-2
Роль PostgreSQL Replica (Standby)
IP 10.10.19.32
ОС Ubuntu 24.04.3 LTS
CPU 4 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 16 GB
Disk 157 GB (5% used)
Uptime 5+ days

Установленное ПО

ПО Версия
PostgreSQL 16.11
Patroni 4.1.0
etcd 3.x
node_exporter latest

Запущенные сервисы

  • postgresql — СУБД (replica)
  • patroni — HA оркестрация
  • etcd-cluster — distributed key-value store
  • node_exporter — метрики для Prometheus

Конфигурационные файлы

Аналогично db-1.

Особенности настройки

  • pg_is_in_recovery: true (replica)
  • Streaming replication: от db-1

7. redis-1 (Redis Master)

Общая информация

Параметр Значение
Hostname redis-1
Роль Redis Master
IP 10.10.19.40
ОС Ubuntu 24.04.3 LTS
CPU 2 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 4 GB
Disk 20 GB (36% used)
Uptime 5+ days

Установленное ПО

ПО Версия
Redis 7.0.15
Redis Sentinel 7.0.15
node_exporter latest

Запущенные сервисы

  • redis-server — in-memory data store
  • redis-sentinel — мониторинг и failover
  • node_exporter — метрики для Prometheus

Конфигурационные файлы

Файл Назначение
/etc/redis/redis.conf Конфиг Redis
/etc/redis/sentinel.conf Конфиг Sentinel

Особенности настройки

  • Sentinel: Мониторит кластер "callbox-redis"
  • Bind: 10.10.19.40:6379 и 127.0.0.1:6379
  • Auth: Требуется аутентификация

8. voip-1 (Asterisk PBX Primary)

Общая информация

Параметр Значение
Hostname voip-1
Роль Asterisk PBX Primary
IP 10.10.19.51
ОС Ubuntu 24.04.3 LTS
CPU 8 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 16 GB
Disk 57 GB (16% used)
Uptime 5+ days

Установленное ПО

ПО Версия
Asterisk 20.17.0
ODBC PostgreSQL Unicode
node_exporter latest

Запущенные сервисы

  • asterisk — IP PBX
  • node_exporter — метрики для Prometheus

Конфигурационные файлы

Файл Назначение
/etc/asterisk/asterisk.conf Основной конфиг
/etc/asterisk/pjsip.conf SIP конфигурация
/etc/asterisk/extensions.conf Dialplan
/etc/asterisk/queues.conf Очереди
/etc/asterisk/res_odbc.conf ODBC подключение
/etc/odbc.ini DSN конфигурация

Особенности настройки

  • ODBC Realtime: Конфигурация хранится в PostgreSQL (db-1)
  • AMI: Порт 5038 для интеграции с web-приложением
  • NAT: SIP/RTP трафик приходит через lb-1/lb-2

9. voip-2 (Asterisk PBX Secondary)

Общая информация

Параметр Значение
Hostname voip-2
Роль Asterisk PBX Secondary
IP 10.10.19.52
ОС Ubuntu 24.04.3 LTS
CPU 8 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 16 GB
Disk 25 GB (37% used)
Uptime 5+ days

Установленное ПО

ПО Версия
Asterisk 20.17.0
ODBC PostgreSQL Unicode
node_exporter latest

Запущенные сервисы

  • asterisk — IP PBX (резервный)
  • node_exporter — метрики для Prometheus

Конфигурационные файлы

Аналогично voip-1.

Особенности настройки

  • Резервный Asterisk сервер
  • Использует ту же БД (db-1)

10. mon-1 (Monitoring)

Общая информация

Параметр Значение
Hostname mon-1
Роль Monitoring (Prometheus, Grafana)
IP 10.10.19.60
ОС Ubuntu 24.04.3 LTS
CPU 2 vCPU (Intel Xeon Gold 6326 @ 2.90GHz)
RAM 4 GB
Disk 59 GB (34% used)
Uptime 3+ days

Установленное ПО

ПО Версия
Prometheus latest
Grafana 12.3.1
Docker 29.1.5
etcd 3.x
node_exporter latest

Запущенные сервисы

  • prometheus — сбор метрик (порт 9090)
  • grafana-server — визуализация (порт 3000)
  • etcd — часть etcd кластера
  • docker — для дополнительных сервисов
  • node_exporter — метрики для Prometheus

Конфигурационные файлы

Файл Назначение
/etc/prometheus/prometheus.yml Конфиг Prometheus
/etc/grafana/grafana.ini Конфиг Grafana

Prometheus Targets

Все 10 серверов мониторятся через node_exporter: - 10.10.19.10:9100 (lb-1) - 10.10.19.11:9100 (lb-2) - 10.10.19.21:9100 (web-1) - 10.10.19.22:9100 (web-2) - 10.10.19.31:9100 (db-1) - 10.10.19.32:9100 (db-2) - 10.10.19.40:9100 (redis-1) - 10.10.19.51:9100 (voip-1) - 10.10.19.52:9100 (voip-2) - 10.10.19.60:9100 (mon-1)

Ansible

  • ansible-core: 2.16.3
  • Путь: /opt/ansible/callbox-ansible/
  • Playbooks: deploy.yml, check-status.yml, sync-all.yml
  • Назначение: Управляет деплоем всей инфраструктуры CallBox

Особенности настройки

  • Grafana URL: https://mon.b2g.kz (через lb-1)
  • etcd: Третья нода кластера etcd
  • Ansible: Центральная точка управления деплоем и синхронизацией серверов