How to Replace GRMG with Enduser Experience Monitoring – Part I
Have you ever wondered why there isn’t a better way to do a remote availability check within MAI for HTTP availability of a system rather that letting the diagnostics agent ping on the very same host that it is installed on?
Well you could create an RFC of type G (HTTP) in your SolMan and then create a metric that monitors this specific RFC but that’s rather just a workaround and has its major disadvantages.
Or you could create a GRMG Lite Scenario and then integrate the MTE into MAI, but that will just work in the context of your SolMan system and therefore has pretty much the same disadvantages as creating RFCs.
Well in MAI this kind of functionality is available from SP12, it’s called “URL availability Monitoring”.
If you are on a pre-SP12 level then there is still a way with EEM.
In this example we are going to ping the Google website and monitor its availability.
What you need:
- As always a solid “foundation”, meaning system preparation, basic configuration.
- At least one Diagnostic Agent that will serve as an EEM robot.
- I would suggest a rather newer SP stack on your SolMan 7.1 (as of SP12 this blog might be of less use)
- All the EEM notes containing corrections that fit your release.
- EEM Authorization and workcenter roles according to the SolMan security guide of your release.
How it is done:
First you need to get your infrastructure ready for EEM, this is done in the step 2 of the EEM wizard.
- Call transaction SOLMAN_SETUP and navigate to the “Technical Monitoring” section followed by the “End-User Experience” radio Button
- Execute the infrastructure prerequisite checks in step 2.1
- In Step 2.2 “Global Settings” choose the user “SM_INTERN_WS” user as means of internal communication (make sure you created this user in system preparation and remember its password)
- Choose the options for “Webservice Notification” and “Server Side Collection”. You only need the third option if you have to troubleshoot EEM data collection.
- In step 2.3 we are going to leave the standard settings for data lifetime and housekeeping but you might want to pay attention to the help section to understand what is what and which settings would fit your needs.
- In step 2.4 “Configure Automatically” simply hit the “Execute All” button and wait until the job has completed
- In step 2.5 “BW Basic Settings” you can see the RFC used for the connection to your BW client or system this will in most cases be “NONE”. You also can set the time zone and there is a checkbox for content activation enforcement. If you execute this wizard for the first time the checkbox will be set and is not de-selectable you only have to select this checkbox again after an upgrade with new BW content. Attention: If the checkbox is selected you have to make sure the client is changeable for LOCAL objects (refer to help section for further info)
- In step 2.6 “Configure EEM Robots” it gets a little tricky but not too much. You might ask yourself where you can get an EEM robot from, how it is installed and so on. Relax, an EEM robot is nothing more than a Diagnostics Agent. It even gets better you can just use the Diag Agent already installed on your SolMan. On the right-hand side of the split screen cklick on “Check Agents” then choose the agent installed on your SolMan from the list and copy it to the left side of the screen with the little “<” arrow.
- After that you can enter location data on the left-hand side and save
- In step 2.7 “Workmode Settings” you define in which work modes data should be collected. There’s also work mode settings for the EEM robots but that’s not much use for our purposes as it doesn’t have the “Maintenance” and “Planed Downtime” work modes.
So much for the basic setup, now comes the really tricky part. You need to create a script that will actually be executed and perform an HTTP GET request to the server you want to monitor and deploy that script on your robot.
- In step 3.1 “Create Scripts” you download the EEM script editor first (if you have a newer SP then you should choose the one from your local SolMan, otherwise the version from the Wiki might be newer.)
- Once you’ve downloaded the zip file unpack its contents and start the executable named “EemEditor.exe”
- First you need to configure the connection to your Solution Manager in the “Editor Configuration”
- Then you create a new eclipse project that holds your scripts
- Then you can import the existing EEM script that comes with every Solution Manager by right-clicking on the project and choosing “Download Scripts…”
- When you first start there’s only the EEM Selfcheck script in the repository, so we are going to use it as a template.
- You can now copy and paste the script or simply rename it by right-clicking on it
- You can then rename the scripts internal steps and change the URL to the server you want to monitor.
- You can also set the schedule interval directly from within the script. This defines every how many seconds the script runs. You can also set thresholds for response times and other things in this configurations dialog.
- Make sure you test and save the script.
- Once you are done editing you have to upload the script again to the repository by right-clicking on it and choosing “Upload…”
- Warnings can usually be ignored, not so in case of any errors…
Once you have edited and uploaded the script you are ready to implement the actual monitoring by continuing withing the EEM wizard in SolMan (again transaction SOLMAN_SETUP as above). This is described in Part II of this blog: http://scn.sap.com/community/it-management/alm/solution-manager/blog/2014/10/06/how-to-replace-grmg-with-enduser-experience-monitoring–part-ii