custom http monitor
17 TopicsHTTPS health monitor with username and credential check
on F5 12.1.1 I would like to check the functionality of a login page and noticed the health monitors have a username/password field. If I have a user account for the webpage how do I word the send/receive string? I'm assuming I have to use POST but I don't know what format I need to put it in. I found an article saying the username:password needs to be changed to base64. I just want some guidance on how to format a monitor that logs into a URL. Looking this up I found that you can test logging into a webpage from the shell using: openssl s_client -host -port <443> but I don't know what POST I should do after that.Solved1.1KViews0likes2CommentsMultiple port monitoring on LTM
I need help to write an iRule which helps to monitor three different service ports running on member server. I have a web-server which accept connections on port 5555 but internally this service depends on service port 8024 or 8026. F5 should monitor all these three ports but bring down node when both 8024 and 8026 stop responding. Member web server should remain UP till either of service port 8024 or 8026 responding well. Same time I want active monitoring on port 5555 which means if port 5555 stop responding, member server status should be Down irrespective status of port 8024 and port 8026. Port 5555 support https and rest two ports HTTP. Thanks, Mihir499Views0likes2CommentsCustom HTTP Monitor help
I've been going through these posts for a few days and I've stopped making progress. So I'm asking for help. Our webservers have multiple sites on them and I need to be able to monitor each site to be sure it has valid content. My receive string contains content from the page source. I need help confirming the send string and receive string. Any help or a specific example showing this would be greatly appreciated. It seems like something a lot of F5 implementations would be doing, but I cannot find a valid example. When I do a curl: curl -v -G --header "host:sani.tized.com" http://10.0.27.237:80 I get back the page source and the receive string I expect. The receive string is in there just after the title less than 40 lines down the page. Monitor Settngs: Send: GET HTTP/1.1\r\nHost: sani.tized.com\r\nConnection: Close\r\n\r\n Receive String: Brand/Makeware Every time I enable the monitor, the pool is declared down by LTM. Please help if you can, thank you.407Views0likes9CommentsCustom HTTP1.1 Monitor - Always Up
Hi everybody, Studying for the 201 right now and mucking around with custom monitors. Probably the billionth http custom monitor question but I have read through a few examples and don't seem to be able to work the problem out. I have 3 servers running Debian with Apache running, I have HTTP virtual servers which function fine and can retrieve pages from each of the 3 servers. On Server 1, I have created a file inside the /var/ww/html/ directory which contains a HTML file called "monitor.html" which contains the following. MonitorMonitor As you can see, quite straight forward. I have constructed a custom HTTP monitor with the following send string. GET /monitor.html HTTP/1.1\r\nHost: 127.0.0.1\r\n and I have set my receive string to simply "Monitor" (without quotations). My custom monitor is the only monitor assigned to the pool, the problem I am seeing is that it is marking all 3 servers as up even though the monitor.html file only exist on Server 1. If I perform a curl from the F5 to the server for that file this is what I see. [root@glb3:Active:In Sync] config curl http://10.0.0.1/monitor.html MonitorMonitor For the other two I get 404 not found. [root@glb3:Active:In Sync] config curl http://10.0.0.2/monitor.html -I HTTP/1.1 404 Not Found Date: Thu, 29 Dec 2016 15:55:03 GMT Server: Apache/2.4.10 (Debian) Content-Type: text/html; charset=iso-8859-1 [root@glb3:Active:In Sync] config curl http://10.0.0.3/monitor.html -I HTTP/1.1 404 Not Found Date: Thu, 29 Dec 2016 15:55:07 GMT Server: Apache/2.4.10 (Debian) Content-Type: text/html; charset=iso-8859-1 Can anybody explain to me exactly why it is marking all 3 pool members as up? I am a bit baffled as the monitor.html resource does not exist on server 2 and 3. Many thanks in advance. Baz398Views0likes2CommentsHTTP health check flapping - potential offenders?
We are seeing random pool members drop out due to TCP errors on an HTTP health check (basic GET against a static HTML page) for a specific pool. Seems to be load related but we're not exactly sure where the resource starvation would be happening. Hosts are not reporting any tcp issues (not sure they would). 2200S on 12.1.2 HF1, AFM enabled (Cisco ASA at perimeter). About 35K active connections, 400 new conns/second and just shy of 1k HTTP req/s, ~100 SSL reqs/s. IIS backend (VMware hosted), four servers in pool. Normal app response time of 50-100ms per request. Netstat on host shows 650-700 active connections on port 80, out of which about 20 are from the LB IP at any given time, with TIME_WAIT status. Receive-side scaling disabled on hosts. Monitor request runs the following: "GET /lbcheck.htm HTTP/1.1\r\nHost:\r\nConnection: close\r\n\r\n" Interval 5 secs, timeout 16 secs. Returns about 80 bytes ("Server is up" message) Error from log: Pool /Common/Pool-80 member /Common/10.103.xx.xxx:80 monitor status down. [ /Common/Isalive: down; last error: /Common/Isalive: Tcp read: Connection refused; Unable to connect; No successful responses received before deadline.; Response Code: 200 (OK) @2017/11/14 04:59:45. ] [ was up for 0hr:0min:13sec ] Any suggestions from the community on how to troubleshoot further would be greatly appreciated! (Switches, VMware virtual network, vNIC settings, Windows TCP tweaks, etc.) :)379Views0likes1CommentHelp to write the Monitor script
Hi, my server response is like this, when I accss the URL on HTTPS {"myStatus":"OK","datapowerStatus":{"status":"OK","message":"{\"result\": {\"domain\": \"My_StubServices\"}}","millisecondsTaken":47},"myDatabaseStatus":{"status":"OK","message":"DBName: my-training-db","millisecondsTaken":11},"loggingDatabaseStatus":{"status":"OK","message":"DBName: my-training-log-db","millisecondsTaken":69}} My intention is to write a monitor (HTTPS), so it search the string "OK" in the response, and then counts it, and if the count is equal or more than 4, then set the monitor as pass. thanks in advance.376Views0likes9CommentsHTTP monitor with response time configuration in receive string
Can i setup http monitor which send string as "GET /samplewebpage/something.jsp".Receive string condition should be 'if the response from this GET request doesn't cross 1 sec'. Means if the page loading takes more than 1 sec to load, then the pool member will be marked as down.This means BIGIP should intercept the "timing" section (when you hit F12 on browser, Network -> Timings-> response value) So is this can be achieved ? if yes how to configure the receive string. Please suggest.347Views0likes1CommentHTTP monitor with username password - loginpage
I need to create a monitor to check the login page using the given credential(username and password). The link is HTTP and i am able to login to the page from my browser using the same credentials. eg. Monitor page: "; username: "test" password: "test@123" recveive string: "perfect" I tried with basic http monitor but it doesn't seems to be work, have someone came across such requirement with solution.237Views0likes1CommentHTTP Monitor Shows UP even Recv String is different
Hello Folks, Straight to my question, I have a monitor as below: Send String: GET /app/ping HTTP/1.1\r\nHost:company.example.com\r\nConnection: Close\r\n Receive String : active I want my member to be down if I get back receive string other than "active". Currently member is showing up even if the receive string is different. How should i implement for this to work? Any help is greatly appreciated! Thanks in advance!230Views0likes1Comment