第三篇:Logstash 安装配置
Logstash 简介:
Logstash 是一个实时数据收集引擎,可收集各类型数据并对其进行分析,过滤和归纳。按照自己条件分析过滤出符合数据导入到可视化界面。Logstash 建议使用java1.8 有些版本是不支持的,比如java1.9。
一. 下载安装jdk1.8
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载好的安装包上传到cpy04.dev.xjh.com的/usr/local/ 目录下并三执行如下操作:
- #解压文件
- tar xf /usr/local/jdk1.8.0_111.tar.gz -C /usr/local
- mv /usr/local/jdk1.8.0_111 /usr/local/jdk-1.8.0
- #添加环境变量
- alternatives --install /usr/bin/java java /usr/local/jdk1.8.0/jre/bin/java 3000
- alternatives --install /usr/bin/jar jar /usr/local/jdk1.8.0/bin/jar 3000
- alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0/bin/javac 3000
- alternatives --install /usr/bin/javaws javaws /usr/local/jdk1.8.0/jre/bin/javaws 3000
- alternatives --set java /usr/local/jdk1.8.0/jre/bin/java
- alternatives --set jar /usr/local/jdk1.8.0/bin/jar
- alternatives --set javac /usr/local/jdk1.8.0/bin/javac
- alternatives --set javaws /usr/local/jdk1.8.0/jre/bin/javaws
- #切换java 版本
- alternatives --config java
二. 安装logstash
1. 登陆cpy04.dev.xjh.com(需下载其他版本请点击:https://www.elastic.co/downloads/logstash )
- wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.1.tar.gz -o /opt/logstash-5.6.1.tar.gz
- tar xf /opt/logstash-5.6.1.tar.gz -C /usr/local
- mv /usr/local/logstash-5.6.1 /usr/local/logstash
三、配置logstash
1. 编辑 /usr/local/logstash/config/logstash.yml配置文件修改如下内容:
- node.name: cpy04.dev.xjh.com #设置节点名称,一般写主机名
- path.data: /usr/local/logstash/plugin-data #创建logstash 和插件使用的持久化目录
- config.reload.automatic: true #开启配置文件自动加载
- config.reload.interval: 10 #定义配置文件重载时间周期
- http.host: "cpy04.dev.xjh.com" #定义访问主机名,一般为域名或IP
2. 新建持久化目录:
- mkdir -p /usr/local/logstash/plugin-data
3. 配置logstash 从Filebeat 输入、过滤、输出至elasticsearch(logstash 有非常多插件,详见官网,此处不列举)
3.1 安装logstash-input-jdbc 和logstash-input-beats-master 插件
- /usr/local/logstash/bin/logstash-plugin install logstash-input-jdbc
- wget https://github.com/logstash-plugins/logstash-input-beats/archive/master.zip -O /opt/master.zip
- unzip -d /usr/local/logstash /opt/master.zip
3.2 配置logstash input 段
vim /usr/local/logstash/from_beat.conf
- input {
- beats {
- port => 5044
- }
- }
- output {
- stdout { codec => rubydebug }
- }
启动logstash 看是否能接收到filebeat 传过来的日志内容,要确保filebeat 在日志节点上启动正常。此时只测试传入是否正常,并未对原始日志进行过滤和筛选
- /usr/local/logstash/bin/logstash -f /usr/local/logstash/config/from_beat.conf
启动后如果没有报错需要等待logstash 完成,此时间可能比较长
3.3 配置 logstash filter 段,修改/usr/local/logstash/from_beat.conf 为以下内容,配置完成后再次启动logstash,此时如果成功,输出内容应该是自己正则表达式捕获后的字段切分内容。
- input {
- beats {
- port => 5044
- }
- }
- filter {
- #过滤access 日志
- if ( [source] =~ "localhost\_access\_log" ) {
- grok {
- match => {
- message => [ "%{COMMONAPACHELOG}" ]
- }
- }
- date {
- match => [ "request_time", "ISO8601" ]
- locale => "cn"
- target => "request_time"
- }
- #过滤tomcat日志
- } else if ( [source] =~ "catalina" ) {
- #使用正则匹配内容到字段
- grok {
- match => {
- message => [ "(?<webapp_name>\[\w+\])\s+(?<request_time>\d{4}\-\d{2}\-\d{2}\s+\w{2}\:\w{2}\:\w{2}\,\w{3})\s+(?<log_level>\w+)\s+(?<class_package>[^.^\s]+(?:\.[^.\s]+)+)\.(?<class_name>[^\s]+)\s+(?<message_content>.+)" ]
- }
- }
- #解析请求时间
- date {
- match => [ "request_time", "ISO8601" ]
- locale => "cn"
- target => "request_time"
- }
- } else {
- drop {}
- }
- }
- output {
- stdout { codec => rubydebug }
- }
3.4 配置 过滤后内容输出至elasticsearch,修改from_beat.conf 文件为以下内容:
- input {
- beats {
- port => 5044
- }
- }
- filter {
- #过滤access 日志
- if ( [source] =~ "localhost\_access\_log" ) {
- grok {
- match => {
- message => [ "%{COMMONAPACHELOG}" ]
- }
- }
- date {
- match => [ "request_time", "ISO8601" ]
- locale => "cn"
- target => "request_time"
- }
- #过滤tomcat日志
- } else if ( [source] =~ "catalina" ) {
- #匹配内容到字段
- grok {
- match => {
- message => [ "(?<webapp_name>\[\w+\])\s+(?<request_time>\d{4}\-\d{2}\-\d{2}\s+\w{2}\:\w{2}\:\w{2}\,\w{3})\s+(?<log_level>\w+)\s+(?<class_package>[^.^\s]+(?:\.[^.\s]+)+)\.(?<class_name>[^\s]+)\s+(?<message_content>.+)" ]
- }
- }
- #解析请求时间
- date {
- match => [ "request_time", "ISO8601" ]
- locale => "cn"
- target => "request_time"
- }
- } else {
- drop {}
- }
- }
- output {
- if ( [source] =~ "localhost_access_log" ) {
- elasticsearch {
- hosts => ["cpy04.dev.xjh.com:9200"]
- index => "access_log"
- }
- } else {
- elasticsearch {
- hosts => ["cpy04.dev.xjh.com:9200"]
- index => "tomcat_log"
- }
- }
- stdout { codec => rubydebug }
- }
至此,logstash 配置完成。如果需要做其他过滤或者输出至除elasticsearch 以外插件,如kafka 详见:https://www.elastic.co/guide/en/logstash/current/index.html
input {
beats {
port =>
5044
}
}
filter {
#过滤access 日志
if
( [source] =~
"localhost\_access\_log"
) {
grok {
match => {
message => [
"%{COMMONAPACHELOG}"
]
}
}
date {
match => [
"request_time"
,
"ISO8601"
]
locale =>
"cn"
target =>
"request_time"
}
#过滤tomcat日志
}
else
if
( [source] =~
"catalina"
) {
#匹配内容到字段
grok {
match => {
message => [
"(?<webapp_name>\[\w+\])\s+(?<request_time>\d{4}\-\d{2}\-\d{2}\s+\w{2}\:\w{2}\:\w{2}\,\w{3})\s+(?<log_level>\w+)\s+(?<class_package>[^.^\s]+(?:\.[^.\s]+)+)\.(?<class_name>[^\s]+)\s+(?<message_content>.+)"
]
}
}
#解析请求时间
date {
match => [
"request_time"
,
"ISO8601"
]
locale =>
"cn"
target =>
"request_time"
}
}
else
{
drop {}
}
}
output {
if
( [source] =~
"localhost_access_log"
) {
elasticsearch {
hosts => [
"cpy04.dev.xjh.com:9200"
]
index =>
"access_log"
}
}
else
{
elasticsearch {
hosts => [
"cpy04.dev.xjh.com:9200"
]
index =>
"tomcat_log"
}
}
stdout { codec => rubydebug }
}
第三篇:Logstash 安装配置的更多相关文章
- 从0开始搭建SQL Server 2012 AlwaysOn 第三篇(安装数据,配置AlwaysOn)
这一篇是从0开始搭建SQL Server 2012 AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 操作步骤: 1.安装SQL server ...
- Logstash 安装配置使用
一.Windows下安装运行 官网下载,下载与elasticSearch同一个版本,zip格式.Logstash占用内存较大,我在使用的时候cpu一般都是冲到90% 1.CMD直接运行 创建一个基本的 ...
- 构建Docker平台【第三篇】安装 kubernetes 组件
第一步:准备 1. 安装包: kubeadm-1.6.0-0.alpha.0.2074.a092d8e0f95f52.x86_64.rpm kubernetes-cni-0.3.0.1-0.07a8a ...
- logstash 安装 配置
1.Logstash 安装:在产生日志的服务器上安装 Logstash1.安装java环境 # yum install java-1.8.0-openjdk.x86_642.安装logstash(使用 ...
- tomcat(三)--基本安装配置
0x01 JDK和Tomcat安装 到oracle官网下载jdk,当前下载的版本是Linux x64 jdk-8u101-linux-x64.tar.gz 到apache官网下载tomcat,当前最 ...
- Flume篇---Flume安装配置与相关使用
一.前述 Copy过来一段介绍Apache Flume 是一个从可以收集例如日志,事件等数据资源,并将这些数量庞大的数据从各项数据资源中集中起来存储的工具/服务,或者数集中机制.flume具有高可用, ...
- [转载] 纯手打 第一篇:安装配置gradle
本文转载自: http://www.cnblogs.com/uncle2000/p/4276833.html 一个bug 一个脚印的叫你们用gradle. 1介于网络上的很多资料都是老的 不适用与现在 ...
- gradle教程 [原创](eclipse/ADT下 非插件 非Android Studio/AS)纯手打 第一篇:安装配置gradle
一个bug 一个脚印的叫你们用gradle. 1介于网络上的很多资料都是老的 不适用与现在的新版本gradle 尤其是有些gradle方法改名了老的用不了 2介于网上都是粘贴复制并且零碎我很蛋疼啊,走 ...
- logstash安装配置
vim /usr/local/logstash/etc/hello_search.conf 输入下面: input { stdin { type => "human" }} ...
随机推荐
- 洛谷 U19159 采摘毒瘤
题目背景 Salamander见到路边有如此多的毒瘤,于是见猎心喜,从家里拿来了一个大袋子,准备将一些毒瘤带回家. 题目描述 路边共有nn 种不同的毒瘤,第i 种毒瘤有k_i 个,每个需要占据d_i ...
- CSS背景属性background
background属性是所有背景属性的缩写: 以下是这些背景属性: background-color:背景颜色 你可以通过颜色名称(red/green/blue)来设置 也可以用十六进制(#fff/ ...
- django10 使用自定义标签配置说明
1).在app目录下建目录templatetags[不可改名]目录,然后在该目录下建一个空的__init__.py 2).mytags.py 在templatetags下建一个mytags.py,添加 ...
- hibernate,mybatis,beetlsql 全面比較
这是我的一个综合评分.总共分为12个单项.每一个单项最高5分.最低0分. 注意.评价仅仅包括这些软件提供的标准功能,不包括第三方提供的功能,如代码生成等. 开发效率 hibernate 能获取数据库 ...
- 搭建Git本地服务器(转)
http://www.cnblogs.com/trying/archive/2012/06/28/2863758.html 当前任务,学习中... 公司小范围用法: 服务器上做的: 在服务器上建立一 ...
- 转:mybatis3中@SelectProvider的使用技巧
mybatis3中@SelectProvider的使用技巧 mybatis的原身是ibatis,现在已经脱离了apache基金会,新官网是http://www.mybatis.org/. mybati ...
- Elasticsearch教程(七) elasticsearch Insert 插入数据(Java)
首先我不赞成再采用一些中间件(jar包)来解决和 Elasticsearch 之间的交互,比如 Spring-data-elasticsearch.jar 系列一样,用就得依赖它.而 Elastic ...
- Vue笔记五
十二.过滤器(filter) 示例代码: <template> <div id="app"> {{ msg | capitalize }} </div ...
- close_wait状态的产生原因及解决(转)
最近测试环境server由于需要与大量的后台server交互,今天突然发现有大量的close_wait产生,于是仔细研究了一下: 如果我们的服务器程序处于CLOSE_WAIT状态的话,说明套接字是被动 ...
- Xcode强大的多视图立体分层显示View UI Herarchy
Xcode能够显示执行页面的立体uivew结构图,能够让你看到一个页面包括哪些视图,在哪一层,在页面的什么位置. 一看就能看到你的uiview是否显示.显示在哪里了. 用鼠标点击页面移动鼠标能够看到页 ...