elasticsearch 日志抓取使用

[[email protected] elk]# rpm -ivh logstash-2.3.3-1.noarch.rpm
[[email protected] logstash]# /opt/logstash/bin/logstash -e ‘input {stdin { } } output { stdout { codec => rubydebug } }‘
Settings: Default pipeline workers: 1
Pipeline main started
hello #随便写
{
"message" => "hello",
"@version" => "1",
"@timestamp" => "2018-12-08T03:58:53.761Z",
"host" => "server5"
}
redhat
{
"message" => "redhat",
"@version" => "1",
"@timestamp" => "2018-12-08T03:59:05.366Z",
"host" => "server5"
}
^CSIGINT received. Shutting down the agent. {:level=>:warn}
stopping pipeline {:id=>"main"}

Pipeline main has been shutdown
[[email protected] logstash]# /opt/logstash/bin/logstash -e ‘input {stdin { } } output { stdout { codec => rubydebug } elasticsearch { hosts => ["172.25.135.5"] index => "logstash-%{+YYYY.MM.dd}"} }‘
[[email protected] logstash]# cd /etc/logstash/conf.d/
[[email protected] conf.d]# ls
[[email protected] conf.d]# vim es.conf


[[email protected] conf.d]# /opt/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf

[[email protected] conf.d]# cat /tmp/testfile
custom format: asdjkl
[[email protected] conf.d]# chmod 644 /var/log/messages
[[email protected] conf.d]# logger "hello" #没有日志文件写一些,有可略过
[[email protected] conf.d]# logger "hello"
[[email protected] conf.d]# logger "hello"
[[email protected] conf.d]# logger "hello"

[[email protected] conf.d]# vim es.conf
input {
file {
path => "/var/log/messages"
start_position => "beginning"
}
}

output {

stdout {

codec => rubydebug

}

    elasticsearch {
            hosts => ["172.25.135.5"]
            index => "message-%{+YYYY.MM.dd}"
    }

file {

path => "/tmp/testfile"

codec => line { format => "custom format: %{message}"}

}

}
[[email protected] conf.d]# /opt/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf
[[email protected] conf.d]# cd
[[email protected] ~]# l.
. .bashrc .pki
.. .cache .sincedb_452905a167cf4509fd08acb964fdb20c
.bash_history .cshrc .ssh
.bash_logout .mysql_history .tcshrc
.bash_profile .oracle_jre_usage .viminfo
[[email protected] ~]# cat .sincedb_452905a167cf4509fd08acb964fdb20c
267849 0 64768 517
[[email protected] ~]# ls -i /var/log/messages
267849 /var/log/messages #两者id一样


[[email protected] conf.d]# vim /etc/rsyslog.conf
.* @@172.25.135.5:514 #末尾添加,server7,8同样添加,同样重启以下服务
[[email protected] conf.d]# /etc/init.d/elasticsearch restart
[[email protected] conf.d]# /etc/init.d/rsyslog restart
[[email protected] conf.d]# vim es.conf
input {

file {

path => "/var/log/messages"

start_position => "beginning"

}

   syslog {
          port  => 514
    }

}

output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["172.25.135.5"]
index => "message-%{+YYYY.MM.dd}"
}

file {

path => "/tmp/testfile"

codec => line { format => "custom format: %{message}"}

}

}

[[email protected] conf.d]# /opt/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf
#为了方便看:
可以给server7,8加点日志
[[email protected] ~]# logger server2
[[email protected] ~]# logger server2
[[email protected] ~]# logger server2
[[email protected] vm]# logger server3
[[email protected] vm]# logger server3
[[email protected] vm]# logger server3
刷新可以看出:

[[email protected] conf.d]# cd
[[email protected] ~]# l.
. .bash_profile .mysql_history .ssh
.. .bashrc .oracle_jre_usage .tcshrc
.bash_history .cache .pki .viminfo
.bash_logout .cshrc .sincedb_452905a167cf4509fd08acb964fdb20c
[[email protected] ~]# rm -fr .sincedb_452905a167cf4509fd08acb964fdb20c
[[email protected] ~]# cd -
/etc/logstash/conf.d
[[email protected] conf.d]# ls
es.conf
[[email protected] conf.d]# vim es.conf
input {
file {
path => "/var/log/elasticsearch/my-es.log"
start_position => "beginning"
}

syslog {

port => 514

}

}
#filter {

multiline {

type => "eslog"

pattern => "^["

negate => true

what => "previous"

}

#}
output {

stdout {

codec => rubydebug

}

    elasticsearch {
            hosts => ["172.25.135.5"]
            index => "es-%{+YYYY.MM.dd}"
    }

file {

path => "/tmp/testfile"

codec => line { format => "custom format: %{message}"}

}

}

[[email protected] conf.d]# /opt/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf #新建es log
刷新浏览器可以看出:

原文地址:http://blog.51cto.com/13810716/2328840

时间: 2024-10-29 14:24:16

elasticsearch 日志抓取使用的相关文章

[Android]Android日志抓取软件测试

1. log文件分类简介 1. 实时打印: 1.1 logcat main(应用程序) -- adb logcat -b main -v time > app.log 1.2 logcat radio(射频相关-SIMSTK,modem相关的ATcommand) -- adb logcat -b radio -v time > radio.log 1.3 logcat events(系统事件的日志,比如触屏事件等) -- adb logcat -b events -v time 1.4 tcp

adb命令 logcat日志抓取

一.logcat抓log方法:adb logcat命令,可以加条件过滤 1.安装SDK(参考android sdk环境安装) 2.使用数据线链接手机,在手机助手的sdcard中建立一个1.log的文件或在抓日志时直接导出到电脑位置 3.程序运行cmd,进入到含有adb.exe目录 4.输入adb devices 查看设备是否连上 5.输入抓取命令: 存放到手机 adb logcat -s *:E > /mmt/sdcard/1.log 存放到PC adb logcat -s '*:E' > d

adb logcat日志抓取

adb命令 logcat日志抓取 一.logcat抓log方法:adb logcat命令,可以加条件过滤 1.安装SDK(参考android sdk环境安装) 2.使用数据线链接手机,在手机助手的sdcard中建立一个1.log的文件或在抓日志时直接导出到电脑位置 3.程序运行cmd,进入到含有adb.exe目录 4.输入adb devices 查看设备是否连上 5.输入抓取命令: 存放到手机 adb logcat -s *:E > /mmt/sdcard/1.log 存放到PC adb log

Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms

自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,error.log 等)中获取所需日志列表 合并日志列表 升序排序 输出日志报告 结果最后获取日志信息后,发现实际产出结果与预期结果不相符,如下所示: 1 2016-04-10 22:54:23,042 - INFO - [main] [cn.ffp.autotest.api.report.Repor

如何抓取移动端崩溃日志?

抓取Android闪退日志: 1.下载abd安装包 2.手机连接上电脑,最好只有一台手机连接电脑,同时确保手机已开启USB调试模式(可通过手机助手查看连接 状态) 3.将下载好的abd安装包解压,存放在硬盘根目录下,如下图: 4.使用dos命令窗口 WIN+R 回车,打开dos命令窗口 进入到abd包所在的路径下,如下图: 输入命令:adb logcat -v time > D:\\logcat.log 开始抓取日志,同时在手机上操作闪退步骤 adb logcat -v time > .\\l

iOS日志及崩溃抓取

在日常开发及测试中很容易出现比较难以复现的崩溃,这种bug往往让我们无处下手,日志抓取帮我们很好的解决了这个问题. DDLog的使用 首先可以在pch文件中定义log等级 static const DDLogLevel ddLogLevel = DDLogLevelVerbose; 在application:didFinishLaunchingWithOptions方法中调用如下代码即可发起日志记录功能 // DDTTYLogger,你的日志语句将被发送到Xcode控制台 [DDLog addL

剑走偏锋,robots.txt快速抓取网站的小窍门

在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的robots.txt文件,有时会给你打开另一扇抓取之门. 写爬虫有很多苦恼的事情,比如: 1.访问频次太高被限制: 2.如何大量发现该网站的URL: 3.如何抓取一个网站新产生的URL,等等: 这些问题都困扰着爬虫选手,如果有大量离散IP和账号,这些都不是问题,但是绝大部分公司都不具备这个条件的. 我们在工作中写的爬虫大多是一次性和临时性的任务,需要你快速完成工作就好,当遇到上面情况,试着看下robots.txt文件. 举个栗子:

自动发送密码抓取远程日志用Shell脚本如何实现?

在linux系统中,如何用shell脚本抓取远程日志?分析线上的日志会有一个困境,机器太多,如果每台都登录上去看不太现实,但是下载下来更麻烦因为每台SCP都要求输入密码.于是我便写了一个自动抓取远程日志的脚本,实现在基本功能. 代码: #!/usr/bin/expect -f if { $argc !=1 && $argc !=2 } {send_user "没有输入远程日志文件名.\n"send_user "格式是:get.sh ${remote_log}

android开发之应用Crash自动抓取Log_自动保存崩溃日志到本地

http://blog.csdn.net/jason0539/article/details/45602655 应用发生crash之后要查看log,判断问题出在什么地方,可是一旦应用发布出去,就要想办法把用户的崩溃日志拿到分析. 所以要在发生crash之后抓取log,然后上传到服务器,方便开发者查看,现在都有很多第三方做这方面的服务,这里说下如何自己来实现. 其实原理很简单,应用出现异常后,会由默认的异常处理器来处理异常, 我们要做的就是把这个任务接管过来,自己处理异常,包括收集日志,保存到本地