KB Article for OpsMgr: https://support.microsoft.com/en-us/help/3209591/update-rollup-2-for-system-center-2016-operations-manager
Download catalog site: http://www.catalog.update.microsoft.com/Search.aspx?q=3209591
Recommended hotfix page: https://blogs.technet.microsoft.com/kevinholman/2009/01/27/which-hotfixes-should-i-apply/
NOTE: I get this question every time we release an update rollup: ALL SCOM Update Rollups are CUMULATIVE. This means you do not need to apply them in order, you can always just apply the latest update. If you have deployed SCOM 2016 and never applied an update rollup – you can go straight to the latest one available.
Key fixes:
- When you use the Unix Process Monitoring Template wizard (adding a new template) to monitor processes on UNIX servers, the monitored data is not inserted into the database because of the following failure:
Source: Health Service Modules
Event ID: 10801
Description: Discovery data couldn’t be inserted to the database. This could have happened because of one of the following reasons:
– Discovery data is stale. The discovery data is generated by an MP recently deleted.
– Database connectivity problems or database running out of space.
– Discovery data received is not valid.The following is the underlying exception that causes this issue:
Exception type: Microsoft.EnterpriseManagement.Common.DataItemDoesNotExistException Message: ManagedTypeId = ccf81b2f-4b92-bbaf-f53e-d42cd9591c1c InnerException: StackTrace (generated): SP IP Function 000000000EE4EF10 00007FF8789773D5 Microsoft_EnterpriseManagement_DataAccessLayer!Microsoft.EnterpriseManagement.DataAccessLayer.TypeSpaceData.IsDerivedFrom(System.Guid, System.Guid)+0x385
- When a management server is removed from the All Management Servers Resource Pool, the monitoring host process does not update the TypeSpaceCache.
- When alerts are closed from the Alerts view after you run a Search, the closed Alerts still appear in the View when the Search is cleared.
- When you press Ctrl+C to copy an alert in Operations Manager Alert view and then press Ctrl+V to paste it to Notepad, the Created time is in UTC time, not local time.
- Groups disappear from Group view after they are added to a Distributed Application.
- IM notifications from Operating Manager to Skype fail when an incorrect exception causes NullReferenceException in the SipNotificationTransport.Send method.
- When the maintenance mode option for the dependency monitor is set to “Ignore,” and the group (consisting of the server to which this dependency monitor is targeted) is put in Maintenance mode, the state of the monitor changes to critical and does not ignore maintenance mode.
- Because of a rare scenario of incorrect computation of configuration and overrides, some managed entities may go into an unmonitored state. This behavior is accompanied by 1215 events that are written to the Operations Manager log.
- Recovery tasks on “Computer Not Reachable” Operations Manager Monitor generate failed logons on SCOM Agents that are not part of the same domain as the management groups.
- The ManagementGroupCollectionAlertsCountRule workflow fails and generates a “Power Shell Script failed to run” alert.
- Get-SCOMGroup cmdlet fails when thousands of groups are created in Operations Manager.
- Organizational unit properties for computers that are running Windows are not discovered or populated. This discovery is part of the System Center Internal Library MP. After this update, organizational unit properties will be discovered for all computers that are running Windows.
- When the Operations Manager Health Service agent starts, and the agent is configured for AD integration, if the agent cannot contact Active Directory at all, it immediately goes dormant and stops trying to connect and obtain the policy from Active Directory.
Issues that are fixed in the UNIX and Linux management packs
- SHA1 is deprecated, and SHA256 certificates are now supported on the management server that’s used to sign the Unix/Linux OMI certificate.
- OMI does not work on Linux servers configured for FIPS compliance.
- Avg. Physical disk sec/transfer performance counters are not displayed for Hewlett Packard computers.
- OMI displays incorrect Memory information on Solaris 10 computers.
- Network adapter performance is not displayed for SLES 12 x64 platform in the Operations Manager Console.
- Cannot discover file systems on HPUX 11.31 IA-64 computers with more than 128 disks. Previously it supported only 128 VGs. Now support is extended to 256 VGs.
- Deep monitoring cannot be started successfully on some JBoss applications because the discovery of the JBoss application server sets the Disk Path for the JBoss server incorrectly. Deep monitoring was not being started in JBoss stand-alone mode when a nondefault configuration was used.
Lets get started.
From reading the KB article – the order of operations is:
- Install the update rollup package on the following server infrastructure:
- Management server or servers
- Agent
- Nano Agent
- Web console server role computers
- Gateway
- Operations console role computers
- Reporting
- Apply SQL scripts.
- Manually import the management packs.
- Update manually installed Nano Agents
I disagree with the order in the KB article. Unless there is a documented reason to update agents before updating the rest of the infrastructure, this is a confusing step. Most enterprise customers will update their agents on a slower rollout, and you should NOT wait to patch the Web Consoles, Gateways, Consoles, and Reporting until after your agents are updated.
The KB article is also missing any mention of the ACS (Audit Collection Services) update which is included in this package. So if you are using ACS – don’t miss that step.
So my recommended order will be:
- Install the update rollup package on the following server infrastructure:
- Management server or servers
- Web console server role computers
- Gateway
- Operations console role computers
- Reporting
- ACS update
- Apply SQL scripts.
- Manually import the management packs.
- Update Agents
Additionally, we will add the steps to update any Linux management packs and agents, if they are present.
1. Management Servers
Since there is no RMS anymore, it doesn’t matter which management server I start with. There is no need to begin with whomever holds the “RMSe” role. I simply make sure I only patch one management server at a time to allow for agent failover without overloading any single management server.
I can apply this update manually via the MSP files, or I can use Windows Update. I have 2 management servers, so I will demonstrate both. I will do the first management server manually. This management server holds 3 roles, and each must be patched: Management Server, Web Console, and Console.
The first thing I do when I download the updates from the catalog, is copy the cab files for my language to a single location, and then extract the contents:
Once I have the MSP files, I am ready to start applying the update to each server by role.
***Note: You MUST log on to each server role as a Local Administrator, SCOM Admin, AND your account must also have System Administrator role to the SQL database instances that host your OpsMgr databases.
My first server is a management server, and the web console, and has the OpsMgr console installed, so I copy those update files locally, and execute them per the KB, from an elevated command prompt:
This launches a quick UI which applies the update. It will bounce the SCOM services as well. The update usually does not provide any feedback that it had success or failure…. but I did get:
You can check the application log for the MsiInstaller events to show completion:
Log Name: Application
Source: MsiInstaller
Event ID: 1036
Computer: SCOM1.opsmgr.net
Description:
Windows Installer installed an update. Product Name: System Center Operations Manager 2016 Server. Product Version: 7.2.11719.0. Product Language: 1033. Manufacturer: Microsoft Corporation. Update Name: System Center 2016 Operations Manager UR2 Update Patch. Installation success or error status: 0.
You can also spot check a couple DLL files for the file version attribute.
Next up – run the Web Console update:
This runs much faster. A quick file spot check:
Lastly – install the console update (make sure your console is closed):
A quick file spot check:
Or help/about in the console:
Additional Management Servers:
Windows Update contains the UR2 patches for SCOM 2016. For my second Management Server – I will demonstrate that:
Then:
Updating Gateways:
Generally I can use Windows Update or manual installation. I will proceed with manual:
The update launches a UI and quickly finishes.
Then I will spot check the DLL’s:
I can also spot-check the AgentManagement folder, and make sure my agent update files are dropped here correctly:
***NOTE: You can delete any older UR update files from the AgentManagement directories. The UR’s do not clean these up and they provide no purpose for being present any longer.
I can also apply the GW update via Windows Update:
Reporting Server Role Update
I kick off the MSP from en elevated command prompt, on my SSRS/SCOM Reporting role server:
This runs VERY fast and does not provide any feedback on success or failure.
Updating ACS (Audit Collection Services)
You would only need to update ACS if you had installed this optional role.
On any Audit Collection Collector servers, you should run the update included:
I thought it was interesting that the update says “OperationsManager 2012”…. it looks like this update is likely the same repackaged update for SCOM 2012 R2.
A spot check of the files:
2. Apply the SQL Scripts
In the path on your management servers, where you installed/extracted the update, there is ONE SQL script file:
%SystemDrive%Program FilesMicrosoft System Center 2016Operations ManagerServerSQL Script for Update Rollups
(note – your path may vary slightly depending on if you have an upgraded environment or clean install)
Next – let’s run the script to update the OperationsManager (Operations) database. Open a SQL management studio query window, connect it to your Operations Manager database, and then open the script file (update_rollup_mom_db.sql). Make sure it is pointing to your OperationsManager database, then execute the script.
You should run this script with each UR, even if you ran this on a previous UR. The script body can change so as a best practice always re-run this.
Click the “Execute” button in SQL mgmt. studio. The execution could take a considerable amount of time and you might see a spike in processor utilization on your SQL database server during this operation.
I have had customers state this takes from a few minutes to as long as an hour. In MOST cases – you will need to shut down the SDK, Config, and Monitoring Agent (healthservice) on ALL your management servers in order for this to be able to run with success.
You will see the following (or similar) output:
IF YOU GET AN ERROR – STOP! Do not continue. Try re-running the script several times until it completes without errors. In a production environment with lots of activity, you will almost certainly have to shut down the services (sdk, config, and healthservice) on your management servers, to break their connection to the databases, to get a successful run.
Technical tidbit: Even if you previously ran this script in any previous UR deployment, you should run this again in this update, as the script body can change with updated UR’s.
3. Manually import the management packs
There are 30 management packs in this update! Most of these we don’t need – so read carefully.
The path for these is on your management server, after you have installed the “Server” update:
Program FilesMicrosoft System Center 2016Operations ManagerServerManagement Packs for Update Rollups
However, the majority of them are Advisor/OMS, and language specific. Only import the ones you need, and that are correct for your language.
This is the initial import list:
What NOT to import:
The Advisor MP’s are only needed if you are using Microsoft Operations Management Suite cloud service, (Previously known as Advisor, and Operations Insights).
DON’T import ALL the languages – ONLY ENU, or any other languages you might require.
The Alert Attachment MP update is only needed if you are already using that MP for very specific other MP’s that depend on it (rare)
The IntelliTrace Profiling MP requires IIS MP’s and is only used if you want this feature in conjunction with APM.
So I remove what I don’t want or need – and I have this:
These import without issue.
4. Update Agents
Agents should be placed into pending actions by this update for any agent that was not manually installed (remotely manageable = yes):
If your agents are not placed into pending management – this is generally caused by not running the update from an elevated command prompt, or having manually installed agents which will not be placed into pending by design.
You can approve these – which will result in a success message once complete:
5. Update Unix/Linux MPs and Agents
The “UR2” Linux MP’s and agents have been updated to align with UR2 for SCOM 2016. You can get them here:
https://www.microsoft.com/en-us/download/details.aspx?id=29696
The current version of these MP’s for SCOM 2016 UR2 is 7.6.1072.0 – and includes agents with version 1.6.2-338
Make sure you download the correct version for your SCOM deployment:
Download, extract, and import ONLY the Linux/UNIX MP’s that are relevant to the OS versions that you want to monitor:
This will take a considerable amount of time to import, and consume a lot of CPU on the management servers and SQL server until complete.
Once it has completed, you will need to restart the Healthservice (Microsoft Monitoring Agent) on each management server, in order to get them to update their agent files at Program FilesMicrosoft System Center 2016Operations ManagerServerAgentManagementUnixAgents
You should see the new files dropped with new timestamps:
Now you can deploy the agent updates:
Next – you decide if you want to input credentials for the SSH connection and upgrade, or if you have existing RunAs accounts that are set up to do the job (Agent Maintenance/SSH Account)
If you have any issues, make sure your SUDOERS file has the correct information pertaining to agent upgrade:
https://blogs.technet.microsoft.com/kevinholman/2016/11/11/monitoring-unixlinux-with-opsmgr-2016/
6. Update the remaining deployed consoles
This is an important step. I have consoles deployed around my infrastructure – on my Orchestrator server, SCVMM server, on my personal workstation, on all the other SCOM admins on my team, on a Terminal Server we use as a tools machine, etc. These should all get the matching update version.
Review:
Now at this point, we would check the OpsMgr event logs on our management servers, check for any new or strange alerts coming in, and ensure that there are no issues after the update.
Known Issues:
1. The OU property on Windows Computers only works if the computer object is in an actual OU and not the built in “Computers” container. The problem is in a script in “Microsoft.SystemCenter.WindowsComputerPropertyDiscovery” datasource.
2. The “PatchList” property on the HealthService doesn’t work. This was re-written in PowerShell for SCOM 2016, and it looks like we still have a bug in the PatchList script.
3. When running the update for ACS – it states the update is running for Operations Manager 2012. The UI code was not updated as ACS is largely unchanged from SCOM 2012.
4. If you use Windows Update to deploy the UR2 packages, you might see Windows Update fall into a loop where it re-applies these patches over and over.