The curl command works properly. I can see the http message in the REST
application.

When trying sending through rsyslog, I can't see anything happening:
- tcpdump doesn't report anything captured (but running the curl command
shows captured packets)
- ss -an doesn't report any ports being opened to send to the rest
application (but running the curl command shows a port getting opened)
- the omhttp log shows one line when the first syslog message is processed
and then does not print any additional lines in the log until I restart
rsyslog

This is basic http, not https so there's no cert errors.

Is there any additional debug logging I can look at to figure out what's
wrong?

Kevin

On Sat, 23 Apr 2022 at 00:32, David Lang <da...@lang.hm> wrote:

> what do you get on the server that you are posting to? does it show the
> connection, does it show any error?
>
> do a tcpdump and see if the connection is happening
>
> try doing a curl manually, see if you get an error (a possibility would be
> a
> certificate error for example)
>
> David Lang
>
>
> On Sat, 23 Apr 2022, Kevin McKibbin via rsyslog wrote:
>
> > Date: Sat, 23 Apr 2022 00:14:21 -0600
> > From: Kevin McKibbin via rsyslog <rsyslog@lists.adiscon.com>
> > To: rsyslog@lists.adiscon.com
> > Cc: Kevin McKibbin <kevinmckibbin...@gmail.com>
> > Subject: [rsyslog] omhttp - can't get simple case to send http
> >
> > I have a simple configuration where I'm trying to post the syslog message
> > to a REST application. But the omhttp module doesn't seem to be sending.
> >
> > This is my configuration:
> > module (load="omhttp")
> > template(name="tpl1" type="string" string="{\"type\":\"syslog\",
> > \"host\":\"%HOSTNAME%\"}")
> > if (re_match($msg, "(.*REST.*)")) then {
> > action(
> >    type="omhttp"
> >    server="192.168.55.4"
> >    serverport="8080"
> >    restpath="log"
> >    template="tpl1"
> >    action.resumeRetryCount="3"
> >    errorfile="/var/log/omhttp_errors.log"
> >    checkpath=""
> > )
> > }
> >
> > This is the log that gets printed in /var/log/omhttp_errors.log when I
> > inject a matching syslog message:
> > { "request": { "url": "https:\/\/192.168.55.4:8080\/log", "postdata":
> > "{\"type\":\"syslog\", \"host\":\"localhost\"}" }, "response": {
> "status":
> > 0, "message": "NULL: curl request failed or no response" } }
> >
> >
> > This curl command successfully sends the request to my REST application
> so
> > I know that the application is running and the send is possible from the
> VM.
> > curl -X POST -H "Content-Type: application/json" -d '{"name": "test"}'
> > http://192.168.55.4:8080/log
> >
> > What am I doing wrong?
> >
> > I was using version 2202, but also tried upgrading to 2204.
> >
> > Thanks.
> > Kevin
> > _______________________________________________
> > rsyslog mailing list
> > https://lists.adiscon.net/mailman/listinfo/rsyslog
> > http://www.rsyslog.com/professional-services/
> > What's up with rsyslog? Follow https://twitter.com/rgerhards
> > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
> DON'T LIKE THAT.
> >
>
_______________________________________________
rsyslog mailing list
https://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to