Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
7e04ba3
Quick & Dirty MSSQL ImportBeats run and verified to be running fine.
lalit-satapathy Apr 25, 2022
a2e08ef
System Test for MS-SQL imported package prelim version
ManojS-shetty Apr 29, 2022
aa07809
System Test for MS-SQL imported package prelim version1
ManojS-shetty Apr 29, 2022
87f649d
Merge pull request #1 from ManojS-shetty/manoj-mssql-systemtest
lalit-satapathy Apr 29, 2022
26c1bf7
working prelims- MSSQL Integration System Test
ManojS-shetty Apr 29, 2022
e60bdc2
performance datastream working with 8.3.0-SNAPSHOT elastic agent
ManojS-shetty May 17, 2022
8839f50
added mappings to fields.yml file in performance
ManojS-shetty May 18, 2022
8dcbdfa
MSSQL Performance Dashboards with new Mapping
ManojS-shetty May 18, 2022
fc4cf2b
Added the Dynamic Metrics change to handlebar for performance
ManojS-shetty May 18, 2022
1b17375
Added TRIM functionality in the Performance query and remapped the Pe…
ManojS-shetty May 19, 2022
d968eaf
Added the change for naming and description in fields.yml
ManojS-shetty May 19, 2022
e68e631
Deleted transaction_log old dashboard
ManojS-shetty May 19, 2022
0c7104c
Changes to perf dashboard
ManojS-shetty May 19, 2022
b020f7c
Updated changelog.yml
ManojS-shetty May 19, 2022
6623b25
Updated manifest.yml
ManojS-shetty May 19, 2022
b3ba674
added changes to manifest.yml in top level for title and description
ManojS-shetty May 19, 2022
969ab2c
Merge branch 'sql-generic-datastream-ver1' of https://github.com/Mano…
ManojS-shetty May 19, 2022
4fbc88e
Updated changelog.yml
ManojS-shetty May 19, 2022
03a8bcb
updated Changelog.yml and manifest.yml
ManojS-shetty May 19, 2022
1b511ac
Updated a comment for hosts
ManojS-shetty May 19, 2022
b413b66
removed the extra line
ManojS-shetty May 19, 2022
8267971
added transaction dashboard screenshot image
ManojS-shetty May 19, 2022
67012d4
Merge branch 'mssql-generic-datastream-v1' of https://github.com/Mano…
ManojS-shetty May 19, 2022
2468ea7
Merge branch 'main' into mssql-generic-datastream-v1
ManojS-shetty May 19, 2022
b5bb3a4
Reverted codeowner value in manifest
ManojS-shetty May 19, 2022
9338624
deleted system test chnages
ManojS-shetty May 19, 2022
60cecb2
Updated the format in the files
ManojS-shetty May 20, 2022
c7e8394
Formatted fields yaml file
ManojS-shetty May 20, 2022
5115281
Added new sql performance query and changed the field yaml mapping ac…
ManojS-shetty May 20, 2022
6dc29a2
deleted system test case for now
ManojS-shetty May 20, 2022
2649ea7
Added handling of named instance for perf DataStream
ManojS-shetty May 23, 2022
ecb0544
Removed the visualization in kibana directory
ManojS-shetty May 23, 2022
72c31e9
Maintained consistency in visualization panels
ManojS-shetty May 23, 2022
0ef5136
Merge branch 'mssql-generic-datastream-v1' of https://github.com/Mano…
ManojS-shetty May 23, 2022
510f141
Updated the consistency in naming conventions for perf
ManojS-shetty May 23, 2022
7329490
Formatting fields yaml file
ManojS-shetty May 23, 2022
db0ba0e
Added system Integration test for perf datastream
ManojS-shetty May 24, 2022
5b35246
Formatting docker compose file
ManojS-shetty May 24, 2022
fe92d0d
Formatting test config yaml file
ManojS-shetty May 24, 2022
6cfa504
fixed formatting issue in test yaml file
ManojS-shetty May 24, 2022
2993ae4
Updated changelog.yml
ManojS-shetty May 24, 2022
f4c79d3
Adding README and sample event json files
ManojS-shetty May 24, 2022
e61f57d
Merge branch 'mssql-generic-datastream-v1' of https://github.com/Mano…
ManojS-shetty May 24, 2022
dbd2e10
Fixed formatting in sample event json for perf
ManojS-shetty May 24, 2022
42e1550
Updated the kibana version in manifest file
ManojS-shetty May 25, 2022
8de36fe
Chnaged the kibana version for compatibality
ManojS-shetty May 25, 2022
94fc551
Added the dynamic counter name change
ManojS-shetty May 25, 2022
3765de1
Perfomance dashboard checked in with naming consistency
ManojS-shetty May 25, 2022
e10bc1b
Added documentation change to README
ManojS-shetty May 25, 2022
3b748bf
Added manifest changes
ManojS-shetty May 25, 2022
80dd2be
Added README file changes
ManojS-shetty May 25, 2022
f360401
Merge branch 'main' into mssql-generic-datastream-v1
ManojS-shetty May 26, 2022
a4ecfaf
Adding build yaml file
ManojS-shetty May 26, 2022
8b03857
Added 1.0.1 version to manifest and changelog entry
ManojS-shetty May 26, 2022
14efc44
Changed the kibana version for backaward compatibality
ManojS-shetty May 30, 2022
e5d6b24
Changed back the kibana version
ManojS-shetty May 30, 2022
78a7c69
Merge branch 'main' of https://github.com/elastic/integrations into m…
ManojS-shetty Jun 1, 2022
a573651
Revert "Deleted transaction_log old dashboard"
ManojS-shetty Jun 1, 2022
6d4f71f
Added ingest pipeline for renaming sql to mssql
ManojS-shetty Jun 2, 2022
f9e3d37
Deleted the transaction logs visualisation and dashboard to avoid the…
ManojS-shetty Jun 2, 2022
77928a1
Removed SNAPSHOT in version from perf dashboard
ManojS-shetty Jun 3, 2022
61ce6eb
changed the visualisation from by reference to by value
ManojS-shetty Jun 3, 2022
653ca72
Adding new image of performance dashboard
ManojS-shetty Jun 3, 2022
17e4d24
Delete microsoft-sqlserver-performance-dashboard.png
ManojS-shetty Jun 3, 2022
1d9647d
Updated fields and manifest yaml file
ManojS-shetty Jun 6, 2022
b04a4b5
Merge branch 'mssql-generic-datastream-v1' of https://github.com/Mano…
ManojS-shetty Jun 6, 2022
4856809
Removed Snapshot from the dashboard file
ManojS-shetty Jun 6, 2022
b6d860a
Added few changes like ECS import and driver field removal
ManojS-shetty Jun 8, 2022
a42c209
Added default yaml file in ingest pipeline
ManojS-shetty Jun 8, 2022
8e0efd8
Keeping policy template name to previous value
ManojS-shetty Jun 8, 2022
8dff4c7
Removed Query
ManojS-shetty Jun 9, 2022
18f2a40
Adding new sample_event file
ManojS-shetty Jun 9, 2022
e2770c5
Updated the comments
ManojS-shetty Jun 14, 2022
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/microsoft_sqlserver/_dev/build/build.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
dependencies:
ecs:
reference: git@v8.2.0
reference: git@v8.2.1
9 changes: 9 additions & 0 deletions packages/microsoft_sqlserver/_dev/deploy/docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
ARG IMAGE=${IMAGE:-mcr.microsoft.com/mssql/server:2019-latest}
Comment thread
ManojS-shetty marked this conversation as resolved.
FROM ${IMAGE}

ENV ACCEPT_EULA='Y'
ENV SA_PASSWORD='1234_asdf'

# Use the same healthcheck as the Windows version of the image.
# https://github.com/Microsoft/mssql-docker/blob/a3020afeec9be1eb2d67645ac739438eb8f2c545/windows/mssql-server-windows/dockerfile#L31
HEALTHCHECK --interval=1s --retries=90 CMD /opt/mssql-tools/bin/sqlcmd -U SA -P ${SA_PASSWORD} -Q "select 1"
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: '2.3'
services:
microsoft_sqlserver:
image: mcr.microsoft.com/mssql/server:2019-latest
build:
context: .
args:
MSSQL_VERSION: ${MSSQL_VERSION:-2019-latest}
ports:
- 1433
4 changes: 4 additions & 0 deletions packages/microsoft_sqlserver/_dev/deploy/variants.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
variants:
MSSQL_2019-latest:
IMAGE: 2019-latest
default: 2019-latest
6 changes: 6 additions & 0 deletions packages/microsoft_sqlserver/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
# newer versions go on top

- version: "1.1.0"
changes:
- description: Added performance datastream
type: enhancement
link: https://github.com/elastic/integrations/pull/3391
- version: "1.0.0"
changes:
- description: Make GA
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
vars:
hosts:
- "{{Hostname}}"
username: sa
password: 1234_asdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
metricsets: ["query"]
# Specify hosts in the below format. TODO: hosts need to be updated to support multiple entries.
hosts:
- sqlserver://{{username}}:{{password}}@{{hosts}}:{{port}}
period: {{period}}
raw_data.enabled: true
# Below dynamic_counter_name handles the dynamic counter name passing it to SQL query
dynamic_counter_name: {{dynamic_counter_name}}
driver: "mssql"
sql_queries:
Comment thread
ManojS-shetty marked this conversation as resolved.
- query: "SELECT cntr_value As 'user_connections' FROM sys.dm_os_performance_counters WHERE counter_name= 'User Connections'"
response_format: table
- query: "SELECT cntr_value As 'active_temp_tables' FROM sys.dm_os_performance_counters WHERE counter_name = 'Active Temp Tables' AND object_name like '%General Statistics%'"
response_format: table
- query: "SELECT cntr_value As 'buffer_cache_hit_ratio' FROM sys.dm_os_performance_counters WHERE counter_name = 'Buffer cache hit ratio' AND object_name like '%Buffer Manager%'"
response_format: table
- query: "SELECT cntr_value As 'page_splits_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Page splits/sec'"
response_format: table
- query: "SELECT cntr_value As 'lock_waits_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Lock Waits/sec' AND instance_name = '_Total'"
response_format: table
- query: "SELECT cntr_value As 'compilations_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'SQL Compilations/sec'"
response_format: table
- query: "SELECT cntr_value As 'batch_requests_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Batch Requests/sec'"
response_format: table
- query: "SELECT cntr_value As 'buffer_checkpoint_pages_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Checkpoint pages/sec' AND object_name like '%Buffer Manager%'"
response_format: table
- query: "SELECT cntr_value As 'buffer_database_pages' FROM sys.dm_os_performance_counters WHERE counter_name = 'Database pages' AND object_name like '%Buffer Manager%'"
response_format: table
- query: "SELECT cntr_value As 'buffer_page_life_expectancy' FROM sys.dm_os_performance_counters WHERE counter_name = 'Page life expectancy' AND object_name like '%Buffer Manager%'"
response_format: table
- query: "SELECT cntr_value As 'buffer_target_pages' FROM sys.dm_os_performance_counters WHERE counter_name = 'Target pages' AND object_name like '%Buffer Manager%'"
response_format: table
- query: "SELECT cntr_value As 'connection_reset_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Connection Reset/sec' AND object_name like '%Buffer Manager%'"
response_format: table
- query: "SELECT cntr_value As 'logins_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Logins/sec' AND object_name like '%General Statistics%'"
response_format: table
- query: "SELECT cntr_value As 'logouts_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'Logouts/sec' AND object_name like '%General Statistics%'"
response_format: table
- query: "SELECT cntr_value As 'transactions' FROM sys.dm_os_performance_counters WHERE counter_name = 'Transactions' AND object_name like '%General Statistics%'"
response_format: table
- query: "SELECT cntr_value As 're_compilations_per_sec' FROM sys.dm_os_performance_counters WHERE counter_name = 'SQL Re-Compilations/sec'"
response_format: table
- query: "SELECT counter_name As 'dynamic_counter.name', cntr_value As 'dynamic_counter.value' FROM sys.dm_os_performance_counters WHERE counter_name= '{{dynamic_counter_name}}'"
response_format: table
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
description: Pipeline for processing mssql performance
processors:
- remove:
field: sql.driver
ignore_missing: true
ignore_failure: true
- remove:
field: sql.query
ignore_missing: true
ignore_failure: true
- rename:
field: sql
target_field: mssql
ignore_missing: true
ignore_failure: true
on_failure:
- set:
field: error.message
value: "{{ _ingest.on_failure_message }}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
- name: data_stream.type
external: ecs
- name: data_stream.dataset
external: ecs
- name: data_stream.namespace
external: ecs
- name: '@timestamp'
external: ecs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- external: ecs
name: ecs.version
- external: ecs
name: service.address
- external: ecs
name: service.type
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
- name: mssql
type: group
release: beta
fields:
- name: metrics
type: group
fields:
- name: page_splits_per_sec
type: float
metric_type: gauge
description: Number of page splits per second that occur as the result of overflowing index pages.
- name: lock_waits_per_sec
type: float
metric_type: gauge
description: Number of lock requests per second that required the caller to wait.
- name: user_connections
type: long
description: Total number of user connections.
- name: active_temp_tables
type: long
description: Number of temporary tables/table variables in use.
- name: transactions
type: long
description: Total number of transactions
- name: connection_reset_per_sec
type: float
metric_type: gauge
description: Total number of logins started per second from the connection pool.
- name: logins_per_sec
type: float
metric_type: gauge
description: Total number of logins started per second. This does not include pooled connections.
- name: logouts_per_sec
type: float
metric_type: gauge
Comment thread
ManojS-shetty marked this conversation as resolved.
description: Total number of logout operations started per second.
- name: re_compilations_per_sec
type: float
metric_type: gauge
description: Number of statement recompiles per second. Counts the number of times statement recompiles are triggered. Generally, you want the recompiles to be low.
- name: compilations_per_sec
type: float
metric_type: gauge
description: Number of SQL compilations per second. Indicates the number of times the compile code path is entered. Includes compiles caused by statement-level recompilations in SQL Server. After SQL Server user activity is stable, this value reaches a steady state.
- name: batch_requests_per_sec
type: float
metric_type: gauge
description: Number of Transact-SQL command batches received per second. This statistic is affected by all constraints (such as I/O, number of users, cache size, complexity of requests, and so on). High batch requests mean good throughput.
- name: buffer_cache_hit_ratio
type: double
description: The ratio is the total number of cache hits divided by the total number of cache lookups over the last few thousand page accesses. After a long period of time, the ratio moves very little. Because reading from the cache is much less expensive than reading from disk, you want this ratio to be high.
- name: buffer_page_life_expectancy
type: long
description: Indicates the number of seconds a page will stay in the buffer pool without references (in seconds).
- name: buffer_checkpoint_pages_per_sec
type: float
metric_type: gauge
description: Indicates the number of pages flushed to disk per second by a checkpoint or other operation that require all dirty pages to be flushed.
- name: buffer_database_pages
type: long
description: Indicates the number of pages in the buffer pool with database content.
- name: buffer_target_pages
type: long
description: Ideal number of pages in the buffer pool.
- name: dynamic_counter.value
type: long
description: Dynamic counter value is fetched from performance table for the dynamic counter name which is provided by user.
- name: dynamic_counter.name
type: keyword
description: Dynamic counter name is given by user.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
type: metrics
title: Microsoft SQL Server performance metrics
release: beta
streams:
- input: sql/metrics
Comment thread
ManojS-shetty marked this conversation as resolved.
enabled: false
vars:
- name: period
type: text
title: Period
multi: false
required: true
show_user: true
default: 60s
- name: dynamic_counter_name
type: text
title: Dynamic Counter Name
multi: false
required: false
show_user: true
default: Memory Grants Pending
description: Collect the dynamic counter value for the provided counter name from the performance table.
title: Microsoft SQL Server performance metrics
description: Collect Microsoft SQL Server performance metrics
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{
"@timestamp": "2022-06-08T13:35:05.558Z",
"agent": {
"ephemeral_id": "16ad2de8-8ba3-496f-98d1-cbe19441c168",
"id": "848cea0e-c052-49b3-983d-64e13d3b9a6f",
"name": "docker-fleet-agent",
"type": "metricbeat",
"version": "8.3.0"
},
"cloud": {
"account": {},
"instance": {
"id": "b30e45e6-7900-4900-8d67-e37cb13374bc",
"name": "obs-int-windows-dev"
},
"machine": {
"type": "Standard_D16ds_v5"
},
"provider": "azure",
"region": "CentralIndia",
"service": {
"name": "Virtual Machines"
}
},
"data_stream": {
"dataset": "microsoft_sqlserver.performance",
"namespace": "ep",
"type": "metrics"
},
"ecs": {
"version": "8.0.0"
},
"elastic_agent": {
"id": "848cea0e-c052-49b3-983d-64e13d3b9a6f",
"snapshot": true,
"version": "8.3.0"
},
"event": {
"agent_id_status": "verified",
"dataset": "microsoft_sqlserver.performance",
"duration": 7151724,
"ingested": "2022-06-08T13:35:06Z",
"module": "sql"
},
"host": {
"architecture": "x86_64",
"containerized": true,
"hostname": "docker-fleet-agent",
"ip": [
"172.18.0.4"
],
"mac": [
"02:42:ac:12:00:04"
],
"name": "docker-fleet-agent",
"os": {
"codename": "focal",
"family": "debian",
"kernel": "5.10.16.3-microsoft-standard-WSL2",
"name": "Ubuntu",
"platform": "ubuntu",
"type": "linux",
"version": "20.04.4 LTS (Focal Fossa)"
}
},
"metricset": {
"name": "query",
"period": 60000
},
"mssql": {
"metrics": {
"user_connections": 1
}
},
"service": {
"address": "elastic-package-service-microsoft_sqlserver-1:1433",
"type": "sql"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading