请教zabbix如何监控mssql

2025-02-25 17:36:13
推荐回答(2个)
回答1:

  监控mssql,需要利用zabbix_agentd.conf配置文件中的PerfCounter高级参数。
  设置如下:

  
  PerfCounter = db_pages,"\SQLServer:Buffer Manager()\Database pages",60
  PerfCounter = db_free_pages,"\SQLServer:Buffer Manager()\Free pages",60
  PerfCounter = db_data_file_size,"\SQLServer:Databases(DATABASE_NAME)\Data File(s) Size (KB)",60
  PerfCounter = db_log_file_size,"\SQLServer:Databases(DATABASE_NAME)\Log File(s) Size (KB)",60
  PerfCounter = db_userconns,"\SQLServer:General Statistics()\User Connections",60
  PerfCounter = db_server_mem,"\SQLServer:Memory Manager()\Total Server Memory (KB)",60
  PerfCounter = db_cpu_load,"\Process(sqlservr)\% Processor Time",60
  

  可以实现对SQLServer部分性能的监控.其中数据文件和日志文件监控中,要将实际监控的数据库名字
  替代"DATABASE_NAME"。
  监控项的key分别指向上面定义的参数,如"db_pages""db_free_pages"等。
  要想显示windows主机可以监控的性能计数列表,可以在CMD中输入typeperf-qx
  获取所有项。

回答2:

这个涉及到zabbix自定义监控项与MySQL主从同步两个技术,首先确保MySQL主从同步的前提下,在从库show slave status\G中找到“Seconds_Behind_Master”参数,改参数表示从库与主库同步的延迟间隔;
然后在被监控端的zabbix-agent配置文件中添加“UserParameter=db_status,mysql -uzabbix -pzabbixpass -e "show slave status\G" 2>/dev/null|egrep 'Seconds_Behind_Master'|awk '{print $2}' 获取延迟;
重启zabbix客户端,并在zabbix-web上添加监控项,创建监控项图形;
望采纳~