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