Centos7 安装 Logstash
来源:互联网 发布:淘宝上卖的觅心猎手 编辑:程序博客网 时间:2024/06/06 05:06
0.介绍
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。
http://kibana.logstash.es/content/logstash/
1.下载和安装
下载地址
https://www.elastic.co/downloads/logstash
目前最新版 2.4.0
这里使用 tar.gz 源码安装
下载
wget https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar.gz
解压
tar -zxvf logstash-2.4.0.tar.gz
2.配置
2.1 创建logstash配置文件
进入 logstash 目录,创建 config 配置文件存放目录。
mkdir configvim config/nginx-gitlab.conf
config/nginx-gitlab.conf 文件内容
input { file { path => "/var/opt/gitlab/nginx/logs/*.log" start_position => beginning }}filter { grok { match => { "message" => "%{COMBINEDAPACHELOG} %{QS:x_forwarded_for}"} } date { match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z" ] } geoip { source => "clientip" }}output { elasticsearch { hosts => "192.168.235.32:9200" } stdout { codec => rubydebug }}
启动:
./bin/logstash -f config/nginx-gitlab.conf
配置说明
http://kibana.logstash.es/content/logstash/plugins/input/file.html
2.2 Nginx 日志格式定义
log_format access '$remote_addr - $remote_user [$time_local] "$request" $http_host $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" $upstream_addr $upstream_status $upstream_cache_status "$upstream_http_content_type" $upstream_response_time > $request_time';
3.启动和停止
3.1 测试命令
测试logstash
./bin/logstash -e ""
然后输入:hello world
hello worldSettings: Default pipeline workers: 2Pipeline main started{ "message" => "hello world", "@version" => "1", "@timestamp" => "2017-09-19T02:11:41.423Z", "type" => "stdin", "host" => "localhost.localdomain"}
# ./bin/logstash -e 'input { stdin { } } output { stdout {codec=>rubydebug} }'
然后你会发现终端在等待你的输入。没问题,敲入 Hello World,回车,然后看看会返回什么结果!
hello world{ "message" => "hello world", "@version" => "1", "@timestamp" => "2017-09-19T01:43:22.733Z", "host" => "localhost.localdomain"}
3.2 测试配置文件是否正确
# ./bin/logstash -t -f config/nginx_to_es.confConfiguration OK
3.3 启动
加载 etc文件夹下所有 *.conf 的文本文件,然后在自己内存里拼接成一个完整的大配置文件
# ./bin/logstash -f config/
后台运行
# nohup ./bin/logstash -f config/ &
3.4 停止
查找进程 ID
# ps -ef |grep logstash
或查看 9600 端口
# netstat -ntlp|grep java
杀死
# kill -9 pid
4. 测试
http://localhost:9600
5. 命令行中常用的命令
- -f:通过这个命令可以指定Logstash的配置文件,根据配置文件配置logstash
- -e:后面跟着字符串,该字符串可以被当做logstash的配置(如果是“” 则默认使用stdin作为输入,stdout作为输出)
- -l:日志输出的地址(默认就是stdout直接在控制台中输出)
- -t:测试配置文件是否正确,然后退出。
6. 实例
6.1 读取日志文件
命令终端标准输入:stdin
文件头读入。
命令终端标准输出:stdout
输入到 Elasticsearch。
input { file { path => "/opt/www/boot/logs/*.log" start_position => beginning } stdin { }}filter { #Only matched data are send to output.}output { stdout { codec => rubydebug } elasticsearch { action => "index" #The operation on ES codec => rubydebug hosts => "192.168.235.32:9200" #ElasticSearch host, can be array. index => "logstash-%{+YYYY.MM.dd}" #The index to write data to. }}
6.2 读取TCP端口
注意:
* host 要与log4j中的地址一样。
* port 不要用“”
* codec 必需要解析为json,不然整体json格式字符串都为消息体。
input { tcp { host => "localhost" port => 4560 codec => json } stdin { }}filter { #Only matched data are send to output.}output { stdout { codec => rubydebug } elasticsearch { action => "index" #The operation on ES codec => rubydebug hosts => "192.168.235.32:9200" #ElasticSearch host, can be array. index => "logstash-%{+YYYY.MM.dd}" #The index to write data to. }}
阅读全文
0 0
- Centos7 安装 Logstash
- Centos7安装Logstash及基本配置
- logstash安装
- 安装logstash
- 安装logstash
- logstash安装
- 安装Logstash
- logstash安装
- 安装Logstash
- logstash安装
- CentOS7下安装ELK(elasticsearch-5.1.1、logstash-5.1.1、kibana-5.1.1)
- Logstash官方文档中文版-安装Logstash
- logstash安装和logstash-input-jdbc插件
- logstash安装和使用
- ELK(二)安装logstash
- logstash 安装zabbix插件
- windows下安装logstash
- logstash安装文档
- 关于Java积分签到接口的编写总结
- C# 过滤特殊字符
- 高速公路ETC卡签之我见5-国标密钥体系介绍
- 二级域名、一级域名、顶级域名
- Ubuntu忘记密码
- Centos7 安装 Logstash
- onNewIntent调用时机
- vue页面出现正在加载的初始页面与实现动画效果
- Servlet(4)—一个简单的Servlet实例
- 使用 Navicat_premium 将 oracle 数据库迁移到 mysql
- Ueditor设置虚拟路径上传图片详解
- 面试体记录第四节——(handler)
- Timer Scheduler API参数详解
- 如何让Android TextView(包括子类)的字体大小随着字数的增加而变化,以显示全部内容