请教zabbix如何监控mssql

请教zabbix如何监控mssql,第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

获取所有项。

Zabbix的简单安装配置说明

1、在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包:

yum -y install mysql-devel libcurl-devel net-snmp-devel

2、添加用户:

groupadd zabbix

useradd zabbix -g zabbix

3、创建数据库,添加授权账号

create database zabbix character set utf8

导入数据库

mysql -uzabbix -pzabbix -hlocalhost zabbix <database/mysql/schema.sql

mysql -uzabbix -pzabbix -hlocalhost zabbix <database/mysql/images.sql

mysql -uzabbix -pzabbix -hlocalhost zabbix <database/mysql/data.sql

做过Zabbix的同学都知道,Zabbix通过专用的Agent或者SNMP收集相关的监控数据,然后存储到数据库里面实时在前台展示。Zabbix监控数据主要分为以下两类:

历史数据:history相关表,从history_uint表里面可以查询到设备监控项目的最大,最小和平均值,即存储监控数据的原始数据。

趋势数据:trends相关表,趋势数据是经过Zabbix计算的数据,数据是从history_uint里面汇总的,从trends_uint可以查看到监控数据每小时最大,最小和平均值,即存储监控数据的汇总数据。

Zabbix可以通过两种方式获取历史数据

1.通过Zabbix前台获取历史数据

通过Zabbix前台查看历史数据非常简单,可以通过Monitoring->Lastest data的方式查看。也可以点击右上角的As plain test按钮保存成文本文件。

2.通过前台获取的数据进行处理和二次查询有很多限制,因此可以通过SQL语句直接从后台DB查询数据。

首先大家应该熟悉SQL语句Select 常用用法:

SELECT [ALL | DISTINCT] Select_List [INTO [New_Table_name]

FROM { Table_name | View_name} [ [,{table2_name | view2_name}

[,…] ]

[ WHERE Serch_conditions ]

[ GROUP BY Group_by_list ]

[ HAVING Serch_conditions ]

[ ORDER BY Order_list [ASC| DEsC] ]

说明:

1)SELECT子句指定要查询的特定表中的列,它可以是*,表达式,列表等。

2)INTO子句指定要生成新的表。

3)FROM子句指定要查询的表或者视图。

4)WHERE子句用来限定查询的范围和条件。

5)GROUP BY子句指定分组查询子句。

6)HAVING子句用于指定分组子句的条件。

7)ORDER BY可以根据一个或者多个列来排序查询结果,在该子句中,既可以使用列名,也可以使用相对列号,ASC表示升序,DESC表示降序。

8)mysql聚合函数:sum(),count(),avg(),max(),avg()等都是聚合函数,当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算。运算完后就要用到Having子句进行判断了,例如聚合函数的值是否大于某一个值等等。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10824504.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存