Серверы 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: Центральная точка управления деплоем и синхронизацией серверов