Your log is:
2016 Feb 11 10:07:59 [OSSEC_HOSTNAME]->[FW_IP] [FW_HOSTNAME]: NetScreen device_id=[FW_HOSTNAME] [Root]system-warning-00518: Admin user "test" login attempt for Web(https) management (port 11111) from
172.16.1.1:24562 failed. (2016-02-11 10:09:06)
We can test it without the header (blue part) and populating the fields (FW_IR, FW_HOSTNAME):
10.10.10.10 james_host: NetScreen device_id=[FW_HOSTNAME] [Root]system-warning-00518: Admin user "test" login attempt for Web(https) management (port 11111) from
172.16.1.1:24562 failed. (2016-02-11 10:09:06)
Phase 1: Completed pre-decoding.
full event: '10.10.10.10 james_host: NetScreen device_id=[FW_HOSTNAME] [Root]system-warning-00518: Admin user "test" login attempt for Web(https) management (port 11111) from 172.16.1.1:24562 failed. (2016-02-11 10:09:06)' hostname: 'LinMV'
program_name: '(null)'
log: '10.10.10.10 james_host: NetScreen device_id=[FW_HOSTNAME] [Root]system-warning-00518: Admin user "test" login attempt for Web(https) management (port 11111) from 172.16.1.1:24562 failed. (2016-02-11 10:09:06)'
Phase 2: Completed decoding.
No decoder matched.
As you can see, the program_name is null, however the decoder expects a program name:
<decoder name="netscreenfw">
<program_name />
<prematch>^NetScreen device_id</prematch>
</decoder>
Let's try with you log but adding a tiemstamp:
Mar 16 15:27:56 10.10.10.10 james_host: NetScreen device_id=[FW_HOSTNAME] [Root]system-warning-00518: Admin user "test" login attempt for Web(https) management (port 11111) from
172.16.1.1:24562 failed. (2016-02-11 10:09:06)
Phase 1: Completed pre-decoding.
full event: 'Mar 16 15:27:56 10.10.10.10 james_host: NetScreen device_id=[FW_HOSTNAME] [Root]system-warning-00518: Admin user "test" login attempt for Web(https) management (port 11111) from 172.16.1.1:24562 failed. (2016-02-11 10:09:06)' hostname: '10.10.10.10'
program_name: 'james_host'
log: 'NetScreen device_id=[FW_HOSTNAME] [Root]system-warning-00518: Admin user "test" login attempt for Web(https) management (port 11111) from 172.16.1.1:24562 failed. (2016-02-11 10:09:06)'
Phase 2: Completed decoding.
decoder: 'netscreenfw'
action: 'warning'
id: '00518'
Now, how the log has program_name there is no problem. So, the first solution would be that syslog write the timestamp. Is that possible?.
Other solution could be change the netscreen decoder:
<decoder name="netscreenfw">
<prematch>^\S+ \S+: NetScreen device_id</prematch>
</decoder>
Now, it matches only with your log (logs without program_name):
Phase 1: Completed pre-decoding.
full event: '10.10.10.10 james_host: NetScreen device_id=[FW_HOSTNAME] [Root]system-warning-00518: Admin user "test" login attempt for Web(https) management (port 11111) from 172.16.1.1:24562 failed. (2016-02-11 10:09:06)' hostname: 'LinMV'
program_name: '(null)'
log: '10.10.10.10 james_host: NetScreen device_id=[FW_HOSTNAME] [Root]system-warning-00518: Admin user "test" login attempt for Web(https) management (port 11111) from 172.16.1.1:24562 failed. (2016-02-11 10:09:06)'
Phase 2: Completed decoding.
decoder: 'netscreenfw'
action: 'warning'
id: '00518'
Regards.
Jesus Linares.