Enable audit and diagnostic logging in the DICOM service
Artikel
In this article, you'll learn how to enable diagnostic logging in DICOM® service and be able to review some sample queries for these logs. Access to diagnostic logs is essential for any healthcare service where compliance with regulatory requirements is required. The feature in DICOM service that enables diagnostic logs is the Diagnostic settings in the Azure portal.
Enable logs
To enable logging DICOM service, select your DICOM service in the Azure portal.
Select the Activity log on the left pane, and then select Diagnostic settings.
Select + Add diagnostic setting.
Enter the Diagnostic settings name.
Select the Category and Destination details for accessing the diagnostic logs:
Send to Log Analytics workspace in the Azure Monitor. You need to create your Logs Analytics workspace before you can select this option. For more information about the platform logs, see Overview of Azure platform logs.
Archive to a storage account for auditing or manual inspection. The storage account you want to use needs to already be created.
Stream to an event hub for ingestion by a third-party service or custom analytic solution. You need to create an event hub namespace and event hub policy before you can configure this step.
Send to partner solution that you're working with as a partner organization in Azure. For information about potential partner integrations, see Azure partner solutions documentation
It might take up to 15 minutes for the first Logs to appear in Log Analytics. Also, if the DICOM service is moved from one resource group or subscription to another, update the settings once the move is complete.
The log schema used differs based on the destination. Log Analytics has a schema that differs from other destinations. Each log type has a different schema.
Audit log details
Raw logs
The DICOM service returns the following fields in the audit log as seen when streamed outside of Log Analytics.
Field Name
Type
Notes
correlationId
String
Correlation ID
operationName
String
Describes the type of operation (for example, Retrieve, Store, Query, etc.)
time
DateTime
Date and time of the event.
resourceId
String
Azure path to the resource.
identity
Dynamic
A generic property bag containing identity information (currently doesn't apply to DICOM).
location
String
The location of the server that processed the request.
uri
String
The request URI.
resultType
String
The available values currently are Started, Succeeded, or Failed.
resultSignature
Int
The HTTP Status Code (for example, 200)
type
String
Type of log (it's always MicrosoftHealthcareApisAuditLog in this case).
level
String
Log level (Informational, Error).
Log Analytics logs
The DICOM service returns the following fields in the audit sign-in Log Analytics.
Field Name
Type
Notes
CorrelationId
String
Correlation ID
OperationName
String
Describes the type of operation (for example, Retrieve, Store, Query, etc.)
TimeGenerated [UTC]
DateTime
Date and time of the event.
_ResourceId
String
Azure path to the resource.
Identity
Dynamic
A generic property bag containing identity information (currently doesn't apply to DICOM).
Uri
String
The request URI.
ResultType
String
The available values currently are Started, Succeeded, or Failed.
StatusCode
Int
The HTTP Status Code (for example, 200)
Type
String
Type of log (it's always AHDSDicomAuditLogs in this case).
Level
String
Log level (Informational, Error).
TenantId
String
Tenant ID.
Diagnostic log details
Raw logs
The DICOM service returns the following fields in the audit log as seen when streamed outside of Log Analytics.
Field Name
Type
Notes
correlationId
String
Correlation ID
operationName
String
Describes the type of operation (for example, Retrieve, Store, Query, etc.)
time
DateTime
Date and time of the event.
resultDescription
String
Description of the log entry. An example is a diagnostic log with a validation warning message when storing a file.
resourceId
String
Azure path to the resource.
identity
Dynamic
A generic property bag containing identity information (currently doesn't apply to DICOM).
location
String
The location of the server that processed the request.
properties
String
Additional information about the event in JSON array format. Examples include DICOM identifiers present in the request.
level
String
Log level (Informational, Error).
Log Analytics logs
The DICOM service returns the following fields in the audit sign-in Log Analytics.
Field Name
Type
Notes
CorrelationId
String
Correlation ID
OperationName
String
Describes the type of operation (for example, Retrieve, Store, Query, etc.)
TimeGenerated
DateTime
Date and time of the event.
Message
String
Description of the log entry. An example is a diagnostic log with a validation warning message when storing a file.
Location
String
The location of the server that processed the request.
Properties
String
Additional information about the event in JSON array format. Examples include DICOM identifiers present in the request.
LogLevel
String
Log level (Informational, Error).
Sample Log Analytics queries
Here are a few basic Application Insights queries you can use to explore your log data.
Run the following query to see the 100 most recent logs:
Application
MicrosoftHealthcareApisAuditLogs
| limit 100
Run the following query to group operations by DICOM Resource Type:
Application
MicrosoftHealthcareApisAuditLogs
| summarize count() by DICOMResourceType
Run the following query to get all the failed results
Application
MicrosoftHealthcareApisAuditLogs
| where ResultType == "Failed"
Next steps
Having access to diagnostic logs is essential for monitoring a service and providing compliance reports. The DICOM service allows you to do these actions through diagnostic logs. For more information, see Azure Activity Log event schema
Notiz
DICOM® is the registered trademark of the National Electrical Manufacturers Association for its Standards publications relating to digital communications of medical information.