<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Welcome to the horrible world of Cisco
      logging :-(<br>
      <br>
      The issue you are bumping into is that when these log lines are
      parsed by syslog-ng (or any<br>
      syslog daemon that does not specifically understand Cisco logs)
      there is no program name, or the<br>
      program name is the full %ASA-4-106023 part of the log line. There
      are so many ways that Cisco<br>
      can log incorrectly it is not possible to say without seeing your
      exact log lines.<br>
      <br>
      Cisco can add a * to the date/time stamp to indicate that there is
      no time server configured on the device.<br>
      That makes the date/time invalid as far as parsing is concerned.<br>
      <br>
      Cisco can add a period (.) to the date/time stamp to indicate that
      there is a time server configured on<br>
      the device, but the time server can not be reached. Again, this
      makes the date/time invalid as far as parsing<br>
      is concerned.<br>
      <br>
      Cisco can add a sequence number at the start of the log line
      rather than starting the line with a date/6time stamp.<br>
      Invalid parsing again.<br>
      <br>
      Cisco can leave out the sequence number but still include the
      trailing colon from the sequence number. <br>
      <br>
      You get the idea. So many ways to get it wrong, and they never get
      it right :-(<br>
      <br>
      Evan.<br>
      <br>
      On 02/27/2018 04:46 PM, Tim Ghetti wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:30cb8f372d094c16ba2bd351723b0bbe@targetedsupport.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Hi – having some trouble getting paterndb
          functional and looking for some help. I would like to use
          patterndb to parse my cisco ass firewall logs before sending
          it to elasticsearch. However when the messages get to
          elasticsearch, I don’t see the messages being parsed. Running
           pdbtool against the logs seems to work.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"># pdbtool match -p
          /etc/syslog-ng/patterndb.d/ciscoasa.pdb -P %ASA -f
          /var/log/asatest.log |more<o:p></o:p></p>
        <p class="MsoNormal">HOST=<span style="color:#1F497D">X.X.X.X</span><o:p></o:p></p>
        <p class="MsoNormal">MESSAGE=Built dynamic TCP translation from
          INSIDE:X.X.X.X/X to OUTSIDE:X.X.X.X/X<o:p></o:p></p>
        <p class="MsoNormal">PROGRAM=%ASA-6-305011<o:p></o:p></p>
        <p class="MsoNormal">LEGACY_MSGHDR=%ASA-6-305011: <o:p></o:p></p>
        <p class="MsoNormal">.classifier.class=system<o:p></o:p></p>
        <p class="MsoNormal">.classifier.rule_id=e075efdc-c25f-5e49-a208-7661e3b5a29b<o:p></o:p></p>
        <p class="MsoNormal">Protocol=TCP<o:p></o:p></p>
        <p class="MsoNormal">GlobalIP=X.X.X.X<o:p></o:p></p>
        <p class="MsoNormal">GlobalPort=X<o:p></o:p></p>
        <p class="MsoNormal">LocalIP=X.X.X.X<o:p></o:p></p>
        <p class="MsoNormal">LocalPort=X<o:p></o:p></p>
        <p class="MsoNormal">TAGS=.classifier.system<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">**********************<o:p></o:p></p>
        <p class="MsoNormal">SYSLOG-NG CONF FILE<o:p></o:p></p>
        <p class="MsoNormal">@version: 3.11<o:p></o:p></p>
        <p class="MsoNormal">source s_network { tcp(); udp(); };<o:p></o:p></p>
        <p class="MsoNormal">destination d_elastic {<o:p></o:p></p>
        <p class="MsoNormal">    elasticsearch2(<o:p></o:p></p>
        <p class="MsoNormal">        client-mode("http")<o:p></o:p></p>
        <p class="MsoNormal">        cluster("ITESCL001")<o:p></o:p></p>
        <p class="MsoNormal">       
          index("logstash-syslogng_${YEAR}.${MONTH}.${DAY}")<o:p></o:p></p>
        <p class="MsoNormal">        cluster-url("<a
            href="http://X.X.X.X:9200" moz-do-not-send="true">http://X.X.X.X:9200</a>")<o:p></o:p></p>
        <p class="MsoNormal">        type("syslog")<o:p></o:p></p>
        <p class="MsoNormal">        flush-limit("1")<o:p></o:p></p>
        <p class="MsoNormal">    );<o:p></o:p></p>
        <p class="MsoNormal">};<o:p></o:p></p>
        <p class="MsoNormal">destination d_catchall {
          file("/var/log/catchall.log"); };<o:p></o:p></p>
        <p class="MsoNormal">filter f_ciscoasa { host("X.X.X.X"); };<o:p></o:p></p>
        <p class="MsoNormal">parser p_ciscoasa
          {db-parser(file("/etc/syslog-ng/patterndb.d/ciscoasa.pdb"));};<o:p></o:p></p>
        <p class="MsoNormal">log { source(s_network);
          filter(f_ciscoasa); parser(p_ciscoasa);
          destination(d_elastic); flags(final, flow-control); };<o:p></o:p></p>
        <p class="MsoNormal">log { source(s_network);
          destination(d_catchall); };<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">**********************<o:p></o:p></p>
        <p class="MsoNormal">PATTERNDB FILE<o:p></o:p></p>
        <p class="MsoNormal"><?xml version='1.0'
          encoding='UTF-8'?><o:p></o:p></p>
        <p class="MsoNormal"><patterndb version='4'
          pub_date='2018-02-19'><o:p></o:p></p>
        <p class="MsoNormal">  <ruleset name='%ASA'
          id='a300d776-8bd7-834d-a4a9-23eb81a4b3ba'><o:p></o:p></p>
        <p class="MsoNormal">  <pattern>%ASA</pattern><o:p></o:p></p>
        <p class="MsoNormal">  <description><o:p></o:p></p>
        <p class="MsoNormal">    This ruleset covers the Cisco ASA
          firewalls<o:p></o:p></p>
        <p class="MsoNormal">  </description><o:p></o:p></p>
        <p class="MsoNormal">    <rules><o:p></o:p></p>
        <p class="MsoNormal">      <rule provider="%ASA"
          id="b3de7699-8213-c744-944e-9413298afe86" class="system"><o:p></o:p></p>
        <p class="MsoNormal">        <!-- support: 1594 --><o:p></o:p></p>
        <p class="MsoNormal">        <patterns><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>Teardown
          @ESTRING:Protocol: @connection for faddr
          @IPv4:SrcIP:/@@ESTRING:SrcPort: @gaddr
          @IPv4:GlobalIP:/@@ESTRING:GlobalPort: @laddr
          @IPv4:LocalIP:/@@ESTRING:LocalPort:@</pattern><o:p></o:p></p>
        <p class="MsoNormal">        </patterns><o:p></o:p></p>
        <p class="MsoNormal">        <examples><o:p></o:p></p>
        <p class="MsoNormal">            <example><o:p></o:p></p>
        <p class="MsoNormal">                <test_message
          program='%ASA'>Teardown ICMP connection for faddr X.X.X.X/X
          gaddr X.X.X.X/X laddr X.X.X.X/X</test_message><o:p></o:p></p>
        <p class="MsoNormal">            </example><o:p></o:p></p>
        <p class="MsoNormal">        </examples><o:p></o:p></p>
        <p class="MsoNormal">      </rule><o:p></o:p></p>
        <p class="MsoNormal">      <rule
          id='90d0f8c9-7591-d44e-b886-2f7e5cb17ce6' class='system'
          provider='%ASA'><o:p></o:p></p>
        <p class="MsoNormal">        <!-- support: 1369 --><o:p></o:p></p>
        <p class="MsoNormal">        <patterns><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>Teardown dynamic
          @ESTRING:Protocol: @translation from
          @ESTRING:::@@IPv4:LocalIP:/@@ESTRING:LocalPort: @to
          @ESTRING:::@@IPv4:GlobalIP:/@@ESTRING:GlobalPort:
          @duration@ANYSTRING::@</pattern><o:p></o:p></p>
        <p class="MsoNormal">        </patterns><o:p></o:p></p>
        <p class="MsoNormal">        <examples><o:p></o:p></p>
        <p class="MsoNormal">            <example><o:p></o:p></p>
        <p class="MsoNormal">                <test_message
          program='%ASA'>Teardown dynamic UDP translation from
          any:X.X.X.X/X to outside:X.X.X.X/X duration
          0:00:00</test_message><o:p></o:p></p>
        <p class="MsoNormal">            </example><o:p></o:p></p>
        <p class="MsoNormal">        </examples><o:p></o:p></p>
        <p class="MsoNormal">      </rule><o:p></o:p></p>
        <p class="MsoNormal">      <rule
          id='8f0a8d57-80c6-4745-8a8a-5ce018bb0d87' class='system'
          provider='%ASA'><o:p></o:p></p>
        <p class="MsoNormal">        <!-- support: 1254 --><o:p></o:p></p>
        <p class="MsoNormal">        <patterns><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>Teardown
          @ESTRING:Protocol: @connection @ESTRING:: @for
          @ESTRING:::@@IPv4:DstIP:/@@ESTRING:DstPort: @to
          @ESTRING:::@@IPv4:SrcIP:/@@ESTRING:SrcPort:
          @@ESTRING::@</pattern><o:p></o:p></p>
        <p class="MsoNormal">        </patterns><o:p></o:p></p>
        <p class="MsoNormal">        <examples><o:p></o:p></p>
        <p class="MsoNormal">            <example><o:p></o:p></p>
        <p class="MsoNormal">                <test_message
          program='%ASA'>Teardown UDP connection 55101037 for
          outside:X.X.X.X/X to inside:X.X.X.X/X duration 0:00:00 bytes
          132</test_message><o:p></o:p></p>
        <p class="MsoNormal">            </example><o:p></o:p></p>
        <p class="MsoNormal">        </examples><o:p></o:p></p>
        <p class="MsoNormal">      </rule><o:p></o:p></p>
        <p class="MsoNormal">      <rule
          id='00c0732d-1e34-7340-a75f-21198bf71137' class='system'
          provider='%ASA'><o:p></o:p></p>
        <p class="MsoNormal">        <!-- support: 1256 --><o:p></o:p></p>
        <p class="MsoNormal">        <patterns><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>Built outbound
          @ESTRING:Protocol: @connection @ESTRING:: @for
          @ESTRING:::@@IPv4:DstIP:/@@ESTRING:DstPort: @(@ESTRING::)@ to
          @ESTRING:::@@IPv4:SrcIP:/@@ESTRING:SrcPort:
          @(@ESTRING::)@</pattern><o:p></o:p></p>
        <p class="MsoNormal">        </patterns><o:p></o:p></p>
        <p class="MsoNormal">        <examples><o:p></o:p></p>
        <p class="MsoNormal">            <example><o:p></o:p></p>
        <p class="MsoNormal">                <test_message
          program='%ASA'>Built outbound UDP connection 55101037 for
          outside:X.X.X.X/X (X.X.X.X/X) to inside:X.X.X.X/X
          (X.X.X.X/X)</test_message><o:p></o:p></p>
        <p class="MsoNormal">            </example><o:p></o:p></p>
        <p class="MsoNormal">        </examples><o:p></o:p></p>
        <p class="MsoNormal">      </rule><o:p></o:p></p>
        <p class="MsoNormal">      <rule
          id='4a586711-ebe2-dc4d-bf6e-e512666d8c5d' class='system'
          provider='%ASA'><o:p></o:p></p>
        <p class="MsoNormal">        <!-- support: 1594 --><o:p></o:p></p>
        <p class="MsoNormal">        <patterns><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>Built inbound
          @ESTRING:Protocol: @connection for faddr
          @IPv4:SrcIP:/@@ESTRING:SrcPort: @gaddr
          @IPv4:GlobalIP:/@@ESTRING:GlobalPort: @laddr
          @IPv4:LocalIP:/@@ESTRING:LocalPort:@</pattern><o:p></o:p></p>
        <p class="MsoNormal">        </patterns><o:p></o:p></p>
        <p class="MsoNormal">        <examples><o:p></o:p></p>
        <p class="MsoNormal">            <example><o:p></o:p></p>
        <p class="MsoNormal">                <test_message
          program='%ASA'>Built inbound ICMP connection for faddr
          X.X.X.X/X gaddr X.X.X.X/X laddr X.X.X.X/X</test_message><o:p></o:p></p>
        <p class="MsoNormal">            </example><o:p></o:p></p>
        <p class="MsoNormal">        </examples><o:p></o:p></p>
        <p class="MsoNormal">      </rule><o:p></o:p></p>
        <p class="MsoNormal">      <rule
          id='8be7928d-66e7-7042-abd5-869d6b49c56e' class='system'
          provider='%ASA'><o:p></o:p></p>
        <p class="MsoNormal">        <!-- support: 1763 --><o:p></o:p></p>
        <p class="MsoNormal">        <patterns><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>Built inbound
          @ESTRING:Protocol: @connection @ESTRING:: @for
          @ESTRING::@@IPv4:SrcIP:/@@ESTRING:SrcPort: @(@ESTRING::)@ to
          identity:@IPv4:DstIP:/@@ESTRING:DstPort:
          @(@ESTRING::)@</pattern><o:p></o:p></p>
        <p class="MsoNormal">        </patterns><o:p></o:p></p>
        <p class="MsoNormal">        <examples><o:p></o:p></p>
        <p class="MsoNormal">            <example><o:p></o:p></p>
        <p class="MsoNormal">                <test_message
          program='%ASA'>Built inbound UDP connection 55101078 for
          inside:X.X.X.X/X (X.X.X.X/X) to identity:X.X.X.X/X
          (X.X.X.X/X)</test_message><o:p></o:p></p>
        <p class="MsoNormal">            </example><o:p></o:p></p>
        <p class="MsoNormal">        </examples><o:p></o:p></p>
        <p class="MsoNormal">      </rule><o:p></o:p></p>
        <p class="MsoNormal">      <rule
          id='20aee256-b4f0-8b4d-93cb-263d5338fd21' class='system'
          provider='%ASA'><o:p></o:p></p>
        <p class="MsoNormal">        <!-- support: 1539 --><o:p></o:p></p>
        <p class="MsoNormal">        <patterns><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>Teardown
          @ESTRING:Protocol: @connection @ESTRING:: @for
          @ESTRING:::@@IPv4:SrcIP:/@@ESTRING:SrcPort: @to
          identity:@IPv4:DstIP:/@@ESTRING:DstPort:
          @duration@ANYSTRING::@</pattern><o:p></o:p></p>
        <p class="MsoNormal">        </patterns><o:p></o:p></p>
        <p class="MsoNormal">        <examples><o:p></o:p></p>
        <p class="MsoNormal">            <example><o:p></o:p></p>
        <p class="MsoNormal">                <test_message
          program='%ASA'>Teardown UDP connection 55101084 for
          inside:X.X.X.X/X to identity:X.X.X.X/X duration 0:02:01 bytes
          88</test_message><o:p></o:p></p>
        <p class="MsoNormal">            </example><o:p></o:p></p>
        <p class="MsoNormal">        </examples><o:p></o:p></p>
        <p class="MsoNormal">      </rule><o:p></o:p></p>
        <p class="MsoNormal">      <rule
          id='e075efdc-c25f-5e49-a208-7661e3b5a29b' class='system'
          provider='%ASA'><o:p></o:p></p>
        <p class="MsoNormal">        <!-- support: 3648 --><o:p></o:p></p>
        <p class="MsoNormal">        <patterns><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>Built dynamic
          @ESTRING:Protocol: @translation from
          @ESTRING:::@@IPv4:LocalIP:/@@ESTRING:LocalPort: @to
          @ESTRING:::@@IPv4:GlobalIP:/@@ESTRING:GlobalPort:@</pattern><o:p></o:p></p>
        <p class="MsoNormal">        </patterns><o:p></o:p></p>
        <p class="MsoNormal">        <examples><o:p></o:p></p>
        <p class="MsoNormal">            <example><o:p></o:p></p>
        <p class="MsoNormal">                <test_message
          program='%ASA'>Built dynamic TCP translation from
          any:X.X.X.X/X to outside:X.X.X.X/X</test_message><o:p></o:p></p>
        <p class="MsoNormal">            </example><o:p></o:p></p>
        <p class="MsoNormal">        </examples><o:p></o:p></p>
        <p class="MsoNormal">      </rule><o:p></o:p></p>
        <p class="MsoNormal">      <rule provider='%ASA'
          class='system' id='39'><o:p></o:p></p>
        <p class="MsoNormal">        <patterns><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>Cleared @ESTRING::
          @urgent flag from @ESTRING:::@@ESTRING::/@@NUMBER::@ to
          @ESTRING: ::@@ESTRING::/@@NUMBER::@</pattern><o:p></o:p></p>
        <p class="MsoNormal">          <pattern>regular
          translation creation failed for @ESTRING:: @src
          @ESTRING:::@@ESTRING:: @dst @ESTRING: ::@@ESTRING:: @(type
          @NUMBER::@, code @NUMBER::@</pattern><o:p></o:p></p>
        <p class="MsoNormal">        </patterns><o:p></o:p></p>
        <p class="MsoNormal">      </rule><o:p></o:p></p>
        <p class="MsoNormal">    </rules><o:p></o:p></p>
        <p class="MsoNormal">  </ruleset><o:p></o:p></p>
        <p class="MsoNormal"></patterndb><o:p></o:p><br>
        </p>
      </div>
    </blockquote>
    <br>
  </body>
</html>