logstash にログを記録する puppet サーバー 5.3 があります。
毎日約 90,000 件のメッセージを受け取りますが、その 95% はログ レベル INFO です。WARN と ERROR レベルのみを取得したいのですが、何を試しても INFO が表示されます。これは、logback.xml 経由でデータを logstash に送信する方法です。
<!-- This is the logstash part -->
<appender name="stash" class="net.logstash.logback.appender.LogstashSocketAppender">
<host>logserverhostname.com</host>
<port>514</port>
<level>WARN</level>
</appender>
<!-- End of the logstash part -->
<root level="WARN">
<appender-ref ref="stash" />
</root>
これは、Kibana をチェックすると得られるものです。
message:{"@timestamp":"2019-03-26T12:54:13.493+01:00","@version":1,"message":"Puppet 'replace_facts' command for somehost.com submitted to PuppetDB with UUID 92ba53a7-83f2-4438-b1da-f39cd7ccc844","logger_name":"puppetserver","thread_name":"qtp1518931796-63","level":"INFO","level_value":20000,"HOSTNAME":"puppet-server.com"} severity_label:Emergency severity:0 tags:syslog, _grokparsefailure_sysloginput @timestamp:March 26th 2019, 12:54:13.492 priority:0 @version:1 facility_label:kernel host:IP.IP.IP.IP facility:0 _id:v6PZuWkBButu0N-H0QkS _type:doc _index:syslog-2019.03.26 _score: -
Kibana で結果を除外することはできますが、無駄なメッセージをフィードしない方がよいので、IO、ネットワーク トラフィック、およびディスク領域を節約できます。