温馨提示×

debian监sqlserver怎么监

小樊
37
2026-09-07 16:06:51
栏目: 云计算

Debian 上“监控 SQL Server”,通常可以从 系统层、SQL Server 自身、日志、性能 几个维度来做。下面按常见实践给你一个完整思路。


一、确认环境

Debian 上跑 SQL Server 一般是:

  • SQL Server on Linux(Microsoft 官方支持)
  • 端口默认:1433

检查是否运行:

systemctl status mssql-server

二、基础监控(系统层)

1️⃣ 服务状态监控

systemctl status mssql-server
journalctl -u mssql-server -f

2️⃣ 端口与连接监控

ss -tunlp | grep 1433

3️⃣ 资源监控

top
htop
free -h
df -h
iostat -x 1

三、SQL Server 自身监控(重点)

1️⃣ 使用 sqlcmd 连接

sqlcmd -S localhost -U sa -P '密码'

2️⃣ 查看当前连接

SELECT
    session_id,
    login_name,
    host_name,
    status
FROM sys.dm_exec_sessions;

3️⃣ 查看正在执行的 SQL

SELECT
    r.session_id,
    r.status,
    r.command,
    t.text
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t;

4️⃣ 监控慢查询

SELECT
    TOP 10
    total_elapsed_time / execution_count AS avg_time,
    execution_count,
    text
FROM sys.dm_exec_query_stats
CROSS APPLY sys.dm_exec_sql_text(sql_handle)
ORDER BY avg_time DESC;

四、日志监控

SQL Server 错误日志

cat /var/opt/mssql/log/errorlog

实时查看:

tail -f /var/opt/mssql/log/errorlog

五、性能监控(推荐)

1️⃣ 使用 Prometheus + node_exporter

  • 监控 CPU / 内存 / 磁盘
  • SQL Server 指标可用 mssql_exporter

2️⃣ mssql_exporter(强烈推荐)

# 示例
./mssql_exporter \
  --connection-string="sqlserver://sa:password@localhost:1433"

配合 Grafana 可出图:

  • QPS
  • 连接数
  • 锁等待
  • 慢查询

六、告警方案

  • Zabbix
  • Prometheus + Alertmanager
  • Nagios

常见告警项:

  • 服务宕机
  • 连接数过高
  • 磁盘空间不足
  • 慢 SQL 增多

七、简单日常巡检脚本示例

#!/bin/bash
systemctl is-active mssql-server || echo "SQL Server DOWN"
ss -tunlp | grep 1433 || echo "Port 1433 not listening"
df -h | grep /var/opt/mssql || true

如果你能告诉我:

  • ✅ 是 生产还是测试
  • ✅ 想监控 性能 / 高可用 / 安全
  • ✅ 是否已有 Prometheus / Zabbix

我可以直接给你一套 可落地的监控方案 + 配置文件

0