官方文档 https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html

重要参数:

  • path # 文件路径
  • sincedb_path # 隐藏文件,记录读取文件的位置,默认在启动用户的目录下,如root用户在/root下
  • start_position # 默认从文件尾开始读取记录,可以设置从文件头开始读取,类似tail -f
  • type # 类型,可以通过if进行判断

一.logstash配置文件使用

通过yum安装默认路径/etc/logstash/conf.d,配置文件存放路径

1.1 编写demo.conf文件,通过配置文件实现标准输入、两个输出:标准输出插件和elasticsearch插件

vim /etc/logstash/conf.d/demo.conf
input{
stdin{}
} filter{
} output{
elasticsearch {
hosts => ["10.0.0.22:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
stdout{
codec => rubydebug
}
}

 备注:配置文件中#表示注释。 

启动配置文件

[root@saltstack02 ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/demo.conf

2.2  使用logstash配置文件收集messages日志

[root@linux-node1 ~]# vim /etc/logstash/conf.d/system.conf
input {
file {
path => "/var/log/messages" #日志路径
type => "systemlog" #类型
start_position => "beginning" #logstash 从什么位置开始读取文件数据,默认是结束位置,也就是说 logstash 进程会以类似 tail -F 的形式运行。如果你是要导入原有数据,把这个设定改成"beginning",logstash 进程就从头开始读取,类似 less +F 的形式运行。
stat_interval => "2" #logstash 每隔多久检查一次被监听文件状态(是否有更新) ,默认是 1 秒。
}
}
output {
elasticsearch {
hosts => ["10.0.0.22:9200"] #指定hosts
index => "logstash-systemlog-%{+YYYY.MM.dd}" #索引名称
} } [root@saltstack02 ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/system.conf -t #检测配置文件是否有语法错误
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console
Configuration OK

1.3修改日志的权限,防止报错

[root@linux-node1 ~]# ll /var/log/messages
-rw-------. 1 root root 791209 12月 27 11:43 /var/log/messages
#这里可以看到该日志文件是600权限,而elasticsearch是运行在elasticsearch用户下,这样elasticsearch是无法收集日志的。所以这里需要更改日志的权限,否则会报权限拒绝的错误。在日志中查看/var/log/logstash/logstash-plain.log 是否有错误。
[root@linux-node1 ~]# chmod 644 /var/log/messages
[root@linux-node1 ~]# systemctl restart logstash

1.4 执行

[root@saltstack02 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/system.conf

最新文章

  1. Unsupported major.minor version 52.0问题的解决
  2. 为什么是梯度下降?SGD
  3. cf 二分图
  4. jenkins maven svn 部署web项目到本地Tomcat
  5. 为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 alias vi='vim'此时,经过上面配置已经可以显示语法高亮了
  6. [教程] Windows Server 2008 R2架设SMTP服务器发送邮件教程
  7. 免信用卡注册美国App Store账号
  8. 超强的ACM题目类型总结
  9. jwplayer 源代码重新编译
  10. aix rksh 执行CLI命令行限制
  11. java基础概念经典题目汇集
  12. leetcode 442. Find All Duplicates in an Array 查找数组中的所有重复项
  13. 产品经理教你如何构建电商电销 CRM 系统
  14. Promise的两种处理异步的方式
  15. 弹出的 Dialog 里,包含 Form,如何在关闭 Dialog 时,执行 resetFields(对整个表单进行重置,将所有字段值重置为初始值并移除校验结果)
  16. JavaWeb学习 (十五)————JSP指令
  17. jmap 命令
  18. 螺旋折线|2018年蓝桥杯B组题解析第七题-fishers
  19. 3223. 文艺平衡树【平衡树-splay】
  20. python取当前时间前后一定间隔的时间点

热门文章

  1. java selenium常用API(WebElement、iFrame、select、alert、浏览器窗口、事件、js) 一
  2. 15个超级实用的jQuery插件
  3. nginx 跨域配置
  4. HDU1505 City Game 悬线法
  5. 63、使用Timer类来实现定时任务
  6. 在mac环境下用QT使用OpenGL,glut,glfw
  7. Spring4笔记5--基于注解的DI(依赖注入)
  8. 一个简单的爆破 mysql 远程连接脚本(perl6)
  9. JDK1.8源码TreeMap
  10. 5 - django-csrf-session&cookie