Logsta sh код c и проблема кодировки символов - PullRequest
0 голосов
/ 23 января 2020

Я отправляю журналы из настольного приложения python (Python 3.6) в Logsta sh (7.5.0), когда я хочу зарегистрировать сообщение об ошибке, например, с текстом ">>>>>>>> ОШИБКА <<<<<<< ", в файле журнала sh я вижу следующую запись: </p>

[2020-01-22T13: 25: 02,330] [WARN] [logsta sh .codecs.line] [main] Получено событие, кодировка символов которого отличается от настроенного вами. {:. Текст => "\ u0000 \ u0000 \ u0000MainThreadq \ u001AX \ v \ u0000 \ u0000 \ u0000processNameq \ Ex \ v \ u0000 \ u0000 \ u0000MainProcessq \ u001CX \ а \ u0000 \ u0000 \ u0000processq \ u001DM \ u001D \ xEDu \ u0000 \ u0000 \ u0002 \ u001D} д \ u0000 (Х \ u0004 \ u0000 \ u0000 \ u0000nameq \ u0001X \ Ъ \ u0000 \ u0000 \ u0000__main__q \ u0002X \ u0003 \ u0000 \ u0000 \ u0000msgq \ u0003X \ u0018 \ u0000 \ u0000 \ u0000 >>>>>>>> ОШИБКА <<<<<< "UTF-8"} </p>

А в Кибане, когда я запрашиваю полученные сообщения, я вижу, что некоторые (в данном случае , 6) отдельные сообщения были отправлены в Logsta sh для каждого отправленного мной сообщения журнала (в данном случае «>>>>>>>> ОШИБКА <<<<<<<») следующим образом: </p>

{
        "_index" : "logstash-2020.01.23",
        "_type" : "doc",
        "_id" : "lNXhz28BzTlrr0WBIjwA",
        "_score" : 1.0,
        "_source" : {
          "host" : "localhost",
          "port" : 50197,
          "message" : """\u0000\u0000\u0000stack_infoq\u0011NX\u0006\u0000\u0000\u0000linenoq\u0012K'X\b\u0000\u0000\u0000funcNameq\u0013X\b\u0000\u0000\u0000<module>q\u0014X\a\u0000\u0000\u0000createdq\u0015GA\u05CA;vϯWX\u0005\u0000\u0000\u0000msecsq\u0016G@n\xA2u\xEC\u0000\u0000\u0000X\u000F\u0000\u0000\u0000relativeCreatedq\u0017G@E\u001DM\xD0\u0000\u0000\u0000X\u0006\u0000\u0000\u0000threadq\u0018L4437804480L""",
          "@version" : "1",
          "@timestamp" : "2020-01-23T00:50:35.362Z"
        }
      },
      {
        "_index" : "logstash-2020.01.23",
        "_type" : "doc",
        "_id" : "k9Xhz28BzTlrr0WBITyc",
        "_score" : 1.0,
        "_source" : {
          "host" : "localhost",
          "port" : 50197,
          "message" : """threadNameqX""",
          "@version" : "1",
          "@timestamp" : "2020-01-23T00:50:35.362Z"
        }
      },
      {
        "_index" : "logstash-2020.01.23",
        "_type" : "doc",
        "_id" : "kdXhz28BzTlrr0WBITyc",
        "_score" : 1.0,
        "_source" : {
          "host" : "localhost",
          "port" : 50197,
          "message" : """MainThreadqXprocessNameqXMainProcessqXprocessqMC0u.""",
          "@version" : "1",
          "@timestamp" : "2020-01-23T00:50:35.369Z"
        }
      },
      {
        "_index" : "logstash-2020.01.23",
        "_type" : "doc",
        "_id" : "ktXhz28BzTlrr0WBITyc",
        "_score" : 1.0,
        "_source" : {
          "host" : "localhost",
          "port" : 50197,
          "message" : "X",
          "@version" : "1",
          "@timestamp" : "2020-01-23T00:50:35.362Z"
        }
      },
      {
        "_index" : "logstash-2020.01.23",
        "_type" : "doc",
        "_id" : "j9Xhz28BzTlrr0WBITyc",
        "_score" : 1.0,
        "_source" : {
          "host" : "localhost",
          "port" : 50197,
          "message" : """XfilenameqXtest2.pyqXmoduleq
Xtest2qXexc_infoqNXexc_textqNX""",
          "@version" : "1",
          "@timestamp" : "2020-01-23T00:50:35.345Z"
        }
      },
      {
        "_index" : "logstash-2020.01.23",
        "_type" : "doc",
        "_id" : "kNXhz28BzTlrr0WBITyc",
        "_score" : 1.0,
        "_source" : {
          "host" : "localhost",
          "port" : 50197,
          "message" : """}q(XnameqX__main__qXmsgqX>>>>>>>> ERROR <<<<<<<qXargsqNX   levelnameqXERRORqXlevelnoqK2Xpathnameq  X1/Users/e0h014b/PycharmProjects/logstash2/test2.pyq""",
          "@version" : "1",
          "@timestamp" : "2020-01-23T00:50:35.331Z"
        }
      }

Файл конфигурации logsta sh, который я использую, выглядит следующим образом:

input {
    tcp {
        port => 5959
        codec => plain {
                charset => "UTF-8"
        }
     }
}
output {
  elasticsearch {
    hosts => ["localhost:9200"]
  }
}

Что мне делать, чтобы иметь нормальный формат ведения журнала в Logsta sh? Какой код c и кодировка символов являются правильными в этом приложении?

Спасибо, Elahe

1 Ответ

0 голосов
/ 24 января 2020

Если ваши лог-сообщения содержат только простые строки, вы должны go с кодом по умолчанию c, а именно строка .

Я всегда начинаю с кода по умолчанию c, проверяю, проверяю проиндексированные данные и затем при необходимости выполняю некоторые настройки / изменения кода c.

См. это документация обо всех доступных кодеках.

Я надеюсь, что смогу вам помочь.

...