Skip to content

Releases: microsoft/service-fabric-observer

FabricObserver 3.3.0

07 Aug 22:14
22bd802
Compare
Choose a tag to compare

FabricObserver 3.3.0, ClusterObserver 2.3.0 SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

FabricObserver Changes

Deploy to Azure

  • .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).

  • The FabricObserverWebAPI project has been completely removed and all related usage in observers removed.

  • FabricSystemObserver no longer monitors Windows Event Logs. Setting the related configuration values will have no effect.

ClusterObserver Changes

Deploy to Azure

  • .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).

FabricObserver 3.2.15

20 Mar 20:44
1e27edd
Compare
Choose a tag to compare

FabricObserver 3.2.15 SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

Deploy to Azure

FabricObserver Changes

  • Added support for Observer raw metric telemetry disablement via configuration. This enables you to disable raw metric telemetry for any supported observer. This is useful if you are running FabricObserver in a non-production environment and do not want to send a raw telemetry data to Application Insights or Log Analytics. This feature is disabled by default. To enable it, you must set the [Observer name]EmitRawMetricTelemetry parameter to false in ApplicationManifest.xml.
  • Fixed a bug in AppObserver that can lead to FabricObserver incorrectly reporting that a target service process couldn't be monitored because it was running at a higher privilege level than FabricObserver.

FabricObserver 3.2.14

31 Jan 19:36
4b9e786
Compare
Choose a tag to compare

FabricObserver 3.2.14, ClusterObserver 2.2.8 SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

Deploy to Azure

FabricObserver Changes

  • Breaking Change: Telemetry configuration settings are now required to be overridden in ApplicationManifest.xml to support versionless, parameter-only application upgrades for telemetry settings. See Issue 292 for details. Just move your related settings' Value strings from Settings.xml to ApplicationManifest.xml app parameter (the names of these settings are the same).
  • Bug fixes and performance improvements to address AppObserver (in concurrency mode) consuming high CPU if misconfigured. There are now throttles and guardrails in place that will override any related user configuration that is deemed "dangerous" with respect to CPU consumption.
  • Bug fix in app param update for log path and max archive lifetime settings.
  • Updated nuget package dependencies to latest versions.

ClusterObserver Changes

  • Breaking Change: Telemetry configuration settings are now required to be overridden in ApplicationManifest.xml to support versionless, parameter-only application upgrades for telemetry settings. See Issue 292 for details. Just move your related settings' Value strings from Settings.xml to ApplicationManifest.xml app parameter (the names of these settings are the same).
  • Bug fix in app param update for log path and max archive lifetime settings.
  • Updated nuget package dependencies to latest versions.

Note: Microsoft.ServiceFabricApps.FabricObserver.Extensibility.3.2.14 shipped with an incorrect dependency specification. The issue is that it will build using the wrong version of DependencyInjection.Abstractions (7.0.0), which will break the build of your plugin. There are two simple fixes:

1.) Don't build your plugins targeting this release of Extensibility package. That is fine, generally, in fact. There is nothing in this release that would prevent your plugins from building and then from working when hosted in FO/CO 3.2.14 process. There are seldom breaking changes in ObserverBase and related code that break plugin building from release to release of the package. When your plugin is hosted in FO or CO, the version of these services will already have the same version of Extensibility library in place in their code packages. This means that your plugin will target that version at runtime.

2.) Add a Package Reference in your plugin csproj files that reference the correct version of DependencyInjection.Abstractions:

<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />

Again, option 2 is not necessary as there are no changes that will impact the behavior of your existing plugin(s) in this release of Extensibility package and the primary goal of using this package is to build your plugins without having to consume the entire FO/CO nuget package and then having to keep track of dependency versions of DependencyInjection.Abstractions when these are updated to later versions in the Extensibility project.

FabricObserver 3.2.13

19 Jan 00:50
9d4f5dd
Compare
Choose a tag to compare

FabricObserver 3.2.13. SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

Deploy to Azure

FabricObserver Changes

  • Added feature for applications to set AppObserver thresholds in Application Manifest. This release only allows for specifying RG memory threshold settings for AppObserver in FO's ApplicationManifest. Support for other AppObserver Application Parameter settings will come in future releases.

FabricObserver 3.2.12

21 Dec 22:39
e22e37e
Compare
Choose a tag to compare

FabricObserver 3.2.12. SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

Deploy to Azure

FabricObserver Changes

  • ESE LVID count monitor updated to support ESE database performance category change in SF 10.x versions.
  • Adding a warning health event to inform customer if there is an issue with loading plugins.

FabricObserver 3.2.11

25 Sep 22:25
143a7c6
Compare
Choose a tag to compare

FabricObserver 3.2.11 and ClusterObserver 2.2.6 SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

Deploy to Azure

FabricObserver Changes

  • Bug fix in OSObserver's Windows Update Automatic Download check.
  • Bug fix in Windows dynamic port range detection (rare occurences, but still a bug).
  • Memory usage improvement in Github release version check implementation.
  • Updated package dependencies.

ClusterObserver Changes

  • Bug Fix in App Parameter Version-less Upgrade feature.
  • Performance and Code improvements.

FabricObserver 3.2.10

08 Sep 19:31
f84b76b
Compare
Choose a tag to compare

FabricObserver 3.2.10. SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

Deploy to Azure

NOTE: If you employ the nupkgs, then you should consume 3.2.10.2 patched release as it contains fixes for issues with FO version number in ApplicationManifest.xml (the app type and service manifest versions are wrong, so you won't be able to deploy FO directly from the nupkg). There are no code issue fixes, just a configuration fix, but if you don't manually change the application type version and service manifest version yourself, then FO won't deploy. So, just consume 3.2.10.2 nupkgs if you automate upgrades from nupkgs without modifying configuration first. The sfpkgs below are not impacted by this, so direct ARM deployment will work as expected.

FabricObserver Changes

  • AppObserver Bug Fix: #276
  • Linux: Added Process object lifetime management in Bash() extension method. Removed hardcoded SF data root string ("/mnt/sfroot") and instead use ServiceFabricConfiguration.Instance.FabricDataRoot. This only impacts FabricSystemObserver.

FabricObserver 3.2.9

14 Aug 18:54
Compare
Choose a tag to compare

FabricObserver 3.2.9, ClusterObserver 2.2.5 - SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

Deploy to Azure

FabricObserver Changes

  • AppObserver no longer relies on Environment.ProcessorCount to determine concurrent monitoring capability. Even if you are CPU-limiting FabricObserver to a percentage of a single CPU core via Service Fabric Resource Governance, in which case Environment.ProcessorCount would return 1, AppObserver will still monitor services concurrently if AppObserverEnableConcurrentMonitoring is set to true.

  • AppObserver: Bug fix in child process monitoring.

  • AppObserver: Bug fix in Cpu RG monitoring.

  • Performance and Code improvements.

ClusterObserver Changes

  • Performance and Code improvements.

FabricObserver 3.2.8

15 May 18:10
Compare
Choose a tag to compare

FabricObserver 3.2.8 - SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

Deploy to Azure

FabricObserver Changes

  • Added support for CPU Resource Governance monitoring (Windows-only). By default, if enabled, FO will put services into Warning state when host processes reach 90% (or what you configure the threshold to be) of the specified governance limit.

  • Performance and code improvements.

FabricObserver 3.2.7

27 Apr 18:02
Compare
Choose a tag to compare

FabricObserver 3.2.7, ClusterObserver 2.2.4 - SFPkgs with Microsoft-signed binaries. Microsoft-signed Nupkgs will be located in the nuget.org gallery.

Deploy to Azure

FabricObserver Changes

Bug fixes, several performance and code improvements. This is the most performant FO to date, with increased process monitoring reliability, data accuracy, and quality.

  • AppObserver: Updated RGMemory implementation for monitoring Memory and warning when a service is approaching configured Resource Governance limits. This includes support for app parameter updates for RGMemory settings (Bug in previous versions).

  • AppObserver: Significant performance improvements for child process detection - essentially a new implementation that ensures both accuracy and speed. When you employ maximum concurrency level, FO will do more work (with more threads), but the overall impact on the CPU is not detrimental. If you monitor lots of services, and you run on systems with at least 8 logical processors, you should enable AppObserverEnableConcurrentMonitoring setting and set MaxConcurrentTasks to -1.

  • AppObserver now does a best effort job to prevent issues when Windows or Linux recycles process identifiers. Overall, AppObserver will prevent monitoring wrong processes (which is rare, but can happen without the new AppObserver logic to prevent it from doing so).

  • New public APIs in FabricObserver.Extensibility including fast process information lookups and BOUND state TCP port information retrieval.

  • Quality improvements, including new tests and expanded logging, across the board.

ClusterObserver Changes:

  • Code improvements.