Forum Discussion
The_Bhattman
Nimbostratus
May 09, 2008Monitoring Google Search Appliance
Hi Folks,
A collegue of mine has a unique issue. His app team is requesting to load balancing a couple of Google Search Appliances. However, he is having a hard time trying to figure out a way to monitor the appliance to make sure the query is working. My take on this is to basically send a HTTP Query to the google appliance and look for a response that matches. However, considering that search results can change, there is no gaurentee that the LTM is going to keep the pool members up. The other problem is the query returns a long response, which he means he needs to increase his intervals so it doesn't mark it down waiting for response to finish.
Have you experienced this before? Is there a better way to monitor a search enginee such as google. Is it possible to monitor the Google Appliance API?
I need some help here.
CB
7 Replies
- JRahm
Admin
Yes, you can monitor with external scripts anything you want. There are several examples on the Monitoring wiki: http://devcentral.f5.com/wiki/default.aspx/AdvDesignConfig/HomePage.htmlHealthMonitors
Click here - hoolio
Cirrostratus
Hi CB,
What kind of failure(s) are you trying to account for with the monitor? Do you want to check that the server answers a generic HTTP request, or do you want to verify that it returns valid response data to a query?
Could you send a static request with a search string that should always return an HTTP 200 and then look for the 200 OK in the response?
If the request needs to be dynamic or the valid string in a response is far into the packet, citizen_elah's suggestion of using an external monitor is a good one.
Aaron - The_Bhattman
Nimbostratus
Hi Aaron,
From what I understand my collegue wants to validate a search query is working, the problem is most of the query that he has tried, leads to a avertly long response that the parse has to go through. He has tried everything to shorten the response, but it appears that Google Appliance, no matter how accurate, returns the accurate response but returns all others as well. I looked at the link that citizen posted before I posted my question. It provided me with some ideas so it's nice to know I am thinking along the same lines. I will see if I can talk to Google (Perhaps there is an API I can have the healthcheck make a call to which would be better. I will let you guys know what I find. - st0n3_87491
Nimbostratus
Got the same problem now...have you found a solution?
chris - hoolio
Cirrostratus
... - st0n3_87491
Nimbostratus
Until I find something better, I use aaron's method using a http_head monitor, which works fine for me:HEAD /search?q=bigip&site=default_collection&client=default_frontend&output=xml_no_dtd&proxystylesheet=default_frontend HTTP/1.0 \n\nHTTP/1.0 200 OK
--> UP
FYI: It's important that the monitor sends two carriage returns after the HEAD/GET request! (\n\n) - hoolio
Cirrostratus
Hi st0n3,
That seems like a reasonable solution.
The monitoring daemon, bigd, appends one or two carriage return pl;us line feed characters (\r\n) to the send string, depending on the LTM version you're running. So it's possible by configuring two \n's to the end, bigd is actually sending three. You can check this by running a tcpdump and filter on the pool member IP address and port.
Also, you can tell the pool member to close the TCP connection by using an HTTP/1.1 request:
HEAD /search?q=bigip&site=default_collection&client=default_frontend&output=xml_no_dtd&proxystylesheet=default_frontend HTTP/1.1\r\nConnection: Close\r\nHost: \r\n
Aaron
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects