log some message when servers connections exceed a connection value
Hi,
Is there anyway to send an alert message or writing the some kind of log message to ltm file when pool member active connection exceed 100 connections. the below irule is counting the connections coming into VS and writing "log limit" message to ltm file when active connection passed to max connection. I want to apply this for pool members instead of virtual server.
when RULE_INIT {
Set a global max for number of concurrent TCP connections set ::max_connections 2
Set an HTML response to sent to clients who make a request while the VIP is over the max connection count set ::html_content "over limit"
Print debug messages to /var/log/ltm? 1=yes, 0=no set ::debug 1
Initialize a counter for active connections (don't modify this) set ::active_connections 0 } when HTTP_REQUEST {
If we're over the limit for this connection, send a response if {$::active_connections > $::max_connections}{
Send a response
HTTP::respond 200 content $::html_content
Close the connection
TCP::close
Log a message to /var/log/ltm if debug is enabled
if {$::debug}{log local0. "Over limit (current/max: $::active_connections/$::max_connections). Sent response to [IP::client_addr]"}
We're not over the limit, so check if this is the first HTTP request on the TCP connection.
} elseif {[HTTP::request_num] == 1}{ set validrequest 1 Increment the TCP connection count. incr ::active_connections 1 } }when CLIENT_CLOSED { A connection was closed, so decrement the global counter if {$validrequest == 1}{ incr ::active_connections -1 } }