diff --git a/Build-COSFPkgs.ps1 b/Build-COSFPkgs.ps1 index f7de696e..65025558 100644 --- a/Build-COSFPkgs.ps1 +++ b/Build-COSFPkgs.ps1 @@ -23,11 +23,11 @@ function Build-SFPkg { try { Push-Location $scriptPath - Build-SFPkg "Microsoft.ServiceFabricApps.ClusterObserver.Linux.SelfContained.2.3.0" "$scriptPath\bin\release\ClusterObserver\linux-x64\self-contained\ClusterObserverType" - Build-SFPkg "Microsoft.ServiceFabricApps.ClusterObserver.Linux.FrameworkDependent.2.3.0" "$scriptPath\bin\release\ClusterObserver\linux-x64\framework-dependent\ClusterObserverType" + Build-SFPkg "Microsoft.ServiceFabricApps.ClusterObserver.Linux.SelfContained.2.3.1" "$scriptPath\bin\release\ClusterObserver\linux-x64\self-contained\ClusterObserverType" + Build-SFPkg "Microsoft.ServiceFabricApps.ClusterObserver.Linux.FrameworkDependent.2.3.1" "$scriptPath\bin\release\ClusterObserver\linux-x64\framework-dependent\ClusterObserverType" - Build-SFPkg "Microsoft.ServiceFabricApps.ClusterObserver.Windows.SelfContained.2.3.0" "$scriptPath\bin\release\ClusterObserver\win-x64\self-contained\ClusterObserverType" - Build-SFPkg "Microsoft.ServiceFabricApps.ClusterObserver.Windows.FrameworkDependent.2.3.0" "$scriptPath\bin\release\ClusterObserver\win-x64\framework-dependent\ClusterObserverType" + Build-SFPkg "Microsoft.ServiceFabricApps.ClusterObserver.Windows.SelfContained.2.3.1" "$scriptPath\bin\release\ClusterObserver\win-x64\self-contained\ClusterObserverType" + Build-SFPkg "Microsoft.ServiceFabricApps.ClusterObserver.Windows.FrameworkDependent.2.3.1" "$scriptPath\bin\release\ClusterObserver\win-x64\framework-dependent\ClusterObserverType" } finally { Pop-Location diff --git a/Build-SFPkgs.ps1 b/Build-SFPkgs.ps1 index 26e40472..80733a50 100644 --- a/Build-SFPkgs.ps1 +++ b/Build-SFPkgs.ps1 @@ -23,11 +23,11 @@ function Build-SFPkg { try { Push-Location $scriptPath - Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Linux.SelfContained.3.3.0" "$scriptPath\bin\release\FabricObserver\linux-x64\self-contained\FabricObserverType" - Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Linux.FrameworkDependent.3.3.0" "$scriptPath\bin\release\FabricObserver\linux-x64\framework-dependent\FabricObserverType" + Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Linux.SelfContained.3.3.1" "$scriptPath\bin\release\FabricObserver\linux-x64\self-contained\FabricObserverType" + Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Linux.FrameworkDependent.3.3.1" "$scriptPath\bin\release\FabricObserver\linux-x64\framework-dependent\FabricObserverType" - Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Windows.SelfContained.3.3.0" "$scriptPath\bin\release\FabricObserver\win-x64\self-contained\FabricObserverType" - Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Windows.FrameworkDependent.3.3.0" "$scriptPath\bin\release\FabricObserver\win-x64\framework-dependent\FabricObserverType" + Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Windows.SelfContained.3.3.1" "$scriptPath\bin\release\FabricObserver\win-x64\self-contained\FabricObserverType" + Build-SFPkg "Microsoft.ServiceFabricApps.FabricObserver.Windows.FrameworkDependent.3.3.1" "$scriptPath\bin\release\FabricObserver\win-x64\framework-dependent\FabricObserverType" } finally { Pop-Location diff --git a/ClusterObserver.nuspec.template b/ClusterObserver.nuspec.template index 1a9cbf14..b3d783f6 100644 --- a/ClusterObserver.nuspec.template +++ b/ClusterObserver.nuspec.template @@ -1,8 +1,8 @@ - + %PACKAGE_ID% - 2.3.0 + 2.3.1 - .NET 8 implementation of ClusterObserver. This version is built for .NET 8 and SF Runtime >= 9.1 (Self-Contained FO builds only). If you have deployed SF Runtime version >= 10.1 Cumulative Update 3.0 (CU3), then you can deploy the framework-dependent release build for the target platform (Windows or Linux). If you are not running SF Runtime version >= 10.1 CU3, then you must deploy the Self-Contained release build for the target platform (Windows or Linux). **If you can't upgrade to .NET 8 yet, then do not upgrade to this version.** @@ -20,7 +20,7 @@ - + https://aka.ms/sf/FabricObserver diff --git a/ClusterObserver/ClusterObserver.csproj b/ClusterObserver/ClusterObserver.csproj index 6894bd99..e5a47b4b 100644 --- a/ClusterObserver/ClusterObserver.csproj +++ b/ClusterObserver/ClusterObserver.csproj @@ -10,8 +10,8 @@ win-x64;linux-x64 True ClusterObserver - 2.3.0 - 2.3.0 + 2.3.1 + 2.3.1 Copyright © 2024 true false @@ -27,8 +27,7 @@ - - + diff --git a/ClusterObserver/ClusterObserverManager.cs b/ClusterObserver/ClusterObserverManager.cs index 43c99c6b..2d1a1bf6 100644 --- a/ClusterObserver/ClusterObserverManager.cs +++ b/ClusterObserver/ClusterObserverManager.cs @@ -39,7 +39,7 @@ public sealed class ClusterObserverManager : IDisposable private bool appParamsUpdating; // Folks often use their own version numbers. This is for internal diagnostic telemetry. - private const string InternalVersionNumber = "2.3.0"; + private const string InternalVersionNumber = "2.3.1"; public bool EnableOperationalTelemetry { diff --git a/ClusterObserver/PackageRoot/ServiceManifest.xml b/ClusterObserver/PackageRoot/ServiceManifest.xml index c03a7af7..ecd3e9d4 100644 --- a/ClusterObserver/PackageRoot/ServiceManifest.xml +++ b/ClusterObserver/PackageRoot/ServiceManifest.xml @@ -1,6 +1,6 @@  @@ -11,7 +11,7 @@ - + ClusterObserver @@ -21,11 +21,11 @@ - + - + diff --git a/ClusterObserver/Readme.md b/ClusterObserver/Readme.md index 9e2b393e..5c9bf950 100644 --- a/ClusterObserver/Readme.md +++ b/ClusterObserver/Readme.md @@ -1,4 +1,4 @@ -### ClusterObserver 2.3.0 (.NET 8) +### ClusterObserver 2.3.1 (.NET 8) #### This version targets .NET 8 and SF Runtime >= 9.1. ClusterObserver (CO) is a stateless singleton Service Fabric .NET 8 service that runs on one node in a cluster. CO observes cluster health (aggregated) @@ -6,7 +6,7 @@ and sends telemetry when a cluster is in Error or Warning. CO shares a very smal but lives in this repo (and SLN) because it is very useful to have both services deployed, especially for those who want cluster-level health observation and reporting in addition to the node-level user-defined resource monitoring, health event creation, and health reporting done by FO. FabricObserver is designed to generate Service Fabric health events based on user-defined resource usage Warning and Error thresholds which ClusterObserver sends to your log analytics and alerting service. -Starting with version 2.3.0, you must deploy the self-contained release package unless you are deploying to a cluster running SF Version >= 10.1 CU3 or higher, then you can deploy framework-dependent release. +Starting with version 2.3.1, you must deploy the self-contained release package unless you are deploying to a cluster running SF Version >= 10.1 CU3 or higher, then you can deploy framework-dependent release. By design, CO will send an Ok health state report when a cluster goes from Warning or Error state to Ok. @@ -32,7 +32,7 @@ Application Parameter Upgrade Example: ```Powershell $appName = "fabric:/ClusterObserver" -$appVersion = "2.3.0" +$appVersion = "2.3.1" $application = Get-ServiceFabricApplication -ApplicationName $appName @@ -161,7 +161,7 @@ Start-ServiceFabricApplicationUpgrade -ApplicationName $appName -ApplicationType ``` XML - + @@ -190,7 +190,7 @@ Start-ServiceFabricApplicationUpgrade -ApplicationName $appName -ApplicationType should match the Name and Version attributes of the ServiceManifest element defined in the ServiceManifest.xml file. --> - + @@ -262,7 +262,7 @@ Here is a full example of exactly what is sent in one of these telemetry events, "TaskName": "ClusterObserver", "ClusterId": "00000000-1111-1111-0000-00f00d000d", "ClusterType": "SFRP", - "COVersion": "2.3.0", + "COVersion": "2.3.1", "Timestamp": "2024-06-06T19:02:04.4287671Z", "OS": "Windows" } diff --git a/ClusterObserverApp/ApplicationPackageRoot/ApplicationManifest.xml b/ClusterObserverApp/ApplicationPackageRoot/ApplicationManifest.xml index 51ae3925..f52240d2 100644 --- a/ClusterObserverApp/ApplicationPackageRoot/ApplicationManifest.xml +++ b/ClusterObserverApp/ApplicationPackageRoot/ApplicationManifest.xml @@ -1,5 +1,5 @@  - + @@ -43,7 +43,7 @@ should match the Name and Version attributes of the ServiceManifest element defined in the ServiceManifest.xml file. --> - + diff --git a/Documentation/Deployment/service-fabric-cluster-observer.json b/Documentation/Deployment/service-fabric-cluster-observer.json index 04cdc689..5ad3b446 100644 --- a/Documentation/Deployment/service-fabric-cluster-observer.json +++ b/Documentation/Deployment/service-fabric-cluster-observer.json @@ -11,7 +11,7 @@ }, "applicationTypeVersionClusterObserver": { "type": "string", - "defaultValue": "2.3.0", + "defaultValue": "2.3.1", "metadata": { "description": "Provide the app version number of ClusterObserver. This must be identical to the version specified in the corresponding sfpkg." } diff --git a/Documentation/Deployment/service-fabric-cluster-observer.v2.3.0.parameters.json b/Documentation/Deployment/service-fabric-cluster-observer.v2.3.1.parameters.json similarity index 93% rename from Documentation/Deployment/service-fabric-cluster-observer.v2.3.0.parameters.json rename to Documentation/Deployment/service-fabric-cluster-observer.v2.3.1.parameters.json index 25f50903..b0ee3713 100644 --- a/Documentation/Deployment/service-fabric-cluster-observer.v2.3.0.parameters.json +++ b/Documentation/Deployment/service-fabric-cluster-observer.v2.3.1.parameters.json @@ -6,7 +6,7 @@ "value": "" }, "applicationTypeVersionClusterObserver": { - "value": "2.3.0" + "value": "2.3.1" }, "packageUrlClusterObserver": { "value": "" diff --git a/Documentation/Deployment/service-fabric-observer.json b/Documentation/Deployment/service-fabric-observer.json index 3f2e818c..b1e38454 100644 --- a/Documentation/Deployment/service-fabric-observer.json +++ b/Documentation/Deployment/service-fabric-observer.json @@ -11,16 +11,16 @@ }, "applicationTypeVersionFabricObserver": { "type": "string", - "defaultValue": "3.3.0", + "defaultValue": "3.3.1", "metadata": { - "description": "Provide the app version number of FabricObserver. This must be identical to the version, 3.3.0, in the referenced sfpkg specified in packageUrlFabricObserver." + "description": "Provide the app version number of FabricObserver. This must be identical to the version, 3.3.1, in the referenced sfpkg specified in packageUrlFabricObserver." } }, "packageUrlFabricObserver": { "type": "string", "defaultValue": "", "metadata": { - "description": "This has to be a public accessible URL for the sfpkg file which contains the FabricObserver app package. Example: https://github.com/microsoft/service-fabric-observer/releases/download/[xxxxxxxx]/Microsoft.ServiceFabricApps.FabricObserver.Windows.SelfContained.3.3.0.sfpkg" + "description": "This has to be a public accessible URL for the sfpkg file which contains the FabricObserver app package. Example: https://github.com/microsoft/service-fabric-observer/releases/download/[xxxxxxxx]/Microsoft.ServiceFabricApps.FabricObserver.Windows.SelfContained.3.3.1.sfpkg" } } }, diff --git a/Documentation/Deployment/service-fabric-observer.v3.3.0.parameters.json b/Documentation/Deployment/service-fabric-observer.v3.3.1.parameters.json similarity index 93% rename from Documentation/Deployment/service-fabric-observer.v3.3.0.parameters.json rename to Documentation/Deployment/service-fabric-observer.v3.3.1.parameters.json index 9e7bea4c..ba694bdc 100644 --- a/Documentation/Deployment/service-fabric-observer.v3.3.0.parameters.json +++ b/Documentation/Deployment/service-fabric-observer.v3.3.1.parameters.json @@ -6,7 +6,7 @@ "value": "" }, "applicationTypeVersionFabricObserver": { - "value": "3.3.0" + "value": "3.3.1" }, "packageUrlFabricObserver": { "value": "" diff --git a/Documentation/OperationalTelemetry.md b/Documentation/OperationalTelemetry.md index 4f06ff5c..028fed64 100644 --- a/Documentation/OperationalTelemetry.md +++ b/Documentation/OperationalTelemetry.md @@ -18,7 +18,7 @@ As with most of FabricObserver's application settings, you can also do this with Connect-ServiceFabricCluster ... $appParams = @{ "ObserverManagerEnableOperationalFOTelemetry" = "false"; } -Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/FabricObserver -ApplicationParameter $appParams -ApplicationTypeVersion 3.3.0 -UnMonitoredAuto +Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/FabricObserver -ApplicationParameter $appParams -ApplicationTypeVersion 3.3.1 -UnMonitoredAuto ``` @@ -44,7 +44,7 @@ Here is a full example of exactly what is sent in one of these telemetry events, "ClusterId": "00000000-1111-1111-0000-00f00d000d", "ClusterType": "SFRP", "NodeNameHash": "3e83569d4c6aad78083cd081215dafc81e5218556b6a46cb8dd2b183ed0095ad", - "FOVersion": "3.3.0", + "FOVersion": "3.3.1", "HasPlugins": "False", "SFRuntimeVersion":"9.0.1028.9590" "UpTime": "1.00:30:18.8058379", diff --git a/Documentation/Plugins.md b/Documentation/Plugins.md index 6b3d455d..be7e3c58 100644 --- a/Documentation/Plugins.md +++ b/Documentation/Plugins.md @@ -72,5 +72,5 @@ cd C:\Users\me\source\repos\service-fabric-observer ./Build-FabricObserver ./Build-NugetPackages ``` -The output from the above commands contains FabricObserver platform-specific nupkgs and a nupkg you have to use for plugin authoring named Microsoft.ServiceFabricApps.FabricObserver.Extensibility.3.3.0.nupkg. Nuget packages will be located in +The output from the above commands contains FabricObserver platform-specific nupkgs and a nupkg you have to use for plugin authoring named Microsoft.ServiceFabricApps.FabricObserver.Extensibility.3.3.1.nupkg. Nuget packages will be located in C:\Users\me\source\repos\service-fabric-observer\bin\release\FabricObserver\Nugets. \ No newline at end of file diff --git a/Documentation/Using.md b/Documentation/Using.md index ae9e2641..8d5b6f5c 100644 --- a/Documentation/Using.md +++ b/Documentation/Using.md @@ -708,7 +708,7 @@ $appParams = @{ "FabricSystemObserverEnabled" = "true"; "FabricSystemObserverMem Then execute the application upgrade with ```Powershell -Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/FabricObserver -ApplicationTypeVersion 3.3.0 -ApplicationParameter $appParams -Monitored -FailureAction rollback +Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/FabricObserver -ApplicationTypeVersion 3.3.1 -ApplicationParameter $appParams -Monitored -FailureAction rollback ``` **Important**: This action will overwrite previous app paramemter changes that were made in an earlier application upgrade, for example. If you want to preserve any earlier changes, then you will need to @@ -716,7 +716,7 @@ supply those parameter values again along with the new ones. You do this in the ```PowerShell $appName = "fabric:/FabricObserver" -$appVersion = "3.3.0" +$appVersion = "3.3.1" $application = Get-ServiceFabricApplication -ApplicationName $appName $appParamCollection = $application.ApplicationParameters $applicationParameterMap = @{} diff --git a/FabricObserver.Extensibility.nuspec.template b/FabricObserver.Extensibility.nuspec.template index 1d859e5d..88f43479 100644 --- a/FabricObserver.Extensibility.nuspec.template +++ b/FabricObserver.Extensibility.nuspec.template @@ -1,8 +1,8 @@ - + %PACKAGE_ID% - 3.3.0 + 3.3.1 This is the .NET 8 implementation of FabricObserver's Extensibility library. Use this library to build .NET 8 FabricObserver and ClusterObserver plugins. diff --git a/FabricObserver.Extensibility/FabricObserver.Extensibility.csproj b/FabricObserver.Extensibility/FabricObserver.Extensibility.csproj index 9c148778..ae8ea793 100644 --- a/FabricObserver.Extensibility/FabricObserver.Extensibility.csproj +++ b/FabricObserver.Extensibility/FabricObserver.Extensibility.csproj @@ -5,20 +5,21 @@ FabricObserver Copyright © 2024 FabricObserver - 3.3.0 - 3.3.0 + 3.3.1 + 3.3.1 true + string - - - - - + + + + + - - - + + + diff --git a/FabricObserver.nuspec.template b/FabricObserver.nuspec.template index a3381d87..4a507a06 100644 --- a/FabricObserver.nuspec.template +++ b/FabricObserver.nuspec.template @@ -1,8 +1,8 @@ - + %PACKAGE_ID% - 3.3.0 + 3.3.1 - .NET 8 implementation of FabricObserver. This version is built for .NET 8 and SF Runtime >= 9.1 (Self-Contained FO builds only). If you have deployed SF Runtime version >= 10.1 Cumulative Update 3.0 (CU3), then you can deploy the framework-dependent release build for the target platform (Windows or Linux). If you are not running SF Runtime version >= 10.1 CU3, then you must deploy the Self-Contained release build for the target platform (Windows or Linux). **If you can't upgrade to .NET 8 yet, then do not upgrade to this version.** - The FabricObserverWebAPI project has been completely removed and all related usage in observers removed. diff --git a/FabricObserver.sln b/FabricObserver.sln index b7574bb7..8be67b2b 100644 --- a/FabricObserver.sln +++ b/FabricObserver.sln @@ -36,9 +36,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution SECURITY.md = SECURITY.md Documentation\Deployment\service-fabric-cluster-observer.json = Documentation\Deployment\service-fabric-cluster-observer.json Documentation\Deployment\service-fabric-observer.json = Documentation\Deployment\service-fabric-observer.json - Documentation\Deployment\service-fabric-cluster-observer.v2.3.0.parameters.json = Documentation\Deployment\service-fabric-cluster-observer.v2.3.0.parameters.json + Documentation\Deployment\service-fabric-cluster-observer.v2.3.1.parameters.json = Documentation\Deployment\service-fabric-cluster-observer.v2.3.1.parameters.json Documentation\Using.md = Documentation\Using.md - Documentation\Deployment\service-fabric-observer.v3.3.0.parameters.json = Documentation\Deployment\service-fabric-observer.v3.3.0.parameters.json + Documentation\Deployment\service-fabric-observer.v3.3.1.parameters.json = Documentation\Deployment\service-fabric-observer.v3.3.1.parameters.json EndProjectSection EndProject Project("{A07B5EB6-E848-4116-A8D0-A826331D98C6}") = "ClusterObserverApp", "ClusterObserverApp\ClusterObserverApp.sfproj", "{BD5D216F-5F89-4CC4-92FD-D6FDEC5A19AD}" diff --git a/FabricObserver/FabricObserver.csproj b/FabricObserver/FabricObserver.csproj index 833e4257..e6a1740c 100644 --- a/FabricObserver/FabricObserver.csproj +++ b/FabricObserver/FabricObserver.csproj @@ -11,8 +11,8 @@ True Copyright © 2024 FabricObserver - 3.3.0 - 3.3.0 + 3.3.1 + 3.3.1 true true FabricObserver.Program @@ -30,10 +30,10 @@ - - - - + + + + diff --git a/FabricObserver/Observers/AppObserver.cs b/FabricObserver/Observers/AppObserver.cs index 4034f39a..6445140e 100644 --- a/FabricObserver/Observers/AppObserver.cs +++ b/FabricObserver/Observers/AppObserver.cs @@ -2492,7 +2492,7 @@ any processes that the service process (parent) created/spawned (children). */ } // Memory - Private Bytes MB. Windows-only. - if (IsWindows && application.ErrorPrivateBytesMb > 0 || application.WarningPrivateBytesMb > 0) + if (IsWindows && (application.ErrorPrivateBytesMb > 0 || application.WarningPrivateBytesMb > 0)) { _ = AllAppPrivateBytesDataMb.TryAdd(id, new FabricResourceUsageData(ErrorWarningProperty.PrivateBytesMb, id, 1, false, EnableConcurrentMonitoring)); } @@ -2504,7 +2504,7 @@ any processes that the service process (parent) created/spawned (children). */ } // Memory - Private Bytes (Percent). Windows-only. - if (IsWindows && application.ErrorPrivateBytesPercent > 0 || application.WarningPrivateBytesPercent > 0) + if (IsWindows && (application.ErrorPrivateBytesPercent > 0 || application.WarningPrivateBytesPercent > 0)) { _ = AllAppPrivateBytesDataPercent.TryAdd(id, new FabricResourceUsageData(ErrorWarningProperty.PrivateBytesPercent, id, 1, false, EnableConcurrentMonitoring)); } diff --git a/FabricObserver/Observers/ObserverManager.cs b/FabricObserver/Observers/ObserverManager.cs index fdb0a52a..e059208f 100644 --- a/FabricObserver/Observers/ObserverManager.cs +++ b/FabricObserver/Observers/ObserverManager.cs @@ -54,7 +54,7 @@ private List Observers private CancellationTokenSource linkedSFRuntimeObserverTokenSource; // Folks often use their own version numbers. This is for internal diagnostic telemetry. - private const string InternalVersionNumber = "3.3.0"; + private const string InternalVersionNumber = "3.3.1"; private static FabricClient FabricClientInstance => FabricClientUtilities.FabricClientSingleton; diff --git a/FabricObserver/PackageRoot/Config/Settings.xml b/FabricObserver/PackageRoot/Config/Settings.xml index 6f44de00..cd8cf31d 100644 --- a/FabricObserver/PackageRoot/Config/Settings.xml +++ b/FabricObserver/PackageRoot/Config/Settings.xml @@ -399,7 +399,7 @@ If you want to enable versionless application parameter updates, then add MustOverride to the Parameters you want to be able to change without redeploying FO and add them to ApplicationManifest.xml like all the other observers. - All observers are enabled by default, so even you do not supply any parameters here (like, leave this commented out) your observer plugin will run. + All observers are enabled by default, so even you do not supply any parameters here (like, leave this commented out) your observer plugin will run.-->
@@ -407,5 +407,13 @@ -
--> + +
+ + + + + + +
\ No newline at end of file diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/AzCPFoundation.Common.Helpers.Core.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/AzCPFoundation.Common.Helpers.Core.dll new file mode 100644 index 00000000..2755935a Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/AzCPFoundation.Common.Helpers.Core.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/AzCPFoundation.Common.Instrumentation.Core.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/AzCPFoundation.Common.Instrumentation.Core.dll new file mode 100644 index 00000000..4000dee6 Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/AzCPFoundation.Common.Instrumentation.Core.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/AzServiceFundamentals.Common.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/AzServiceFundamentals.Common.dll new file mode 100644 index 00000000..16259e0f Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/AzServiceFundamentals.Common.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/FabricObserverMdm.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/FabricObserverMdm.dll new file mode 100644 index 00000000..d7c10b13 Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/FabricObserverMdm.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Events.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Events.dll new file mode 100644 index 00000000..792e9599 Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Events.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.ServiceFabric.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.ServiceFabric.dll new file mode 100644 index 00000000..7bc8d85c Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.ServiceFabric.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Throttling.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Throttling.dll new file mode 100644 index 00000000..ba93240c Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Throttling.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Utilities.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Utilities.dll new file mode 100644 index 00000000..28d40a6e Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Utilities.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Web.Shared.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Web.Shared.dll new file mode 100644 index 00000000..7d910ce7 Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Web.Shared.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Web.dll b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Web.dll new file mode 100644 index 00000000..0fc237bc Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/MDMObserver/Microsoft.Azure.Common.Web.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/Polly.dll b/FabricObserver/PackageRoot/Data/Plugins/Polly.dll new file mode 100644 index 00000000..97b9ed4c Binary files /dev/null and b/FabricObserver/PackageRoot/Data/Plugins/Polly.dll differ diff --git a/FabricObserver/PackageRoot/Data/Plugins/Readme.txt b/FabricObserver/PackageRoot/Data/Plugins/Readme.txt index 83c64d3a..c4595eb8 100644 --- a/FabricObserver/PackageRoot/Data/Plugins/Readme.txt +++ b/FabricObserver/PackageRoot/Data/Plugins/Readme.txt @@ -7,8 +7,8 @@ Note that the observer API lives in its own library, FabricObserver.Extensibilit 1. Create a new .NET 6 Library project. 2. Install the same version of the Microsoft.ServiceFabricApps.FabricObserver.Extensibility nupkg from https://www.nuget.org/profiles/ServiceFabricApps as the version of FabricObserver you are deploying. - E.g., 3.3.0 if you are going to deploy FO 3.3.0. - NOTE: You can also consume the entire FabricObserver 3.3.0 nupkg to build your plugin. Please see the SampleObserverPlugin project's csproj file for more information. + E.g., 3.3.1 if you are going to deploy FO 3.3.1. + NOTE: You can also consume the entire FabricObserver 3.3.1 nupkg to build your plugin. Please see the SampleObserverPlugin project's csproj file for more information. 3. Write an observer! @@ -68,5 +68,5 @@ cd C:\Users\me\source\repos\service-fabric-observer ./Build-FabricObserver ./Build-NugetPackages -The output from the above commands contains FabricObserver platform-specific nupkgs and a package you have to use for plugin authoring named Microsoft.ServiceFabricApps.FabricObserver.Extensibility.3.3.0.nupkg. Nupkg files from above command would be located in +The output from the above commands contains FabricObserver platform-specific nupkgs and a package you have to use for plugin authoring named Microsoft.ServiceFabricApps.FabricObserver.Extensibility.3.3.1.nupkg. Nupkg files from above command would be located in C:\Users\me\source\repos\service-fabric-observer\bin\release\FabricObserver\Nugets. \ No newline at end of file diff --git a/FabricObserver/PackageRoot/ServiceManifest.xml b/FabricObserver/PackageRoot/ServiceManifest.xml index 51a8c823..7af92c65 100644 --- a/FabricObserver/PackageRoot/ServiceManifest.xml +++ b/FabricObserver/PackageRoot/ServiceManifest.xml @@ -1,6 +1,6 @@  @@ -9,7 +9,7 @@ This name must match the string used in RegisterServiceType call in Program.cs. --> - + FabricObserver @@ -19,10 +19,10 @@ - + - + \ No newline at end of file diff --git a/FabricObserver/PackageRoot/ServiceManifest_linux.xml b/FabricObserver/PackageRoot/ServiceManifest_linux.xml index b712593c..14ab4972 100644 --- a/FabricObserver/PackageRoot/ServiceManifest_linux.xml +++ b/FabricObserver/PackageRoot/ServiceManifest_linux.xml @@ -1,6 +1,6 @@  @@ -11,7 +11,7 @@ - + setcaps.sh @@ -27,10 +27,10 @@ - + - + \ No newline at end of file diff --git a/FabricObserverApp/ApplicationPackageRoot/ApplicationManifest.xml b/FabricObserverApp/ApplicationPackageRoot/ApplicationManifest.xml index 04d02cda..3ba318f5 100644 --- a/FabricObserverApp/ApplicationPackageRoot/ApplicationManifest.xml +++ b/FabricObserverApp/ApplicationPackageRoot/ApplicationManifest.xml @@ -1,6 +1,6 @@  - + @@ -251,7 +251,7 @@ should match the Name and Version attributes of the ServiceManifest element defined in the ServiceManifest.xml file. --> - + diff --git a/FabricObserverTests/FabricObserverTests.csproj b/FabricObserverTests/FabricObserverTests.csproj index d47cf55a..4b033259 100644 --- a/FabricObserverTests/FabricObserverTests.csproj +++ b/FabricObserverTests/FabricObserverTests.csproj @@ -10,14 +10,14 @@ x64 - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/README.md b/README.md index 384935b8..3ed9651b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## FabricObserver 3.3.0 (.NET 8) +## FabricObserver 3.3.1 (.NET 8) [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fmicrosoft%2Fservice-fabric-observer%2Fmain%2FDocumentation%2FDeployment%2Fservice-fabric-observer.json) @@ -10,7 +10,7 @@ 4. Supports [Configuration Setting Application Updates](/Documentation/Using.md#parameterUpdates) for any observer for any supported setting. 5. Is actively developed in the open. -> FabricObserver targets SF runtime versions 9.1 and higher. Starting with version 3.3.0, you must deploy the self-contained release package unless you are deploying to a cluster running SF Version 10.1 CU3 or higher, then you can deploy framework-dependent release. +> FabricObserver targets SF runtime versions 9.1 and higher. Starting with version 3.3.1, you must deploy the self-contained release package unless you are deploying to a cluster running SF Version 10.1 CU3 or higher, then you can deploy framework-dependent release. FO is a Stateless Service Fabric Application composed of a single service that runs on every node in your cluster, so it can be deployed and run alongside your applications without any changes to them. Each FO service instance knows nothing about other FO instances in the cluster, by design. @@ -91,7 +91,7 @@ see [FOAzurePipeline.yaml](/FOAzurePipeline.yaml) for msazure devops build tasks .net6 installed (if you deploy VM images from Azure gallery, then they will not have .net6 installed), then you must deploy the SelfContained package. ### Deploy FabricObserver -**Note: You must deploy this version (3.3.0) to clusters that are running SF 9.0 and above. This version also requires .NET 6.** +**Note: You must deploy this version (3.3.1) to clusters that are running SF 9.0 and above. This version also requires .NET 6.** You can deploy FabricObserver (and ClusterObserver) using Visual Studio (if you build the sources yourself), PowerShell or ARM. Please note that this version of FabricObserver no longer supports the DefaultServices node in ApplicationManifest.xml. This means that should you deploy using PowerShell, you must create an instance of the service as the last command in your script. This was done to support ARM deployment, specifically. The StartupServices.xml file you see in the FabricHealerApp project now contains the service information once held in ApplicationManifest's DefaultServices node. Note that this information is primarily useful for deploying from Visual Studio. @@ -139,7 +139,7 @@ Register-ServiceFabricApplicationType -ApplicationPathInImageStore FO330 #Create FO application (if not already deployed at lesser version): -New-ServiceFabricApplication -ApplicationName fabric:/FabricObserver -ApplicationTypeName FabricObserverType -ApplicationTypeVersion 3.3.0 +New-ServiceFabricApplication -ApplicationName fabric:/FabricObserver -ApplicationTypeName FabricObserverType -ApplicationTypeVersion 3.3.1 #Create the Service instances (-1 means all nodes, which is what is required for FO): @@ -147,14 +147,14 @@ New-ServiceFabricService -Stateless -PartitionSchemeSingleton -ApplicationName f #OR if updating existing version: -Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/FabricObserver -ApplicationTypeVersion 3.3.0 -Monitored -FailureAction rollback +Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/FabricObserver -ApplicationTypeVersion 3.3.1 -Monitored -FailureAction rollback ``` ## Observer Model FO is composed of Observer objects (instance types) that are designed to observe, record, and report on several machine-level environmental conditions inside a Windows or Linux (Ubuntu) VM hosting a Service Fabric node. -**NOTE:** ```SFConfigurationObserver```, which has been deprecated for several releases has been completely removed in 3.3.0. Further, all related settings have been removed from Settings.xml and ApplicationManifest.xml. +**NOTE:** ```SFConfigurationObserver```, which has been deprecated for several releases has been completely removed in 3.3.1. Further, all related settings have been removed from Settings.xml and ApplicationManifest.xml. Here are the current observers and what they monitor: diff --git a/SampleObserverPlugin/SampleObserverPlugin.csproj b/SampleObserverPlugin/SampleObserverPlugin.csproj index 29dc3507..0714e42a 100644 --- a/SampleObserverPlugin/SampleObserverPlugin.csproj +++ b/SampleObserverPlugin/SampleObserverPlugin.csproj @@ -13,24 +13,27 @@ - + - - + - + - + + + + \ No newline at end of file diff --git a/TelemetryLib/TelemetryLib.csproj b/TelemetryLib/TelemetryLib.csproj index 556f4b59..b26064cf 100644 --- a/TelemetryLib/TelemetryLib.csproj +++ b/TelemetryLib/TelemetryLib.csproj @@ -11,8 +11,8 @@ TelemetryLib - - + + \ No newline at end of file diff --git a/XmlDiffPatchSF/Program.cs b/XmlDiffPatchSF/Program.cs index 10bdbb4b..abf6d6bb 100644 --- a/XmlDiffPatchSF/Program.cs +++ b/XmlDiffPatchSF/Program.cs @@ -28,7 +28,7 @@ private static void Main(string[] args) "preceding the file extension.\n\n" + "**Note, if you have observer plugins, then you must supply true for [mergeExistingNodes] as the last argument to pull over your plugin settings as part of the merge.**.\n\n" + "Example:\n\n" + - "DiffPatchXml \"C:\\repos\\FO\\3.1.26\\configs\\ApplicationManifest.xml\" \"C:\\repos\\FO\\3.3.0\\configs\\ApplicationManifest.xml\"\n"); + "DiffPatchXml \"C:\\repos\\FO\\3.1.26\\configs\\ApplicationManifest.xml\" \"C:\\repos\\FO\\3.3.1\\configs\\ApplicationManifest.xml\"\n"); return; } diff --git a/conuget.md b/conuget.md index 20a4a63a..f6ee2f64 100644 --- a/conuget.md +++ b/conuget.md @@ -1,4 +1,4 @@ -### ClusterObserver 2.3.0 (.NET 8) +### ClusterObserver 2.3.1 (.NET 8) #### This version requires SF Runtime >= 9.1 and targets .NET 8. [ClusterObserver (CO)](https://github.com/microsoft/service-fabric-observer/tree/main/ClusterObserver) is a stateless singleton Service Fabric .NET 8 application that runs on one node in a cluster. CO observes cluster health (aggregated) @@ -32,7 +32,7 @@ $appParams = @{ "RunInterval" = "00:10:00"; "MaxTimeNodeStatusNotOk" = "04:00:00 Then execute the application upgrade with ```Powershell -Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/ClusterObserver -ApplicationTypeVersion 2.3.0 -ApplicationParameter $appParams -Monitored -FailureAction rollback +Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/ClusterObserver -ApplicationTypeVersion 2.3.1 -ApplicationParameter $appParams -Monitored -FailureAction rollback ``` Example Configuration: diff --git a/foextlib.md b/foextlib.md index ed5d3ba8..8982e97a 100644 --- a/foextlib.md +++ b/foextlib.md @@ -1,10 +1,10 @@ -## FabricObserver Extensibility Library 3.3.0 (.NET 8) +## FabricObserver Extensibility Library 3.3.1 (.NET 8) FabricObserver.Extensibility is a .NET 8 library for building custom observers that extend FabricObserver's and ClusterObserver's capabilities to match your needs. A custom observer is managed just like a built-in observer. ### How to implement an observer using FO's extensibility model -1. Create a new .NET core library project. You should target net8.0 in your csproj because that is the target net SDK version that FabricObserver 3.3.0 is built for. +1. Create a new .NET core library project. You should target net8.0 in your csproj because that is the target net SDK version that FabricObserver 3.3.1 is built for. 2. Install the latest Microsoft.ServiceFabricApps.FabricObserver.Extensibility nupkg from https://www.nuget.org/profiles/ServiceFabricApps into your plugin project. diff --git a/fonuget.md b/fonuget.md index 9ef5a187..a8be2336 100644 --- a/fonuget.md +++ b/fonuget.md @@ -1,4 +1,4 @@ -## FabricObserver 3.3.0 (.NET 8) +## FabricObserver 3.3.1 (.NET 8) [**FabricObserver (FO)**](https://github.com/microsoft/service-fabric-observer) is a production-ready watchdog service with an easy-to-use extensibility model, written as a stateless, singleton Service Fabric **.NET 8** application that by default