ELK入门(四)——logstash上传messages至ES,在Kibana检索

一、修改system.conf

1.修改内容

找到logstash-sample配置文件,在/etc/logstash/文件夹下,将其复制到/etc/logstash/conf.d/文件夹下

# 转到目录
# cd /etc/logstash/

# 查看
# ls

 

# 复制
cp /etc/logstash/logstash-sample.conf  /etc/logstash/conf.d/logstash-sample.conf

接着修改conf文件的内容。我们要上传的是messages系统日志,在path中填入目录, start_position表示从开头处读取

# 内容
input {
  file {
    path => "/var/log/messages"  # 日志路径
    type => "systemlog"    # 类型
    start_position => "beginning"   # 从何处开始
    stat_interval => "2"    #监听间隔时间
    # sincedb_path => "/dev/null"
  }
}
output {
  elasticsearch {
    hosts => ["localhost:9200"]   # 修改
    index => "logstash-systemlog-%{+YYYY.MM.dd}"  # 命名索引为logstash-systemlog-年-月-日
  }
}

2.权限调整

但修改好后还不能直接运行,因为一般来说messages有权限限制,因此要重新调整权限,不然就会什么都没有发生,运行权限调整代码,然后再启动

# 修改权限
chmod 644 /var/log/messages*

# 运行
systemctl restart logstash

此时应该在elasticsearch-head生成了相应的索引

二、Kibana查看

创建Index pattern

这里的pattern name不一定要全名,也可以logstash-systemlog*,就可以将所有前缀为logstash-systemlog的一起加载,适合后续多个日期的显示

下一步的Time field选择@timestamp,也就是时间戳

如果数据成功导入,就可以显示出来了

三、其他问题

1.Logstash重启记录变少

logstash在第一次导入数据时将自动创建一个文件监控记录(sincedb),导致若是删除索引重新运行logstash会发现记录量非常少,这有两种解决办法,参见博客ELK入门——解决:删除索引,重运行logstach后messages数据量变少

2.时间戳为导入时间

在Kibana上,我们可以发现,时间戳的信息为导入的时间结点,然而我们想要时间戳匹配的是日志生成时间,这就需要用到grok+data,匹配信息中的时间,并将时间戳修改,参见博客ELK入门(五)——messages日志生成时间替换时间戳(grok+data)

3.Logstash重启报错

Address already in use

错误信息很明显告诉我们是该端口已经被占用了,这可能是因为ctrl+C,因此我们结束此进程,重新启动

# 结束进程
systemctl stop logstash

# 查看
# ps -ef |grep logstash

# 结束
# kill -9 XXXX

 

参考博客:

ELK实战之Kibana部署及message日志收集

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值