Hello,
Right the issue is that I’m not seeing messages from the MessageLogging policy on a basic ELK stack that is running on a remote machine. (Using Apigee Edge Cloud FYI)
I’ve set up a new API Proxy, which is essentially a ‘Hello World’ nodejs example which I’ve then attached a MessageLogging policy to it’s Proxy Endpoint, Post Flow Response.
As follows:
<PostFlow name="PostFlow">
<Request></Request>
<Response>
<Step>
<Name>Message-Logging-LogStash</Name>
</Step>
</Response>
</PostFlow>
And the Policy is set up as:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageLogging async="false" continueOnError="false" enabled="true" name="Message-Logging-LogStash">
<DisplayName>Message Logging-LogStash</DisplayName>
<Syslog>
<Message>Message.id = {request.header.id}</Message>
<Host>aremotehost</Host>
<Port>443</Port>
<Protocol>TCP</Protocol>
</Syslog>
</MessageLogging>
(Note I’ve masked the remote host and the ootb default message)
On the listening remote host a proxy is set up within the webserver that is listening and sends the call to the ELK stack; this has been tested and works as expected; I can make calls to it and see the message’s displayed via Kibana. This has been tested internally and externally.
When I trace the sending a request it seems to report that everything is fine and that the MessageLogging policy is getting a 200 response
Note: that I have also modified the host to something that does not resolve and had no luck, in fact Apigee reports 200 through out.
Looking around, I’ve seen that there have been a few successful attempts at this, such as here
Now I’ve tried the following Logstash input types:
- syslog
- tcp
- http
All work as expected when making calls NOT via Apigee; but I’m unable to see anything from Apigee.
- Is there anything obvious I’m missing?
- Is there a way to see a more verbose trace/output/logging when using Apigee Edge Cloud?
- How can I be certain that the MessageLogging policy is sending message as expected?
Thanks
Alex
