Update main branch#59
Merged
Merged
Conversation
- Add mkdocs.yml (Material theme, Mermaid, search, git-revision, edit URI) - Add .github/workflows/docs.yml to auto-deploy to GitHub Pages on push to dev - Add docs/ with Architecture, Deployment, Dashboards, Jobs, Alerting, Prometheus/sql_exporter, AI Agent and Support sections - Jobs catalog generated from DDLs/SCH-Job-*.sql (46 jobs) - Deployment parameters and 59 install steps extracted from Install-SQLMonitor.ps1 - Dashboard catalog cross-referenced with live Grafana inventory - Rewrite README.md (400 -> 104 lines) as a concise landing page pointing to https://imajaydwivedi.github.io/SQLMonitor/
Add three new collectors and register them in sql_exporter.yml under two new jobs (mssql_msdb, mssql_xevent): - mssql_sqlagent_jobs: per-job enabled / last_run_outcome / last_run_duration_seconds / last_run_end_time_utc / next_run_time_utc / is_running / step_failures_last_24h, sourced from msdb.dbo.sysjobs/sysjobhistory/sysjobactivity/sysjobschedules. - mssql_backup_history: per-(database, backup_type) last_time_utc / last_duration_seconds / last_size_bytes / last_compressed_size_bytes / age_seconds / count_last_24h, sourced from msdb.dbo.backupset. - mssql_xevent: aggregated events_count / cpu_time_ms_sum / duration_seconds_sum / logical_reads_sum / physical_reads_sum / writes_sum per (event_name, database_name, result, client_app_name) over the most recent 5 minutes. Caps at TOP 500 to bound cardinality. Guarded with an existence check on DBA.dbo.xevent_metrics so the collector is a no-op on instances that don't run the XEvent collector proc.
Port 12 SQLMonitor Grafana dashboards to Prometheus under
sql_exporter/Prometheus-Dashboards/. Each dashboard is generated from a
small Python spec; every spec produces a *.json that imports directly
into Grafana (schemaVersion 42, __inputs-bound DS_PROMETHEUS).
Dashboards (UID / data panels / text-link panels):
prom_core_metrics_trend 9 / 0
prom_wait_stats 4 / 0
prom_disk_space 5 / 0
prom_ag_health_state 3 / 0
prom_sql_agent_jobs 6 / 0
prom_backup_history 6 / 0
prom_xevent_trend 4 / 0
prom_database_file_io_stats 12 / 0
prom_dba_inventory 6 / 8
prom_monitoring_live_all_servers 15 / 6
prom_monitoring_live_distributed 52 / 6
prom_monitoring_perfmon_quest 51 / 4
Helper library (_lib/prom_dashboard.py, _lib/build.py):
- Panel, Target, query_var, custom_var, constant_var dataclasses.
- row() and legacy_link_panel() helpers.
- build_dashboard(): per-panel-type options, thresholds, transforms.
- write_dashboard(): JSON serialization.
Specs (_specs/*.py) use high-fidelity PromQL patterns:
- increase(metric[$__range]) for selective-duration deltas.
- @ end() offset $__range for prior-window comparison tables.
- quantile_over_time($percentile_q, (expr)[$trend_window:]) for
percentile trends.
- topk($top_n, sum by (…) (…)) for bounded series rendering.
Panels that require the SQLMonitor inventory DB (alert history,
AG-vs-nonAG backup split, LAMA config-change deltas, dm_os_memory_clerks
snapshot, tempdb/log_space cache tables, sql_server_patching) use
legacy_link_panel(...) to markdown-link back to the SQL-backed
dashboard, keeping every source section accounted for.
Developer tooling (_tools/):
- inspect_panels.py: source dashboard panel inventory.
- validate.py: structural JSON + target/expr sanity check; all 12
generated dashboards validate clean.
- docs/prometheus.md: add rows for mssql_sqlagent_jobs, mssql_backup_history, mssql_xevent to the collectors table; add a 'Prometheus-backed dashboard pack' section with the 12 Phase 1 dashboards and regeneration commands. - sql_exporter/README-sql_exporter.md: add a 'Collectors' table describing every mssql_*.collector.yml file, its job binding, scrape interval and the metric prefix it publishes.
…phase-1 feat: Prometheus dashboards — Phase 1 (12 dashboards + 3 new collectors)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update main branch