企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**本文不介绍技术的具体实现,只介绍概念原理,有哪些实现方式.适合已经学习过ELK的人,进行ELK快速复习** #Logstash ## 1.Logstash安装 参考:[《安装logstash》](http://www.kancloud.cn/hanxt/elk/153880) ## 2.Logstash概念 * logstash与linux系统的配合管道"|"的使用方式比较像,输入,过滤,输出 * Logstash是用多线程来实现的,并为每类线程取了名字.输入的叫做"<threadname",过滤的叫做"|threadname",输出的叫做">threadname" * 数据在线程之间以事件的形式流转.不要叫行,因为logstash可以处理多行的事件. logstash通常会为原始事件添加一些额外信息,如: * @timestamp 用来标记事件发生的事件 * host用来标记事件发生的主机位置 * type用来标记事件的唯一标识类型,比如:std表示标准输入输出 * tags用来为事件打标签,一个事件可以有多个标签组成的数组 Logstash的过滤插件都有四个方法: * add_tag * remove_tag * add_filed * remove_filed **第7-14页的配置语法先简单略过** ## 3.Logstash插件配置 插件是logstash的最大的特色,目前支持四种插件类型: * 输入插件 * 输出插件 * 过滤插件 * 编解码插件 ### 3.1 输入插件 #### 3.1.1 stdin:从linux终端的标准输入获得数据 这个不多说 #### 3.1.2 file:文件输入 * 可以监听文件的变化,记录一个数据库文件.sincedb来跟踪被监听文件的当前读取位置 * 支持通配符 * 支持递归子目录 #### 3.1.3 TCP输入 不建议使用,测试可以.因为logstash的缓冲队列中只能缓存20个事件. 建议在生产中使用kafka或redis作为消息队列 #### 3.1.4 syslog输入 syslog是运维领域一种流行的数据传输协议.如果想从设备上收集系统日志,syslog应该是第一选择,尤其是网络设备. **如果有需要,syslog需要进一步的了解** #### 3.1.5 collected输入 collectd是一款系统监控软件,可以用来收集CPU,内存,网卡流量,磁盘IO及磁盘空间占用等信息。他会在系统运行时周期性的统计系统相关信息.可以利用这些信息来查找系统性能瓶颈.