I thought this was kind of a cool feature- the ability to send a message to appear to specific or all users in the Cloud Control Console. I have to admit that I used to like a similar feature in Microsoft/MSSQL to send network broadcast messages to desktops that offered one more way to get information to users that they might be less inclined to miss.
Anyone who’s already deployed/upgraded to Enterprise Manager 13c and wanted to search how to use this feature, it’s not well documented, so I’m going to blog about it and hopefully that will assist those that would like to put this great little feature to use.
First off, know that the broadcast message is issued by the administrator from the Enterprise Manager command line, (EMCLI.) There isn’t a current cloud control interface mechanism to perform this.
If you look in the documentation, you’ll most likely search, (like I did) for a verb that has a naming convention of %broadcast%, but came up with nothing. The reason you can’t find anything is that the verb is wrong in the docs and I’ve submitted a document bug to have this corrected, (thanks to Pete Sharman who had a previous example of the execution, so realized it didn’t match what he had in his examples…)
In the docs, you’ll find the entry for this under the verb: publish_message
The correct verb for this feature is: send_system_broadcast
I ended up pinging Pete because I was concerned that the verb didn’t exist and it took a search for the right key word to find it after dumping out all the EMCLI verbs to a text file. Its a good idea to know how to do this, simply type in the following to gather all the verbs from the library and redirect them to a file that’s easier to parse through with an editor:
$ ./emcli help > emcli.list
You can then view this list and in it, you’ll find the correct verb name:
System Broadcast Verbs
send_system_broadcast — Send a System Broadcast to users logged into the UI
Once you know the verb, then you can request detailed information from the EMCLI verb help command:
$ ./emcli help send_system_broadcast emcli send_system_broadcast -toOption="ALL|SPECIFIC" [-to="comma separated user names"] [-messageType="INFO|CONF|WARN|ERROR|FATAL" (default is INFO)] -message="message details" Options: -toOption Enter the value ALL to send to all users logged into the Enterprise Manager UI enter SPECIFIC to send to a specific EM User -to Comma separated list of users. This is only used if -toOption is SPECIFIC -messageType Type of System Broadcast, it can be one of following types INFO|CONF|WARN|ERROR|FATAL -message Message that needs to be sent in the System Broadcast. It must have a maximum of 200 characters.
EM CLI verbs can be issued two different ways, as a single command from the host command line interface or internal to the EM CLI utility. For the command to execute successfully, the login into the EM CLI must be performed, otherwise, you’ll receive an unauthorized error like the one below:
$ ./emcli send_system_broadcast -toOption="ALL" -message="System Maintenance, 6pm" Status:Unauthorized 401
$ ./emcli login -username=sysman Enter password : Login successful $ ./emcli send_system_broadcast -toOption="ALL" -messageType="WARN" -message="System Maintenance, 6pm" Successfully requested to send System Broadcast to users.
Note: If you upgraded your EM12c to EM13c, ensure you syncronize your CLI library before attempting using a new verb from the 13c library, too.
I wasn’t as satisfied with the internal CLI utility. The error messages weren’t as helpful as when it was issued by the command line and then there were odd ones like below:
emcli>send_system_broadcast ( ... toOption="ALL" ... ,messageType="WARN" ... ,message="Applying EM Patch at 6pm MST, 3/1/2016" ... ) com.sun.jersey.api.client.ClientHandlerException: oracle.sysman.emCLI.omsbrowser.OMSBrowserException
So I found that issuing it from the host command line offered much better results:
$ ./emcli send_system_broadcast -toOption="ALL" -message="Testing" Successfully requested to send System Broadcast to users. $ ./emcli send_system_broadcast -toOption="ALL" -messageType="WARN" -message="Hello EM Users, Maintenance Outage at 6pm MST" Successfully requested to send System Broadcast to users.
The message shows at the top right of the screen and will continue to be displayed until the user clicks on Close-
Now, not that I’m advocating sending bogus or silly messages, but you can have some fun with this feature and send messages to unique users using the specific to option and call to any EMCC user:
$./emcli send_system_broadcast -toOption="SPECIFIC" -to="KPOTVIN" -messageType="WARN" -message="Get off my EM13c Console, NOW!!"
What does the message look like?
And no, you can’t send a specific user message to the SYSMAN user:
Following users are inactive/invalid. Cannot send System Broadcast to them: sysman.
Mean ol’ Enterprise Manager… 🙂