4.安装 Logstash (本地及 docker)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本章介绍 Logstash 的安装和部署,包括以下几个方面:- 1.环境准备- 2.Logstash的下载和安装- 3.启动Logstash- 4.收集数据- 5.docker方式安装

完整版电子书:《Elastic Stack 实战手册》早鸟版首发

1.环境准备

  • JVM运行环境

Logstash依赖JVM运行环境,本文以Java 8版本进行介绍,支持以下JVM版本:8、11、15。

2.Logstash的下载和安装

linux:

> curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-7.10.0-linux-x86_64.tar.gz
> tar xzvf logstash-7.10.0-linux-x86_64.tar.gz

APT

# 下载安装公钥
> wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
> sudo apt-get install apt-transport-https
# 保存仓库地址到本地
> echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
# 安装Logstash
> sudo apt-get update && sudo apt-get install logstash

YUM

# 下载安装公钥
> sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# 新建文件/etc/yum.repos.d/logstash.repo,并插入以下内容
[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

# 安装logstash
> sudo yum install logstash

mac and Homebrew

# 安装Elastic Homebrew仓库
> brew tap elastic/tap
# 安装Logstash
> brew install elastic/tap/logstash-full
# 通过Homebrew设置开机启动logstash服务
> brew services start elastic/tap/logstash-full
# 重启主机后,启动Logstash
> logstash

3.启动Logstash

本文采用tar包安装方式进行阐述。

  • 进入Logstash安装目录
  • 最简配置启动Logstash
# 通过控制台输入输出收集数据
> bin/logstash -e 'input { stdin { } } output { stdout {} }'
# 在控制台中输入 "Hello world!",然后会看到控制台输出"Hello world!"
hello world
2013-11-21T01:22:14.405+0000 0.0.0.0 hello world

4.收集数据

Logstash包含3个主要部分:输入(inputs),过滤器(filters)和输出(outputs)。下面以采集log4j日志并输出到ElasticSearch为例进行阐述。

1.创建收集数据的配置文件 bin/log4j2es.conf,插入以下内容

input {
  file {
  # 要采集的log文件路径
    path => "/data/logs/springboot.log"
  }
}
 
filter {
}
 
output {
  stdout {
    codec => rubydebug
  }
 
  elasticsearch {
    hosts => ["localhost:9200"]
  }
}

2.指定配置启动Logstash

> bin/logstash -f bin/log4j2es.conf
# 或者后台启动
> nohup bin/logstash -f bin/log4j2es.conf >/dev/null 2>&1 &

3.查看收集到ElasticSearch索引的数据

> curl http://localhost:9200/_cat/indices

默认Logstash生成以logstash开头带有日期的索引

green open logstash-2021.04.09-000001          3UhrpKMlRRCsJ7e5BRzHpA 1 1    0   0    208b    208b

查看索引中的数据

> curl -XPOST 'http://localhost:9200/logstash-2021.04.09-000001/_search'  -H 'Content-Type: application/json' -d '{"query":{"match_all":{}}}'

返回如下结果;

{
    "took": 1,
    "timed_out": false,
    "hits": {
        "hits": [
            {
                "_index": "logstash-2021.04.09-000001",
                "_type": "_doc",
                "_id": "aTL3UHkBSh9MyZ_E_yVB",
                "_score": 1.0,
                "_source": {
                    "host": "elastichost",
                    "path": "/data/logs/springboot.log",
                    "message": "2021-04-09 17:58:47.172  INFO 23556 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed3.",
                    "@version": "1",
                    "tags": [
                        "_grokparsefailure"
                    ],
                    "@timestamp": "2021-04-09T11:51:40.390Z"
                }
            }
        ]
    }
}

5.docker方式安装

拉取镜像

docker pull docker.elastic.co/logstash/logstash:7.10.0

docker模式运行Logstash,

# 1.参考tar包中logstah/config文件夹下所有配置拷贝一份放在宿主机 /usr/share/logstash/config/
# 2.修改pipeline.yml,增加以下配置
pipeline.id: main
path.config: /usr/share/logstash/config/log4j2es.conf
# -v挂载Logstash的配置/usr/share/logstash/config/到docker的路径~/settings/中
docker run --rm -it -v ~/settings/:/usr/share/logstash/config/ docker.elastic.co/logstash/logstash:7.10.0
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
17天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
18天前
|
Ubuntu Linux Docker
Ubuntu 18.04 安装Docker实战案例
关于如何在Ubuntu 18.04系统上安装Docker的实战案例,包括安装步骤、配置镜像加速以及下载和运行Docker镜像的过程。
104 3
Ubuntu 18.04 安装Docker实战案例
|
18天前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
63 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
4天前
|
Prometheus 监控 Cloud Native
docker安装prometheus+Granfan并监控容器
【9月更文挑战第14天】本文介绍了在Docker中安装Prometheus与Grafana并监控容器的步骤,包括创建配置文件、运行Prometheus与Grafana容器,以及在Grafana中配置数据源和创建监控仪表盘,展示了如何通过Prometheus抓取数据并利用Grafana展示容器的CPU使用率等关键指标。
|
22天前
|
Ubuntu Docker 索引
2024年最新版 Ubuntu 20+ 上安装 Docker
这篇文章提供了在Ubuntu 20+版本上安装Docker的详细步骤,包括更新软件包索引、安装依赖包、添加Docker官方GPG密钥、设置Docker稳定版仓库、安装Docker CE以及验证安装是否成功,并指导如何将用户添加到docker组以非root用户身份运行Docker。
|
26天前
|
存储 搜索推荐 应用服务中间件
深入探索Docker 安装 Tomcat
【8月更文挑战第26天】
37 4
|
25天前
|
NoSQL Redis 数据安全/隐私保护
深入探索利用Docker安装Redis
【8月更文挑战第27天】
61 2
|
19天前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
22天前
|
jenkins Java 持续交付
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
|
4月前
|
Ubuntu 网络安全 数据安全/隐私保护
百度搜索:蓝易云【docker通过dockerfile安装sftp教程。】
现在,你已经通过 Dockerfile 成功安装了 SFTP,并且可以使用指定的用户名和公钥进行远程访问。请确保替换示例中的用户名、密码和公钥为自己的实际值。
155 1