Re: FW: LUA and doing things

2018-09-24 Thread Arnall

Hello,

Le 24/09/2018 à 12:29, Franks Andy (IT Technical Architecture Manager) a 
écrit :


Sorry to be a nag, but anyone any ideas with this. Or is it just 
indicated to regularly parse log files (seems a bit of a hacky solution).


Thanks!

*From:*Franks Andy (IT Technical Architecture Manager) 
[mailto:andy.fra...@sath.nhs.uk]

*Sent:* 21 September 2018 13:20
*To:* haproxy@formilux.org
*Subject:* LUA and doing things

Hi all,

  Just hopefully a really quick question.. I would like to use LUA to, 
on connection use of a specific backend service, do something (like 
write an entry to a log file for example). I realise the example here 
is possibly locking etc but I’m not too worried at this point about that.


LUA seems, with my basic knowledge, to expect to do something to the 
traffic – for example I have this :


frontend test_84

  bind 0.0.0.0:84

  mode http

  default_backend bk_test_84

backend bk_test_84

  mode http

  stick on src table connections_test_84

  server localhost 127.0.0.1:80

I have a working lua script to do something like core.Alert(“hello 
world”).


The thing I would like to do is run this script without any effect on 
traffic – if I try and use ‘http-request’ or ‘stick on’ or similar 
keywords which can use lua scripts, they want me to program in some 
action that decides what criteria to stick on or what to do with that 
http-request. I just want something to “fire” and do nothing but run 
the lua script and carry on. Can I do it?


Please forgive my noobiness.

Thanks

Andy

I think you can find usefull documentation here : 
https://www.arpalert.org/haproxy-lua.html


concepts, API documentation ...

For your purpose why don't you just use :

backend bk_test_84
  mode http
  stick on src table connections_test_84
  http-request lua.myfunction
  server localhost 127.0.0.1:80

and in your lua file :

function myfunction(txn)

 //do what you want

end

core.register_action("myfunction", { "http-req" }, myfunction)

You have an exemple here : 
https://www.arpalert.org/src/haproxy-lua-api/1.7/index.html


core.register_action("hello-world", { "tcp-req", "http-req" }, function(txn)
   txn:Info("Hello world")
end)

with

frontend http_frt
  mode http
  http-request lua.hello-world



FW: LUA and doing things

2018-09-24 Thread Franks Andy (IT Technical Architecture Manager)
Sorry to be a nag, but anyone any ideas with this. Or is it just indicated to 
regularly parse log files (seems a bit of a hacky solution).
Thanks!


From: Franks Andy (IT Technical Architecture Manager) 
[mailto:andy.fra...@sath.nhs.uk]
Sent: 21 September 2018 13:20
To: haproxy@formilux.org
Subject: LUA and doing things

Hi all,
  Just hopefully a really quick question.. I would like to use LUA to, on 
connection use of a specific backend service, do something (like write an entry 
to a log file for example). I realise the example here is possibly locking etc 
but I'm not too worried at this point about that.
LUA seems, with my basic knowledge, to expect to do something to the traffic - 
for example I have this :

frontend test_84
  bind 0.0.0.0:84
  mode http
  default_backend bk_test_84

backend bk_test_84
  mode http
  stick on src table connections_test_84
  server localhost 127.0.0.1:80

I have a working lua script to do something like core.Alert("hello world").
The thing I would like to do is run this script without any effect on traffic - 
if I try and use 'http-request' or 'stick on' or similar keywords which can use 
lua scripts, they want me to program in some action that decides what criteria 
to stick on or what to do with that http-request. I just want something to 
"fire" and do nothing but run the lua script and carry on. Can I do it?
Please forgive my noobiness.

Thanks
Andy