macos - Apple 系统日志到 ELK

标签 macos elasticsearch logging logstash kibana

有人知道如何在 ELK 这样的 SIEM 中导出 mac os x 的 ASL 日志吗? filebeat 上是否有配置可以先将它们转换为文本格式。

我知道我们可以通过 syslog –T utc –F raw 读取它们

最佳答案

您应该能够通过 log 命令导出所有内容。我有时喜欢通过logstash和elasticsearch分析我的个人笔记本电脑产生的日志。为了将日志存入logstash,我在 tmux 窗口中运行以下命令:

sudo log stream --info --debug |sudo -E socat -dddd STDIN TCP4:logstash.docker:6661,interval=4,reuseaddr,forever

我在logstash中编写了几个groks来解析macos系统日志,它们大部分时间都可以工作。请随意将它们用于您自己的日志。如果您设法改进它们,请按照我的方式将它们(或要点链接)发送给我。

filter {
  grok {
    match => { "message" => "%{YEAR:year}-%{MONTHNUM:month}-%{MONTHDAY:day}\s+%{HOUR:hour}:%{MINUTE:minute}:%{SECOND:second}%{ISO8601_TIMEZONE:tz}%{GREEDYDATA}" }
    add_field => {"[log_timestamp]" => "%{year}-%{month}-%{day} %{hour}:%{minute}:%{second}%{tz}"}
    tag_on_failure => ["datefail_string"]
  }
  grok {
    match => { "message" => ["%{YEAR:year}-%{MONTHNUM:month}-%{MONTHDAY:day}\s+%{HOUR:hour}:%{MINUTE:minute}:%{SECOND:second}%{ISO8601_TIMEZONE:tz}\s+%{BASE16NUM:thread_id}\s+%{LOGLEVEL:log_type}\s+%{BASE16NUM:activity}\s+%{NUMBER:pid}\s+%{DATA:program}:\s+\(%{DATA:library}\)\s+\[%{DATA:package}\]\s+%{GREEDYDATA:msg}",  "%{YEAR:year}-%{MONTHNUM:month}-%{MONTHDAY:day}\s+%{HOUR:hour}:%{MINUTE:minute}:%{SECOND:second}%{ISO8601_TIMEZONE:tz}\s+%{BASE16NUM:thread_id}\s+%{LOGLEVEL:log_type}\s+%{BASE16NUM:activity}\s+%{NUMBER:pid}\s+%{DATA:program}:\s+\[%{DATA:package}\]\s+%{GREEDYDATA:msg}", "%{YEAR:year}-%{MONTHNUM:month}-%{MONTHDAY:day}\s+%{HOUR:hour}:%{MINUTE:minute}:%{SECOND:second}%{ISO8601_TIMEZONE:tz}\s+%{BASE16NUM:thread_id}\s+%{LOGLEVEL:log_type}\s+%{BASE16NUM:activity}\s+%{NUMBER:pid}\s+%{DATA:program}:%{GREEDYDATA:msg}"] }
      tag_on_failure => ["logfail1"]
    remove_field => ["message"]
  }

  mutate {
    remove_field => ["month","day","year","minute","hour","second","tz"]
  }
}

关于macos - Apple 系统日志到 ELK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50890321/

相关文章:

datetime - 按星期几过滤,按小时汇总

azure - `docker-compose up` 与 `docker compose up` 与环境变量

elasticsearch - 在Elasticsearch中索引字符串的最后一个单词

MongoDB 日志文件

java - 部署到 Tomcat 时 Beans 中的 Log4j Logger NullPointerException

swift - 有没有办法取消 DispatchQueue concurrentPerform 操作?

ruby-on-rails - Pow服务器: serving local rails app via myapp. dev.com域

objective-c - 我应该在库中使用 Autoreleasepool

python - multiprocessing.Process 的日志输出

php - 在 Mac OS X Yosemite 10.10 上使用 Mamp Pro 的 Mcrypt