1. 使用SQL Server自带工具监控
SQL Server提供了内置工具,可直接在CentOS上通过命令行或连接工具使用:
sqlcmd -S your_server_name -U your_username -P your_password连接实例后,可运行查询(如SELECT @@SERVERNAME AS ServerName, @@VERSION AS Version)获取服务器信息,或通过sys.dm_exec_requests(查看当前执行请求)、sys.dm_os_performance_counters(查看性能计数器)等动态管理视图(DMV)监控性能。sql_statement_completed、deadlock),收集低开销的性能数据,用于分析查询性能或故障排查。2. 使用第三方监控工具
第三方工具提供更全面的可视化与告警功能,适合生产环境:
prometheus-mssql-exporter(SQL Server导出器)收集SQL Server指标(如CPU使用率、内存占用、查询执行时间),配置Prometheus(scrape_configs中添加SQL Server目标)拉取数据,再通过Grafana创建仪表盘(如“SQL Server Overview”“Query Performance”),实现实时监控与可视化。nagios-plugins-all安装SQL Server插件(如check_sqlserver)。配置Nagios(编辑nagios.cfg添加监控命令),可监控SQL Server可用性、连接数、查询响应时间等指标,触发告警(邮件、短信)通知管理员。zabbix_agentd.conf添加SQL Server监控项),前端界面可创建“SQL Server CPU Usage”“Disk I/O”等监控项,支持告警与趋势分析。3. 使用CentOS系统工具辅助监控
CentOS自带工具可监控SQL Server进程的资源占用情况:
top -p $(pgrep -f mssql-server)(pgrep查找SQL Server进程ID)可查看SQL Server进程的CPU、内存使用率;htop(需安装)提供更直观的交互式界面。vmstat 1(每秒刷新)查看系统虚拟内存、进程、CPU使用情况;iostat -x 1查看磁盘I/O统计(如读写速率、等待时间);sar -u 1(来自sysstat包)查看CPU利用率历史数据,辅助分析SQL Server性能瓶颈。4. 查看SQL Server日志
SQL Server错误日志与Windows事件查看器(需通过SSH反向隧道或远程桌面访问Windows系统)包含关键故障信息:
/var/opt/mssql/log/errorlog(默认位置),通过tail -f /var/opt/mssql/log/errorlog实时查看错误信息(如连接失败、死锁、磁盘空间不足)。