Ad Widget

Collapse

MSSQL template item data length not sufficient - need to increase

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • PNN
    Junior Member
    • Oct 2021
    • 2

    #1

    MSSQL template item data length not sufficient - need to increase

    Zabbix 6.0.3 Mysql database
    Template - MSSQL by ODBC
    Problem Item "Get performance counters" is fetching incomplete data. The read data length is 65535 characters but incomplete. Hence unable to compute lot of dependent items. Through the isql interface the same sql command returns the complete data of 956160 characters.
    Need a solution for getting the complete data in zabbix
  • PNN
    Junior Member
    • Oct 2021
    • 2

    #2
    The SQL query that is being executed in the Item "Get performance counters". I expect adding this detail could help in finding a solution.
    SELECT object_name,counter_name,instance_name,cntr_value
    FROM sys.dm_os_performance_counters
    UNION
    SELECT '{$MSSQL.INSTANCE}' as object_name,'Version' as counter_name,@@version as instance_name,0 as cntr_value
    UNION
    SELECT '{$MSSQL.INSTANCE}' as object_name,'Uptime' as counter_name,'' as instance_name,DATEDIFF(second,sqlserver_start_time ,GETDATE()) as cntr_value
    FROM sys.dm_os_sys_info
    UNION
    SELECT '{$MSSQL.INSTANCE}atabases' as object_name,'State' as counter_name,name as instance_name,state as cntr_value
    FROM sys.databases
    UNION
    SELECT a.object_name,'BufferCacheHitRatio' as counter_name,'' as instance_name,cast(a.cntr_value*100.0/b.cntr_value as dec(3,0)) as cntr_value
    FROM sys.dm_os_performance_counters a
    JOIN (SELECT cntr_value,OBJECT_NAME
    FROM sys.dm_os_performance_counters
    WHERE counter_name='Buffer cache hit ratio base' AND OBJECT_NAME='{$MSSQL.INSTANCE}:Buffer Manager') b
    ON a.OBJECT_NAME=b.OBJECT_NAME
    WHERE a.counter_name='Buffer cache hit ratio' AND a.OBJECT_NAME='{$MSSQL.INSTANCE}:Buffer Manager'
    UNION
    SELECT a.object_name,'WorktablesFromCacheRatio' as counter_name,'' as instance_name,cast(a.cntr_value*100.0/b.cntr_value as dec(3,0)) as cntr_value
    FROM sys.dm_os_performance_counters a
    JOIN (SELECT cntr_value,OBJECT_NAME
    FROM sys.dm_os_performance_counters
    WHERE counter_name='Worktables From Cache Base' AND OBJECT_NAME='{$MSSQL.INSTANCE}:Access Methods') b
    ON a.OBJECT_NAME=b.OBJECT_NAME
    WHERE a.counter_name='Worktables From Cache Ratio' AND a.OBJECT_NAME='{$MSSQL.INSTANCE}:Access Methods'
    UNION
    SELECT a.object_name,'CacheHitRatio' as counter_name,'_Total' as instance_name,cast(a.cntr_value*100.0/b.cntr_value as dec(3,0)) as cntr_value
    FROM sys.dm_os_performance_counters a
    JOIN (SELECT cntr_value,OBJECT_NAME
    FROM sys.dm_os_performance_counters
    WHERE counter_name='Cache Hit Ratio base' AND OBJECT_NAME='{$MSSQL.INSTANCE}:Plan Cache' AND instance_name='_Total') b
    ON a.OBJECT_NAME=b.OBJECT_NAME
    WHERE a.counter_name='Cache Hit Ratio' AND a.OBJECT_NAME='{$MSSQL.INSTANCE}:Plan Cache' AND instance_name='_Total'

    Comment

    Working...