| name | monitoring |
| description | Game server monitoring with metrics, alerting, and performance tracking for production reliability |
| sasmp_version | 1.3.0 |
| version | 2.0.0 |
| bonded_agent | 08-liveops-specialist |
| bond_type | PRIMARY_BOND |
| parameters | {"required":["metrics_backend"],"optional":["scrape_interval_s","retention_days"],"validation":{"metrics_backend":{"type":"string","enum":["prometheus","datadog","cloudwatch","influxdb"]},"scrape_interval_s":{"type":"integer","min":5,"max":60,"default":15},"retention_days":{"type":"integer","min":7,"max":365,"default":30}}} |
| retry_config | {"max_attempts":3,"backoff":"exponential","initial_delay_ms":1000} |
| observability | {"logging":{"level":"info","fields":["metric_name","value","labels"]},"metrics":[{"name":"scrape_duration_seconds","type":"histogram"},{"name":"metrics_collected","type":"counter"}]} |
Server Monitoring
Monitor game server health with metrics, logs, and alerts.
Key Game Metrics
const prometheus = require('prom-client');
const activePlayers = new prometheus.Gauge({
name: 'game_active_players',
help: 'Currently connected players',
labelNames: ['region', 'game_mode']
});
const matchesInProgress = new prometheus.Gauge({
name: 'game_matches_active',
help: 'Active matches',
labelNames: ['game_mode']
});
const tickDuration = new prometheus.Histogram({
name: 'game_tick_duration_seconds',
help: 'Game loop tick duration',
buckets: [0.001, 0.005, 0.01, 0.016, 0.033]
});
const networkLatency = new prometheus.Histogram({
name: 'game_network_latency_ms',
help: 'Player network latency',
labelNames: ['region'],
buckets: [10, , , , , , ]
});