From 4f8d3eccf02aec1efc4f6831d83d89941cee935c Mon Sep 17 00:00:00 2001 From: lazedo Date: Fri, 2 Mar 2018 03:53:07 +0000 Subject: [PATCH] adjust nodes timers, log, publish --- kamailio/nodes-role.cfg | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/kamailio/nodes-role.cfg b/kamailio/nodes-role.cfg index 3fb5e29..742b0b4 100644 --- a/kamailio/nodes-role.cfg +++ b/kamailio/nodes-role.cfg @@ -8,18 +8,20 @@ #!define NODES_FUDGE_FACTOR 10 #!endif -modparam("htable", "htable", "nodes=>size=8;initval=0;autoexpire=180;"); -modparam("htable", "htable", "media=>size=8;initval=0;autoexpire=180;"); +modparam("htable", "htable", "nodes=>size=8;initval=0;autoexpire=60"); +modparam("htable", "htable", "media=>size=8;initval=0;autoexpire=60"); ####### RTIMER module ########## #!ifndef RTIMER_LOADED loadmodule "rtimer.so" #!trydef RTIMER_LOADED #!endif -modparam("rtimer", "timer", "name=ta;interval=5;mode=2;") -modparam("rtimer", "exec", "timer=ta;route=NODES_ADVERTISE_ROUTE") -modparam("rtimer", "exec", "timer=ta;route=NODE_TRACK_ROUTE") +modparam("rtimer", "timer", "name=ta;interval=2;mode=2;") +modparam("rtimer", "timer", "name=retry;interval=5;mode=2;") +modparam("rtimer", "timer", "name=pub;interval=10;mode=1;") modparam("rtimer", "exec", "timer=ta;route=NODE_HEARTBEAT_ROUTE") +modparam("rtimer", "exec", "timer=retry;route=NODE_TRACK_ROUTE") +modparam("rtimer", "exec", "timer=pub;route=NODES_ADVERTISE_ROUTE") modparam("mqueue","mqueue", "name=node_track") @@ -59,7 +61,7 @@ route(LISTENER_STATUS); #!endif $var(Roles) = $_s("Roles" : {"Proxy" : $var(listeners) $var(Dispatcher) $var(Presence) $var(Registrar)}); - $var(Payload) = '{"Event-Category" : "nodes", "Event-Name" : "advertise", "Expires" : 5000, "Used-Memory" : $(stat(real_used_size){s.int}), "Startup" : $Tb, "WhApps" : {"kamailio" : {"Startup" : $Tb }}, $var(Roles)}'; + $var(Payload) = '{"Event-Category" : "nodes", "Event-Name" : "advertise", "Expires" : 15000, "Used-Memory" : $(stat(real_used_size){s.int}), "Startup" : $Tb, "WhApps" : {"kamailio" : {"Startup" : $Tb }}, $var(Roles)}'; kazoo_publish("nodes", "", $var(Payload)); } @@ -68,11 +70,13 @@ event_route[kazoo:consumer-event-nodes-advertise] { $var(count) = $shtinc(nodes=>$(kzE{kz.json,Node})::count); if($var(count) == 0) { - xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|nodes|hearbeat for reconnected node $(kzE{kz.json,Node})\n"); + xlog("L_WARNING", "$(kzE{kz.json,Msg-ID})|nodes|hearbeat for reconnected node $(kzE{kz.json,Node})\n"); $var(count) = $shtinc(nodes=>$(kzE{kz.json,Node})::count); } else { if($var(count) == 1) { - xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|nodes|hearbeat from new node $(kzE{kz.json,Node})\n"); + xlog("L_WARNING", "$(kzE{kz.json,Msg-ID})|nodes|hearbeat from new node $(kzE{kz.json,Node})\n"); + } else { + xlog("L_DEBUG", "$(kzE{kz.json,Msg-ID})|nodes|hearbeat from existing node $(kzE{kz.json,Node})\n"); } } mq_add("node_heartbeat", "$(kzE{kz.json,Node})", "$kzE"); @@ -82,13 +86,13 @@ event_route[htable:expired:nodes] { if($shtrecord(key) =~ "::count$$") { if($shtrecord(value) == -1) { - xlog("L_INFO", "htable|nodes|node $(shtrecord(key){s.rm,::count}) is still unreachable\n"); + xlog("L_WARNING", "htable|nodes|node $(shtrecord(key){s.rm,::count}) is still unreachable\n"); } mq_add("node_track", "$shtrecord(key)", ""); return; } - xlog("L_INFO", "htable|nodes|hearbeat expired for node $shtrecord(key)\n"); + xlog("L_WARNING", "htable|nodes|hearbeat expired for node $shtrecord(key)\n"); } route[NODE_TRACK_ROUTE] @@ -108,6 +112,7 @@ route[NODE_HEARTBEAT_ROUTE] while(mq_fetch("node_heartbeat") == 1 && $var(runloop) < MAX_WHILE_LOOPS) { $var(Node) = $mqk(node_heartbeat); $var(Payload) = $mqv(node_heartbeat); + xlog("L_DEBUG", "$(var(Payload){kz.json,Msg-ID})|nodes|processing hearbeat for node $var(Node)\n"); route(CHECK_MEDIA_SERVERS); @@ -149,6 +154,7 @@ route[CHECK_MEDIA_SERVERS] route(MEDIA_SERVER_UP); }; $var(MediaExpire) = ($(var(Payload){kz.json,Expires}{s.int}) / 1000) + NODES_FUDGE_FACTOR; + xlog("L_DEBUG", "nodes|media|$var(Node) media expiration $var(MediaExpire) for $var(MediaUrl)\n"); $shtex(media=>$var(MediaUrl)::count) = $var(MediaExpire); $var(ProfileIdx) = $var(ProfileIdx) + 1; } @@ -167,7 +173,7 @@ event_route[htable:expired:media] route[MEDIA_SERVER_UP] { - xlog("L_INFO", "nodes|media|$var(Node) reported new media server $var(MediaUrl) in zone $var(Zone)\n"); + xlog("L_WARNING", "nodes|media|$var(Node) reported new media server $var(MediaUrl) in zone $var(Zone)\n"); #!ifdef DISPATCHER_ROLE route(DISPATCHER_CHECK_MEDIA_SERVER); @@ -181,7 +187,7 @@ route[MEDIA_SERVER_UP] route[MEDIA_SERVER_DOWN] { - xlog("L_INFO", "htable|media|hearbeat expired for media server $var(MediaUrl) in zone $var(Zone)\n"); + xlog("L_WARNING", "htable|media|hearbeat expired for media server $var(MediaUrl) in zone $var(Zone)\n"); #!ifdef PRESENCE_ROLE route(RESET_PUBLISHER);