• LogStash 配置说明
    • 配置 LogStash
    • FAQ
      • 1. Kibana 里看不到数据

    LogStash 配置说明

    本文讲解如何使用 LogStash 采集 OpenRASP 的报警日志,并发送到 ElasticSearch 保存。

    配置 LogStash

    在开始之前,你需要知道如下信息:

    • ElasticSearch 相关信息
      • 服务器地址和端口,这里是 192.168.154.200:9200
      • 要创建的索引名称,这里是 rasp-%{+YYYY.MM.dd}
      • 要使用的数据类型,这里是 attack
    • alarm-DATE.log 的绝对路径,这里是 /home/tomcat/rasp/logs/alarm/*.log
      参数详细说明,请参考如下文档

    • input file plugin 参数说明

    • output elasticsearch 参数说明
      完整的 LogStash 配置如下 - 仅供参考,注意替换 /home/tomcat 为正确的路径
    1. input {
    2. file {
    3. path => ["/home/tomcat/rasp/logs/alarm/*.log"]
    4. start_position => "beginning"
    5. }
    6. }
    7. filter {
    8. json {
    9. source => "message"
    10. }
    11. }
    12. output {
    13. stdout {
    14. codec => rubydebug
    15. }
    16. }
    17. output {
    18. elasticsearch {
    19. hosts => ["192.168.154.200:9200"]
    20. index => "rasp-%{+YYYY.MM.dd}"
    21. }
    22. }

    FAQ

    1. Kibana 里看不到数据

    首先,确认 Elasticsearch 里是否有数据

    在命令行里,执行以下命令,

    1. curl '192.168.154.200:9200/rasp-*/_count'

    如果返回 count 字段,则说明 Elasticsearch 存在数据。请检查 Kibana 是否配置了错误的 Elasticsearch 地址?

    1. {"count":420,"_shards":{"total":5,"successful":5,"failed":0}}

    其他情况,比如返回 error 字段,e.g IndexMissingException,则说明 Elasticsearch 里没有数据,需要进一步查看原因。

    1. {"error":"IndexMissingException[[attack] missing]","status":404}

    然后,检查 OpenRASP 是否工作正常

    检查 <app_home>/rasp/logs/alarm/*.log 是否有报警日志?如果没有,可以通过攻击测试用例,来产生一些报警日志。

    最后,检查 Logstach 是否正常

    如果要采集的路径存在日志,但是 Elasticsearch 里却没有数据,则说明 Logstash 工作不正常。

    • input 配置的日志路径是否正确?

    原文: https://rasp.baidu.com/doc/setup/log/logstash.html