Logstash安装部署

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
云数据库 Tair(兼容Redis),内存型 2GB
简介: Logstash安装部署



一、环境准备

   部署模式:单节点部署。

   官网地址:Elasticsearch 平台 — 大规模查找实时答案 | Elastic

   注意事项:

       1.  部署及安装所用的用户不能是root

192.168.122.119 Centos7.6

node1.vteamcloud.com

二、安装部署

2.1 下载安装包到指定文件夹,并解压

# 切换到非root用户,这里用的elasticsearch
su - elasticsearch
# 进入安装目录
cd /opt/module
# 解压安装包
tar xf logstash-8.11.0.tar.gz
# 给文件赋权
chown -R elasticsearch:elasticsearch /opt/module/logstash-8.11.0

2.2 复制证书文件

# 进入配置文件目录
cd logstash-8.11.0/config
# 创建证书文件夹
mkdir certs
# 将es的证书文件复制到certs文件夹下
cp /opt/module/elasticsearch-8.11.0/config/certs/http.p12 certs/

2.3 编辑配置文件

vim logstash.conf
 
# 从redis里面拿日志数据,这里配置的也是哨兵集群的1主2从共三个节点。
input {
  redis {
        batch_count => 1 #返回的事件数量,此属性仅在list模式下起作用。
        data_type => "list" #logstash redis插件工作方式
        key => "ipu-cbs-server-dev-log" #监听的键值
        host => "192.168.122.227" #redis地址
        port => 6379 #redis端口号
        password => "Redis@123456" #如果有安全认证,此项为密码
        db => 0 #redis数据库的编号
        threads => 1 #启用线程数量
        tags => ["ipu-cbs-server-dev239"]
  }
  redis {
        batch_count => 1 #返回的事件数量,此属性仅在list模式下起作用。
        data_type => "list" #logstash redis插件工作方式
        key => "ipu-cbs-server-dev-log" #监听的键值
        host => "192.168.122.237" #redis地址
        port => 6379 #redis端口号
        password => "Redis@123456" #如果有安全认证,此项为密码
        db => 0 #redis数据库的编号
        threads => 1 #启用线程数量
        tags => ["ipu-cbs-server-dev239"]
  }
  redis {
        batch_count => 1 #返回的事件数量,此属性仅在list模式下起作用。
        data_type => "list" #logstash redis插件工作方式
        key => "ipu-cbs-server-dev-log" #监听的键值
        host => "192.168.122.238" #redis地址
        port => 6379 #redis端口号
        password => "Redis@123456" #如果有安全认证,此项为密码
        db => 0 #redis数据库的编号
        threads => 1 #启用线程数量
        tags => ["ipu-cbs-server-dev239"]
  }
  redis {
        batch_count => 1 #返回的事件数量,此属性仅在list模式下起作用。
        data_type => "list" #logstash redis插件工作方式
        key => "ipu-cbs-server-test-log" #监听的键值
        host => "192.168.122.227" #redis地址
        port => 6379 #redis端口号
        password => "Redis@123456" #如果有安全认证,此项为密码
        db => 0 #redis数据库的编号
        threads => 1 #启用线程数量
        tags => ["ipu-cbs-server-test251"]
  }
  redis {
        batch_count => 1 #返回的事件数量,此属性仅在list模式下起作用。
        data_type => "list" #logstash redis插件工作方式
        key => "ipu-cbs-server-test-log" #监听的键值
        host => "192.168.122.237" #redis地址
        port => 6379 #redis端口号
        password => "Redis@123456" #如果有安全认证,此项为密码
        db => 0 #redis数据库的编号
        threads => 1 #启用线程数量
        tags => ["ipu-cbs-server-test251"]
  }
  redis {
        batch_count => 1 #返回的事件数量,此属性仅在list模式下起作用。
        data_type => "list" #logstash redis插件工作方式
        key => "ipu-cbs-server-test-log" #监听的键值
        host => "192.168.122.238" #redis地址
        port => 6379 #redis端口号
        password => "Redis@123456" #如果有安全认证,此项为密码
        db => 0 #redis数据库的编号
        threads => 1 #启用线程数量
        tags => ["ipu-cbs-server-test251"]
  }
}
 
 
filter {
 
  # 去除message中日志颜色的转义符
  mutate {
    gsub => [
      "message", "\u001b\[32m", "",
      "message", "\u001b\[34m", "",
      "message", "\u001b\[35m", "",
      "message", "\u001b\[36m", "",
      "message", "\u001b\[0;39m", ""
    ]
  }
 
  grok {
   # match => { "message" => "%{DATESTAMP:logdate}" }
   # 将yy-MM-dd HH:mm:ss.SSS 格式的日期时间赋值为logdate
     match => { "message" => "%{TIMESTAMP_ISO8601:logdate} %{GREEDYDATA:log_message}" }
  }
 
  # 将logdate的值赋值给@timestamp
  date {
    match => [ "logdate", "YY-MM-dd HH:mm:ss.SSS" ]
    target => "@timestamp"
    timezone =>"+00:00"
  }
 
  mutate {
  #  add_field => { "offset" => "%{[log][offset]}"}
  #  add_field => { "logDateTime" => "%{logdate}"}
  #  删除不用的字段
    replace => { "message" => "%{log_message}" }
    remove_field => ["event","input","host","ecs","log","@version","agent","logdate","log_message"]
  }
 
# 将logDateTime转为日期类型
#  date {
#    match => ["logDateTime", "yy-MM-dd HH:mm:ss.SSS"]
#    target => "logDateTime"
#  }
}
 
output {
 if "ipu-cbs-server-test251" in [tags] {
  elasticsearch {
    hosts => ["https://192.168.122.118:9200","https://192.168.122.119:9200","https://192.168.122.120:9200"]
    index => "ipu-cbs-server-test"
 #   ssl => true
#    cacert => "/opt/module/logstash-8.11.0/config/certs/elasticsearch-ca.pem"   
    user => "elastic"
    password => "elastic"
    ssl_certificate_verification => true
    truststore => "/opt/module/logstash-8.11.0/config/certs/http.p12"
    truststore_password => "123456"
  }      
        
 } else if "ipu-cbs-server-dev239" in [tags] {
   elasticsearch {
    hosts => ["https://192.168.122.118:9200","https://192.168.122.119:9200","https://192.168.122.120:9200"]
    index => "ipu-cbs-server-dev"
 #   ssl => true
 #   #    cacert => "/opt/module/logstash-8.11.0/config/certs/elasticsearch-ca.pem"   
    user => "elastic"
    password => "elastic"
    ssl_certificate_verification => true
    truststore => "/opt/module/logstash-8.11.0/config/certs/http.p12"
    truststore_password => "123456" 
   }
 }
}

2.4 启动服务

# 编写启动命令文件
echo "nohup bin/logstash -f config/logstash.conf  > ./log/logstash.log 2>&1 &" > start.sh
# 赋予文件权限
chmod a+x start.sh
# 启动服务
./start.sh
# 查看日志
tail -200f /opt/module/logstash-8.11.0/log/logstash.log
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
6月前
|
监控 数据安全/隐私保护
kibana安装部署
kibana安装部署
59 1
|
7月前
|
监控 应用服务中间件 nginx
使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)
ELK的架构有多种,本篇分享使用的架构如图所示: Beats(Filebeat) -> -> Elasticsearch -> Kibana,目前生产环境一天几千万的日志,内存占用大概 10G
465 4
|
7月前
|
安全 数据可视化 Java
linux安装ElasticSearch7.1和 kibana 启动
linux安装ElasticSearch7.1和 kibana 启动
87 1
Elasticsearch7.17.5之Kibana安装部署
Elasticsearch7.17.5之Kibana安装部署
272 0
|
7月前
|
数据安全/隐私保护 索引
Kibana安装部署
Kibana安装部署
|
缓存 应用服务中间件 nginx
基于Docker搭建ELK(Elasticsearch、Logstash、Kibana)
ELK是一套强大的开源工具组合,可以帮助我们采集、存储、分析和可视化大量的日志数据,本文通过简明清晰的步骤指导,帮助读者快速搭建起基于Docker的ELK日志分析平台,为日志数据的收集、存储、分析和可视化提供了一种高效可靠的解决方案。
|
存储 安全 Linux
Elasticsearch7.17.5 Linux安装部署
Elasticsearch7.17.5 Linux安装部署
268 0
|
Kubernetes 安全 测试技术
elasticsearch7.7安装部署
elasticsearch7.7安装部署
91 0
|
存储 Linux 数据处理
Logstash 7.11安装配置
Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择,可以同时从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。
346 0
Logstash 7.11安装配置