There are 2 types of remote action in BPPM, those that are ran by the Pnet agent on a remote host, and those that run on a cell (which could be remote or local). You can run any executable from the cell based actions.
Which actions do you want to use?
I forgot to mention that you can also pass event slot values as variables to excecutables using the cell remote actions.
Thanks for the information. I'll elaborate for you what exactly I am trying to achieve.
Suppose the BPPM server is installed on node A which is receiving events from AppDiag on Node B, based on that event an automatic remote action has to be triggered on Node C. In that action I want to execute a shell script on Node C which simply logs an entry into a log file and also I want to pass the destination path in the script, where the log file should be created on node C.
Can you please walk me through to a step by step solution of this scenario?
Thanks and Regards,
I recommend reviewing Chapter 7 "Configuring and using Remote Actions/Diagnostics" in the BMC ProactiveNet Administrator Guide. You will want to create a Remote Actions selecting the Event management rules option.
This should work if the path is either
- Known during remote action definition
- A data item in one of the slots which can be used as a Macro
I have read in this thread https://communities.bmc.com/thread/86869 that you may get errors in credentials by using BPPM Remote Actions. I also tried what stated in that thread and I could not get it to work either.
Another alternative I have used repeatedly without dealing with credentials is to use MRL rules in BPPM/BEM cells. You do need to know a little bit of MRL rule programming, but the method is very straightforward and universally works across different platforms and different versions of BEM/BPPM cells.
You need to have a cell running on node C - no need for BPPM agent, just cell only. In the cell of Node A, you need to write a propagation rule to propagate the AppDiag events received from Node B to the cell on Node C. If the destination path is not included in the event slot, you will also need to write a refine rule in the cell of Node A to add the path to one of the event slots that is not being used (e.g. mc_tool_suggestion).
In the cell of Node C, you need to write a new rule. Upon receiving the AppDiag event propagated from Node A, you simply call execute() function to run your shell script. You can pass the destination path (stored in an event slot) as an argument in execute() function. You do need to make sure that the account you use to start the cell has execution permission to run the shell script and has the write permission to write the log file. In addition, the shell script needs to be in the path of the cell account, or you can include the absolute path of the shell script in your execute() call.
Since the only purpose of the cell on Node C is to execute the shell script, I refer this type of cell as action cell. When I configure an action cell, I always disable all out-of-box policies and comment out mcxp and patrol_portal rules in .load file so I won't be caught by surprise. Action cells use very little resource and. They are extremely reliable and very easy for troubleshooting. I set up an action cell on a Linux server 2 years ago to receive specific events sent from a cell on a Windows server whenever a Remedy ticket status is updated. It has never caused any issue for the last 2 years.
Hope it helps,
Ankit - For this you will need to make an entry in to credential repository using "iadmin -acr" command. Once that is done, open UserDefinedActions.xml in \pw\pronto\data\admin\actions... Define your TASK there.
Then you will need to create an ACTION for it in basicsoultion_actions.mrl... under \server\etc\<Cell name>\kb\bin.
Here is an article with more examples...