当前位置: 首页 > article >正文

【Logstash01】企业级日志分析系统ELK之Logstash 安装与介绍

Logstash 介绍

  • Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发 送到您最喜欢的一个或多个“存储库”中

  • Logstash 可以水平伸缩,而且logstash是整个ELK中拥有最多插件的一个组件

  • Logstash 基于 Java 和 Ruby 语言开发

Logstash 官网:

Logstash:收集、解析和转换日志 | Elastic

Logstash 官方说明

Logstash Reference [7.6] | Elasticicon-default.png?t=O83Ahttps://www.elastic.co/guide/en/logstash/7.6/index.html 

Logstash 架构:

  • 输入 Input:用于日志收集,常见插件: Stdin、File、Kafka、Redis、Filebeat、Http

  • 过滤 Filter:日志过滤和转换,常用插件: grok、date、geoip、mutate、useragent

  • 输出 Output:将过滤转换过的日志输出, 常见插件: File,Stdout,Elasticsearch,MySQL,Redis,Kafka

Logstash 和 Filebeat 比较

  • Logstash 功能更丰富,可以支持直接将非Josn 格式的日志统一转换为Json格式,且支持多目标输出,和filebeat相比有更为强大的过滤转换功能

  • Logstash 资源消耗更多,不适合在每个日志主机上安装

Logstash 安装

安装要求

https://www.elastic.co/guide/en/logstash/current/getting-started-withlogstash.htmlicon-default.png?t=O83Ahttps://www.elastic.co/guide/en/logstash/current/getting-started-withlogstash.html 

安装方法

Installing Logstash | Logstash Reference [8.17] | Elasticicon-default.png?t=O83Ahttps://www.elastic.co/guide/en/logstash/current/installing-logstash.html 

可以支持下面安装方法

  • 二进制

  • 包仓库

  • Docker 容器

环境准备安装 Java 环境

注意: 新版logstash包已经内置了JDK无需安装

新版 Logstash 要求 JAVA 要求 11和17

https://www.elastic.co/guide/en/logstash/current/getting-started-withlogstash.html 

Ubuntu 环境准备
#8.X要求安装JDK11或17,新版logstash包已经内置了JDK无需安装
[root@logstash ~]#apt update && apt -y install openjdk-17-jdk
[root@logstash ~]#apt update && apt -y install openjdk-11-jdk
#7.X 要求安装JDK8
[root@logstash ~]#apt -y install openjdk-8-jdk
CentOS 环境准备

关闭防火墙和 SELinux

[root@logstash ~]# systemctl disable --now firewalld
[root@logstash ~]# sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
[root@logstash ~]# setenforce 0

安装 Java 环境

#安装oracle 的JDK
[root@logstash ~]# yum install jdk-8u121-linux-x64.rpm
[root@logstash ~]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
#或者安装OpenJDK
[root@logstash ~]# yum -y install java-1.8.0-openjdk
[root@logstash ~]# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)

 

 

安装 Logstash

注意: Logstash 版本要和 Elasticsearch 相同的版本,否则可能会出错

Logstash 官方下载链接

https://www.elastic.co/cn/downloads/logstash
https://www.elastic.co/cn/downloads/past-releases#logstash

镜像网站下载链接

Index of /elasticstack/ | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorIndex of /elasticstack/ | 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。icon-default.png?t=O83Ahttps://mirrors.tuna.tsinghua.edu.cn/elasticstack/

Ubuntu 安装 Logstash

范例:包安装

[root@logstash ~]#wget          https://mirrors.tuna.tsinghua.edu.cn/elasticstack/8.x/apt/pool/main/l/logstash/logstash-8.6.1-amd64.deb
[root@logstash ~]#dpkg -i logstash-8.6.1-amd64.deb
[root@logstash ~]#systemctl enable --now logstash.service

[root@logstash ~]#systemctl enable --now logstash.service
#生成专有用户logstash,以此用户启动服务,后续使用时可能会存在权限问题
[root@logstash ~]#id logstash 
用户id=998(logstash) 组id=999(logstash) 组=999(logstash)
[root@logstash ~]#ps aux|grep logstash
RHEL系列安装 Logstash

范例: 包安装

[root@logstash ~]#wget https://mirrors.tuna.tsinghua.edu.cn/elasticstack/7.x/yum/7.6.2/logstash-7.6.2.rpm
[root@logstash ~]#yum install logstash-7.6.2.rpm
[root@logstash ~]#chown logstash.logstash /usr/share/logstash/data/queue –R #权限更改为logstash用户和组,否则启动的时候日志报错

 

修改 Logstash 配置(可选)
#默认配置可以不做修改
[root@logstash ~]#vim /etc/logstash/logstash.yml
[root@logstash ~]#grep -Ev '#|^$' /etc/logstash/logstash.yml
node.name: logstash-node01
pipeline.workers: 2
pipeline.batch.size: 1000    #批量从IPNPUT读取的消息个数,可以根据ES的性能做性能优化
pipeline.batch.delay: 5      #处理下一个事件前的最长等待时长,以毫秒ms为单位,可以根据ES的性能做性能优化
path.data: /var/lib/logstash #默认值
path.logs: /var/log/logstash #默认值
#内存优化	
[root@logstash ~]#vim /etc/logstash/jvm.options
-Xms1g
-Xmx1g
#Logstash默认以logstash用户运行,如果logstash需要收集本机的日志,可能会有权限问题,可以修改为root
[root@logstash ~]#vim /etc/systemd/system/logstash.service
[Service]
User=root
Group=root

#子配置文件路径
[root@logstash ~]#cat /etc/logstash/pipelines.yml 
# This file is where you define your pipelines. You can define multiple.
# For more information on multiple pipelines, see the documentation:
# https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html

- pipeline.id: main
  path.config: "/etc/logstash/conf.d/*.conf"
  
[root@logstash ~]#systemctl daemon-reload;systemctl restart logstash


http://www.kler.cn/a/470565.html

相关文章:

  • PyCharm简单调试
  • 微软 2024 最新技术全景洞察
  • 【读书与思考】历史是一个好东西
  • 【Vim Masterclass 笔记05】第 4 章:Vim 的帮助系统与同步练习(L14+L15+L16)
  • 基于Centos 7系统的安全加固方案
  • 最新版Chrome浏览器加载ActiveX控件之CFCA安全输入控件
  • 【通识安全】煤气中毒急救的处置
  • 数据库系统安全
  • 数据结构:时间复杂度和空间复杂度
  • 如何恢复依赖的go自定义SDK的GoZero项目
  • MCGS学习记录
  • JuiceFS 详解:一款为云原生设计的高性能分布式文件系统
  • @Cacheable 注解爆红(不兼容的类型。实际为 java. lang. String‘,需要 ‘boolean‘)
  • SQL Server 中 STRING_AGG 函数使用拼接字符串超长处理方法
  • JVM实战—10.MAT的使用和JVM优化总结
  • 机器学习周报-ModernTCN文献阅读
  • 回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测
  • 解决linux自启程序无法在终端输出问题
  • 低空经济应用探索,无人机个性需求组装技术详解
  • 云计算基础,虚拟化原理
  • Java测试开发平台搭建(八) Jenkins
  • 【Linux】RPMSG通讯协议介绍
  • w140体育馆使用预约平台的设计与实现
  • CV-MLLM经典论文解读|OneLLM: One Framework to Align All Modalities with Language
  • netty系列(四)websocket client和server
  • 用CRD定义未来:解锁机器学习平台的无限可能