Hi, Yes, another option is to remove the offending byte:
Exec $raw_event = replace($raw_event, "\x61", ""); Regards, Botond On Fri, 27 Jan 2017 11:23:45 +0100 Ruth Garzón <abir...@gmail.com> wrote: > hi! > > thanks. I created a dump but I was not able to find there the same log that > is causing me issues. > I think at this moment the error comes because it is trying to reload an > old file which contains that character. > The encoding in IIS for the Logging is UTF-8 and in the IISLogs the > character is written fine: *OrangeEspaña* > > Is there a way to drop the character similar to if $raw_event *=~ /^#/ > drop(); *? > > Thanks and best regards, > Ruth > > > On Thu, Jan 19, 2017 at 11:35 AM, Botond Botyanszki <b...@nxlog.org> wrote: > > > Hi, > > > > You could dump the json into a file and check if the encoding is wrong > > and to help figure out how to convert it correctly: > > > > Exec file_write("tmp/output.log",to_json() + "\n"); > > > > BTW, there is an enhancement for xm_json to ensure that the generated > > JSON is valid UTF-8. This is currently in the EE only but will be added > > to the NXLog CE soon. > > > > Regards, > > Botond > > > > On Wed, 18 Jan 2017 10:58:53 +0100 > > Ruth Garzón <abir...@gmail.com> wrote: > > > > > Hi, > > > > > > some weeks ago we suddenly had some parsing issues with nxlog that we > > never > > > had before. Nxlog is constantly logging this error: > > > > > > *ERROR HTTP response status is not OK: 400 Bad Request* (which refers > > that > > > the json we try to send to Elasticsearch is not well formed) > > > > > > In Elasticsearch we found this exception flooding the logs: > > > > > > > > > > > > *[2017-01-18 08:58:21,822][DEBUG][action.index ] > > > [ATVP6WIMMS001] failed to execute [index > > > {[logstash-2017.01.18][nx_iis][AVmwzGL-zYWou6-64pmC], > > > source[{"EventReceivedTime":"2017-01-11 > > > 10:33:26","csUser-Agent":"Mozilla/5.0+(iPhone;+CPU+ > > iPhone+OS+10_0_2+like+Mac+OS+X)+AppleWebKit/602.1.50+( > > KHTML,+like+Gecko)+Mobile/14A456+[FBAN/FBIOS;FBAV/68.0. > > 0.49.70;FBBV/41924288;FBRV/0;FBDV/iPhone7,2;FBMD/iPhone; > > FBSN/iOS;FBSV/10.0.2;FBSS/2;FBCR/OrangeEspa?a;FBID/phone; > > FBLC/en_US;FBOP/5]", > > > "sc-status":200}]MapperParsingException[* > > > > > > > > > *failed to parse [csUser-Agent]]; nested: JsonParseException[Invalid > > UTF-8 > > > middle byte 0x61* > > > The error apparently is due to Spanish language character ñ which appears > > > in ES logs as a symbol. > > > > > > Given that Spanish should be ISO 8859-1 encoding, I tried these 2 > > > configurations without any success: > > > > > > > > > <Extension w3c> > > > Module xm_csv > > > Fields $date, $time, $s-ip, $cs-method, $cs-uri-stem, $cs-uri-query, > > > $s-port, $cs-username, $c-ip, $csUser-Agent, $csReferer, $sc-status, > > > $sc-substatus, $sc-win32-status, $sc-bytes, $cs-bytes, $time-taken > > > FieldTypes string, string, string, string, string, string, integer, > > > string, string, string, string, integer, integer, integer, integer, > > > integer, integer > > > Delimiter ' ' > > > QuoteChar '"' > > > EscapeControl FALSE > > > UndefValue - > > > </Extension> > > > > > > <Extension charconv> > > > Module xm_charconv > > > AutodetectCharsets utf-8, euc-jp, utf-16, utf-32, iso8859-2, > > > windows-1252, ansi, cp850, cp1252, windows850, iso-8859-1, iso8859-1 > > > </Extension> > > > > > > define PARSE_IIS_LOG \ > > > if $raw_event =~ /^#/ drop(); \ > > > else \ > > > { \ > > > w3c->parse_csv(); \ > > > $Hostname = hostname(); \ > > > $DateEventTime = strftime(parsedate($date + " " + $time), > > > "%Y-%m-%dT%H:%M:%S+00:00"); \ > > > } > > > > > > <Input one> > > > Module im_file > > > File "D:\\LogFiles\\W3SVC19\\u_ex*.log" > > > SavePos True > > > ReadFromLast True > > > Exec convert_fields("AUTO", "UTF-8"); > > > Exec %PARSE_IIS_LOG%; > > > </Input> > > > > > > > > > ------------------------------------------------------------ > > ------------------------------------------------------------------ > > > The second attempt was with this configuration instead: > > > > > > <Input one> > > > Module im_file > > > File "D:\\LogFiles\\W3SVC19\\u_ex*.log" > > > SavePos True > > > ReadFromLast True > > > Exec %PARSE_IIS_LOG%; > > > Exec $raw_event = convert($raw_event, "iso8859-1", "UTF-8"); > > > </Input> > > > > > > > > > Does anyone know what might be the issue why nxlog is not parsing > > properly > > > this character? Maybe I am using the wrong encodings? > > > Thanks and kind regards > > > Ruth > > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ nxlog-ce-users mailing list nxlog-ce-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nxlog-ce-users