WARNING SQLExecDirect failed; HY000:1:0:[Devart][ODBC][PostgreSQL]在字段 "timestamp" 中空值违反了非空约束
When I use im_file and om_odbc,from the log,I get this message:WARNING SQLExecDirect failed; HY000:1:0:[Devart][ODBC][PostgreSQL]在字段 "timestamp" 中空值违反了非空约束 <Input in> Module im_file File "C:\Users\jiang.dengjie\Desktop\log1.txt" ReadFromLast False SavePos False <Exec> if $raw_event =~ /^(\w+ \d+ \S+ \S+) (\S+) (\S+):(.+)$/ { $timestamp = $1; $hostname = $2; $eventname = $3; $event = $4; } </Exec>
Exec parse_syslog();
</Input>
<Output out>
Module om_odbc
ConnectionString Driver={Devart ODBC Driver for PostgreSQL}; Server=127.0.0.1;
UID=qytangdbuser; PWD=Cisc0123; Database=qytangdb
SQL "INSERT INTO qytdb_network_log (timestamp, hostname, eventname, event) VALUES (?,?,?,?)",$timestamp,$hostname,$eventname,$event
</Output>
#<Output out>
Module om_file
File "C:\Users\jiang.dengjie\Desktop\logtest.txt"
Exec to_json();
#</Output> <Route r> Path in => out </Route> In my file: %Feb 5 15:47:32:118 2015 trust-access IFNET/5/LINK_UPDOWN: Line protocol on the interface GigabitEthernet1/0/41 is down. %Feb 5 15:47:35:367 2015 trust-access IFNET/3/PHY_UPDOWN: GigabitEthernet1/0/40 link status is up. And I want to use nxlog to save this file to my pgsql which has the table that has five colum:id,timestamp,hostname,eventname,event. Also if any viedo about how to use nxlog? Thank you very much.
Hello! I had to use google translate for the error message, so I hope it did a good job :)
It seems like the timestamp
value is null going into the database. I think the type may be wrong.
You may want to do something like $timestamp = parsedate($1);
As for videos, we do not have any official how-to videos, but there are some on YouTube.
The Manual is pretty large, but it has a lot of good information and most have config snippets that you can copy and paste.
Feel free to ask any questions in the forum. A lot of our integrations are in the manual as well.
https://nxlog.co/documentation/nxlog-user-guide/integration.html