Skip to content

Complete Server Inventory

Data Source: Zabbix Monitoring System Last Updated: 2025-11-15 Total Servers: 60+ Active Systems


Summary Statistics

Category Count Notes
API Servers 7 Windows-based application servers
Load Balancers 6 pairs HAProxy HA pairs for different services
SQL Server Databases 16+ Primary + 6 replicas + specialized DBs
MongoDB Instances 8 390M+ documents across all instances
Supplier Proxy APIs 7 Dedicated supplier integration layer
Hypervisors 5 XCP-ng and Proxmox
Total Active IPs 60+ In 10.32.8.0/24 network

MongoDB Infrastructure

  • 8 MongoDB Servers serving different purposes
  • 390+ million documents total
  • Largest: Supplier Performance (216M docs)
  • NOT using replica sets - each server has unique data

Core Application Infrastructure

Load Balancer Layer (HA Pairs)

Main Application HAProxy

Server IP Role Status
HAProxy-Master 10.32.8.36 Primary LB ✅ Active
HAProxy-Standby 10.32.8.38 Standby LB ✅ Active

VIP/Floating IP: TBD Purpose: Load balancing for 7 API servers Health Check: Every 10 seconds

SQL Replica HAProxy Cluster

Server IP Role Status
Haproxy-SqlReplica-1-Master 10.32.8.7 Primary LB ✅ Active
Haproxy-SqlReplica-2-Standby 10.32.8.8 Standby LB ✅ Active
Cluster VIP 10.32.8.5 Floating IP ✅ Active

Purpose: Load balancing across 6 SQL Server replicas

OTH Service HAProxy

Server IP Role Status
OTH-HaProxy-Master 10.32.8.106 Primary LB ✅ Active
OTH-HaProxy-Standby 10.32.8.107 Standby LB ✅ Active

Purpose: Load balancing for OTH (Online Travel Hub) service


Application Servers (7 Windows API Servers)

Server IP Address Hostname Group Status
API-1 10.32.8.134 API-1 Applications ✅ Active
API-2 10.32.8.135 API-2 Applications ✅ Active
API-3 10.32.8.139 API-3 Applications ✅ Active
API-4 10.32.8.137 API-4 Applications ✅ Active
API-5 10.32.8.35 API-5 Applications ✅ Active
API-6 10.32.8.166 API-6 Applications ✅ Active
API-7 10.32.8.167 API-7 Applications ✅ Active

OS: Windows Server Framework: .NET 9 / ASP.NET Core Load Balanced By: HAProxy-Master (10.32.8.36)


Database Infrastructure

SQL Server - Primary & Replicas

Primary Database

Server IP Port Database Purpose
Main Database 10.32.8.130 1988 withinearthUpdated Primary production DB

Read Replicas (6 instances)

Server IP Port Database Purpose
SQL-Replica-1 10.32.8.5 1433 withinearthUpdated Read replica (via HAProxy VIP)
SQL-Replica-2 10.32.8.143 1433 withinearthUpdated Read replica
SQL-Replica-3 10.32.8.149 1433 withinearthUpdated Read replica
SQL-Replica-4 10.32.8.85 1433 withinearthUpdated Read replica
SQL-Replica-5 10.32.8.37 1433 withinearthUpdated Read replica
SQL-Replica-6 10.32.8.39 1433 withinearthUpdated Read replica

Replication: SQL Server replication Access: Via HAProxy cluster VIP 10.32.8.5

Specialized SQL Databases

Server IP Port Database Purpose
LogServer-1 10.32.8.140 1988 savesupplierlog Supplier search logs
API-LogServer-VM 10.32.8.152 1433 Logtracking API request/response logs
LogServer-2-From main DB 10.32.8.16 1433 ErrorLog Error and exception logs
LogServer-3-Agoda-Logs 10.32.8.88 1433 Agoda logs Agoda supplier logs
LogServer (180VM) 10.32.8.180 1433 Logtracking Additional log tracking
CM-Server-1 10.32.8.142 1433 Cache Manager Connection manager DB
CM-Server-2 10.32.8.34 1433 Cache Manager CM replica

OTH (Online Travel Hub) Databases

Server IP Port Database Purpose
OTH-MASTER 10.32.8.11 1433 OTH Database OTH primary
OTH-2 10.32.8.86 1433 OTH Database OTH replica
OTH-3 10.32.8.40 1433 OTH Database OTH replica

MongoDB Infrastructure (8 Servers)

Search Key Storage Servers (3 Independent Servers - NOT Replica Set)

Server IP Database Collection Documents Purpose
MongoDB-1 10.32.8.51 withinearth XConnect_Live 1,668,076 Search keys storage
MongoDB-2 10.32.8.52 withinearth XConnect_Live 799,451 Search keys storage
MongoDB-3 10.32.8.53 withinearth XConnect_Live ~3,244,107 Search keys storage

Important

These are NOT replica sets - each server stores different search keys

Read Strategy: Cascading failover (tries 51 → 52 → 53)

Write Distribution: To be determined (under investigation)

Purpose: Store search keys for hotel availability searches (30-60 min retention)

Supplier Search Logs

Server IP Database Collection Documents Purpose
MongoDB-SupplierLog 10.32.8.18 SupplierSearchLog SupplierSearchLog 4 Supplier search logs

Status: Active (very low current usage)

Room Mapping MongoDB

Server IP Database Collection Documents Purpose
MongoDB-RoomMapping 10.32.8.96 RoomMapping ROOM_Mapping_Xconnect 5,752,410 Main room mappings
RoomMapping Gimmo_ROOM_Mapping_Xconnect - Gimmonix room mappings
RoomMapping Gimmo_ROOM_Mapping_Xconnect_DAG2 - Gimmonix DAG2 mappings
Booking_com_RoomMapping Booking_com_ROOM_Mapping_Xconnect 2,781,903 Booking.com specific mappings

Total Documents: ~8.5 million room mappings Purpose: Standardize room types across different suppliers Status: Heavy usage

Unmapped Rooms MongoDB

Server IP Database Collection Documents Purpose
MongoDB-UnmappedRooms 10.32.8.101 Row_RoomsForRoomMapping ROOM_Mapping_Xconnect 33,340 Rooms awaiting mapping
HotelRoomDB - - Hotel room database

Purpose: Queue of rooms that need to be mapped Status: Active

API Request/Response Logs MongoDB

Server IP Database Collection Documents Purpose
MongoDB-APILogs 10.32.8.75 SaveAPIRQRSLog SaveAPIRQRSLog_Xconnect ~161,615,869 API RQ/RS debugging logs

Total Documents: 161.6 million Purpose: Complete API request/response logging for debugging Added: 19-FEB-2025 Status: Very heavy usage

Supplier Performance MongoDB

Server IP Database Collection Documents Purpose
MongoDB-SupplierPerf 10.32.8.74 SupplierPerformanceReport SPRData ~215,982,940 Supplier analytics
SupplierPerformanceReport SPRData_test - Testing data

Total Documents: 216 million (LARGEST MongoDB instance) Purpose: Supplier performance metrics and analytics Added: 27-FEB-2025 Status: Heaviest usage


MongoDB Summary: - Total Servers: 8 MongoDB instances - Total Databases: 11 databases - Total Documents: ~390 million documents - Largest Instance: Supplier Performance (216M docs) - Second Largest: API Logs (162M docs) - Purpose-Built: Each MongoDB serves a specific function


Cache & Message Queue

Server IP Port Type Purpose Status
Redis 10.32.8.205 6379 Redis Cache In-memory cache (not currently used) ⚠️ Not in use
RabbitMQ 10.32.8.90 5672 Message Queue Async job processing ✅ Active

Redis Status: ⚠️ Not currently used in production RabbitMQ Status: ✅ Active and in production (single instance, VM on XCP-1)


Supplier Integration Layer

Supplier Proxy API Servers (7 instances)

Server IP Purpose Status
supplierproxy-api-1 10.32.8.41 Supplier API proxy ✅ Active
supplierproxy-api-2 10.32.8.42 Supplier API proxy ✅ Active
supplierproxy-api-3 10.32.8.43 Supplier API proxy ✅ Active
supplierproxy-api-4 10.32.8.48 Supplier API proxy ✅ Active
supplierproxy-api-5 10.32.8.45 Supplier API proxy ✅ Active
supplierproxy-api-6 10.32.8.46 Supplier API proxy ✅ Active
supplierproxy-api-7 10.32.8.47 Supplier API proxy ✅ Active

Supplier Gateway

Server IP Purpose Status
SupplierProxy-1-Gateway 10.32.8.3 Supplier API gateway ✅ Active

Purpose: Isolate supplier API calls, rate limiting, request aggregation Languages: Node.js, Python


Supporting Infrastructure

Business Intelligence & Analytics

Server IP Purpose Status
Tableau 10.32.8.129 BI dashboards ✅ Active
B2B Master 10.32.8.133 B2B platform ✅ Active
B2B Haproxy 10.32.8.251 B2B load balancer ✅ Active
ML-AI-Withinearth_server 10.32.8.250 ML/AI workloads ✅ Active

Logging & Monitoring

Server IP Purpose Status
Zabbix Server 10.32.8.148 Primary monitoring (Zabbix) ✅ Active
UptimeKuma 10.32.8.102 Uptime monitoring ✅ Active
Documentation Server 10.32.8.209 MkDocs documentation ✅ Active (temporary)
ELK Haproxy Log 10.32.8.132 HAProxy log aggregation ✅ Active
ELK - Proxy Supplier Logs 10.32.8.84 Supplier log analysis ✅ Active

Other Services

Server IP Purpose Status
Reverse Proxy 10.32.8.99 Reverse proxy ✅ Active
Hotel-content 10.32.8.179 Hotel content API ✅ Active
NewHotelMapping_Gimmopnix 10.32.8.56 Hotel mapping service ✅ Active
haproxy UI dev server 10.32.8.235 HAProxy UI dev ✅ Active

Hypervisor Infrastructure

XCP-ng Pool (3-Node HA Cluster)

Server IP UUID VMs Running Status
xcp-1 10.32.8.22 60863597-4e9b... 11 VMs ✅ Active
xcp-2 10.32.8.23 b343125a-f08f... 17 VMs ✅ Active
xcp-3 10.32.8.24 21ad9481-14b5... 14 VMs ✅ Active

Pool Configuration: - Cluster Type: XCP-ng HA Pool - Total VMs: 40+ running VMs - Management: Xen Orchestra (XOA) - Live Migration: Enabled - Shared Storage: Yes

Key VMs by Hypervisor:

XCP-1 (10.32.8.22): - HaProxy-SQLReplica-LB-1 - Mongodb-RoomMapping-Production - SupplierProxy-Api-3 - OTH-3, Redis-OTH - CM-1, RabbitMQ - SQL Replica 5

XCP-2 (10.32.8.23): - MongoDB-ReCheck-2 (10.32.8.52) - SupplierProxy-Api-5 - OTH-Haproxy-Master/Standby - haproxy-SQL-LB-2 - ELK-SupplierLogs - MariaDB - SupplierProxy-Gateway-2

XCP-3 (10.32.8.24): - MongoDB-APILogs-1 (10.32.8.75) - MongoDB-Supplier-logs (10.32.8.18) - UptimeKuma (10.32.8.102) - API-LogServer-152 - Hotel Content API - gitlab, Internal Management

Proxmox Management

Server IP Purpose Status
Haproxy-Proxmox-1 10.32.8.13 Proxmox HAProxy ✅ Active
Haproxy-Proxmox-2 10.32.8.14 Proxmox HAProxy ✅ Active

Note: HAProxy Aloha instances run as VMs on Proxmox hosts


Load Testing Infrastructure

Server IP Purpose Status
LoadTest VM -1 10.32.8.25 Load testing ✅ Active
LoadTest - VM -2 10.32.8.31 Load testing ✅ Active
LoadTest-VM-3 10.32.8.32 Load testing ⚠️ Disabled
LoadTest-VM-4 10.32.8.30 Load testing ⚠️ Disabled

Network Configuration

IP Address Allocation

10.32.8.0/24 Network
├── 10.32.8.3      - Supplier Gateway
├── 10.32.8.5      - SQL Replica VIP (HAProxy cluster)
├── 10.32.8.7-8    - SQL Replica HAProxy pair
├── 10.32.8.9      - SQL Replica 3
├── 10.32.8.11     - OTH Master
├── 10.32.8.13-14  - Proxmox HAProxy pair
├── 10.32.8.16     - LogServer 2
├── 10.32.8.18     - MongoDB Expedia Logs
├── 10.32.8.22-24  - XCP hypervisors
├── 10.32.8.25,30-32 - Load test VMs
├── 10.32.8.34     - CM Server 2
├── 10.32.8.35     - API-5
├── 10.32.8.36     - HAProxy Master ⭐
├── 10.32.8.37     - SQL Replica 5
├── 10.32.8.38     - HAProxy Standby ⭐
├── 10.32.8.39     - SQL Replica 6
├── 10.32.8.40     - OTH-3
├── 10.32.8.41-48  - Supplier Proxy APIs (7 instances)
├── 10.32.8.51-53  - MongoDB Cache Cluster (3 nodes)
├── 10.32.8.56     - Hotel Mapping
├── 10.32.8.74     - MongoDB Supplier Performance
├── 10.32.8.75     - MongoDB API Logs
├── 10.32.8.84     - ELK Supplier Logs
├── 10.32.8.85     - SQL Replica 4
├── 10.32.8.86     - OTH-2
├── 10.32.8.88     - LogServer Agoda
├── 10.32.8.90     - RabbitMQ
├── 10.32.8.96     - MongoDB Room Mapping
├── 10.32.8.99     - Reverse Proxy
├── 10.32.8.101    - MongoDB Supplier Room Data
├── 10.32.8.102    - UptimeRobot
├── 10.32.8.105-107 - OTH HAProxy cluster
├── 10.32.8.129    - Tableau
├── 10.32.8.130    - Main Database (Primary) ⭐
├── 10.32.8.132    - ELK HAProxy Logs
├── 10.32.8.133    - B2B Master
├── 10.32.8.134-135 - API-1, API-2
├── 10.32.8.137    - API-4
├── 10.32.8.139    - API-3
├── 10.32.8.140    - LogServer-1
├── 10.32.8.142    - CM Server 1
├── 10.32.8.143    - SQL Replica 1
├── 10.32.8.149    - SQL Replica 2
├── 10.32.8.152    - API LogServer VM
├── 10.32.8.166-167 - API-6, API-7
├── 10.32.8.179    - Hotel Content
├── 10.32.8.148    - Zabbix Server (Primary Monitoring) ⭐
├── 10.32.8.180    - LogServer 180VM
├── 10.32.8.205    - Redis (not in use)
├── 10.32.8.209    - Documentation Server (MkDocs - temporary)
├── 10.32.8.235    - HAProxy UI Dev
├── 10.32.8.240    - salman-linux (dev)
├── 10.32.8.250    - ML/AI Server
└── 10.32.8.251    - B2B HAProxy

High Availability Summary

✅ HA Configured

Service HA Method Failover
Main API Load Balancer Active/Standby HAProxy Manual/VRRP
SQL Replica Access HAProxy Cluster (VIP) Automatic
MongoDB Cache 3-node Replica Set Automatic
OTH Service HAProxy Active/Standby Manual/VRRP

⚠️ Single Points of Failure

Service Risk Recommendation
Primary SQL Server (10.32.8.130) HIGH Implement Always On AG
Redis (10.32.8.205) MEDIUM Setup Redis Sentinel
RabbitMQ (10.32.8.90) MEDIUM Setup RabbitMQ Cluster

Capacity Planning

Current Utilization

Resource Provisioned Notes
API Servers 7 Can scale to 10+
SQL Replicas 6 Read distribution
MongoDB Nodes 8 Specialized purposes
Supplier Proxies 7 Isolate supplier traffic

Growth Recommendations

  1. Add API-8, API-9 when concurrent users > 1000
  2. Add SQL Replica 7 when read load > 70%
  3. Setup Redis Cluster (3+ nodes)
  4. Implement RabbitMQ Cluster (3 nodes)

Maintenance Windows

  • Database Backups: Daily 2:00 AM UTC
  • Windows Updates: Monthly - 2nd Saturday 2:00-4:00 AM
  • Linux Updates: Monthly - 3rd Saturday 2:00-4:00 AM
  • Hypervisor Maintenance: Quarterly

Contact & Access

  • Zabbix Dashboard: http://10.32.8.148/zabbix
  • UptimeKuma: http://10.32.8.102:3001
  • Documentation: http://10.32.8.209:8000
  • HAProxy Stats: http://10.32.8.36:8080/stats (if configured)

Data automatically extracted from Zabbix monitoring system Last sync: 2025-11-15 Total monitored hosts: 60+