Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Unknown option _type in ElasticsearchLogstashHandler #46667

Copy link
Copy link
Closed
@musahaidari

Description

@musahaidari
Issue body actions

Symfony version(s) affected

6.0.*

Description

While using ElasticsearchLogstashHandler I get 400 error in my browser/window terminal depending on the order of the handlers in monolog.yml.

Expected behaviour:
The handler should send the log with no error to elastic search.

How to reproduce

While using this log handler with elasticsearch:8.2.2 I get HTTP/1.1 400 Bad Request returned for "http://127.0.0.1:4307/_bulk". in the browser. The following is the full stack trace:

Symfony\Component\HttpClient\Exception\ClientException:
HTTP/1.1 400 Bad Request returned for "http://127.0.0.1:4307/_bulk".

  at /home/musa/codes/modeer/modeer-web-app/vendor/symfony/http-client/Response/CommonResponseTrait.php:174
  at Symfony\Component\HttpClient\Response\CurlResponse->checkStatusCode()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/http-client/Response/TransportResponseTrait.php:69)
  at Symfony\Component\HttpClient\Response\CurlResponse->getHeaders()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/http-client/Response/TransportResponseTrait.php:270)
  at Symfony\Component\HttpClient\Response\CurlResponse::stream()
  at Generator->next()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/http-client/Response/ResponseStream.php:42)
  at Symfony\Component\HttpClient\Response\ResponseStream->next()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/monolog-bridge/Handler/ElasticsearchLogstashHandler.php:151)
  at Symfony\Bridge\Monolog\Handler\ElasticsearchLogstashHandler->wait()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/monolog-bridge/Handler/ElasticsearchLogstashHandler.php:131)
  at Symfony\Bridge\Monolog\Handler\ElasticsearchLogstashHandler->sendToElasticsearch()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/monolog-bridge/Handler/ElasticsearchLogstashHandler.php:76)
  at Symfony\Bridge\Monolog\Handler\ElasticsearchLogstashHandler->handle()
     (/home/musa/codes/modeer/modeer-web-app/vendor/monolog/monolog/src/Monolog/Logger.php:328)
  at Monolog\Logger->addRecord()
     (/home/musa/codes/modeer/modeer-web-app/vendor/monolog/monolog/src/Monolog/Logger.php:514)
  at Monolog\Logger->debug()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:312)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->postProcess()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:163)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/http-kernel/HttpKernel.php:213)
  at Symfony\Component\HttpKernel\HttpKernel->handleThrowable()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/http-kernel/HttpKernel.php:106)
  at Symfony\Component\HttpKernel\HttpKernel->terminateWithException()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php:125)
  at Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::Symfony\Component\HttpKernel\EventListener\{closure}()
     (/home/musa/codes/modeer/modeer-web-app/vendor/symfony/error-handler/ErrorHandler.php:541)
  at Symfony\Component\ErrorHandler\ErrorHandler->handleException()    

Possible Solution

When sending the same data via CURL I get a better error message:

$ curl -XPOST http://127.0.0.1:4307/_bulk -H "Content-Type: application/json" -d '{"index":{"_index":"monolog", "_type":"_doc"}}
>                                                                                {"@timestamp":"2022-06-13T10:50:31.726357+04:30","@version":1,"host":"musa-XPS-13-9380","message":"Matched route \"{route}\".","type":"application","channel":"request","level":"INFO","monolog_level":200,"context":{"route":"home","route_parameters":{"_route":"home","_controller":"App\\Controller\\HomeController::index"},"request_uri":"http://127.0.0.1:4300/","method":"GET"}}
> '
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Action/metadata line [1] contains an unknown parameter [_type]"}],"type":"illegal_argument_exception","reason":"Action/metadata line [1] contains an unknown parameter [_type]"},"status":400}

This says we are sending an argument which is (no longer) supported, that being _type, if I remove that from the CURL payload everything works fine. Within the code, that is the line vendor/symfony/monolog-bridge/Handler/ElasticsearchLogstashHandler.php:114

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.