设为首页 收藏本站
查看: 1105|回复: 0

[经验分享] 使用logstash分析Apache日志

[复制链接]

尚未签到

发表于 2015-11-14 07:56:28 | 显示全部楼层 |阅读模式

转自:http://blog.sina.com.cn/s/blog_a84e73f70101ck5r.html


网站刚刚上线,就发现一些扫描信息,因此,有必要搭一个日志分析系统,对web访问日 志进行分析,或许能够发现一些有意思的东西。logstash是一个非常灵活的日志分析引擎, 使用强大的elasticsearch作为数据存储、索引的数据库。


118.26.224.17 - - [10/Jun/2012:18:26:46 +0000] "GET /w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1" 404 490 "-" "ZmEu"
118.26.224.17 - - [10/Jun/2012:18:26:47 +0000] "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 404 479 "-" "ZmEu"
118.26.224.17 - - [10/Jun/2012:18:26:47 +0000] "GET /phpmyadmin/scripts/setup.php HTTP/1.1" 404 479 "-" "ZmEu"
118.26.224.17 - - [10/Jun/2012:18:26:48 +0000] "GET /pma/scripts/setup.php HTTP/1.1" 404 475 "-" "ZmEu"
118.26.224.17 - - [10/Jun/2012:18:26:48 +0000] "GET /myadmin/scripts/setup.php HTTP/1.1" 404 478 "-" "ZmEu"
118.26.224.17 - - [10/Jun/2012:18:26:49 +0000] "GET /MyAdmin/scripts/setup.php HTTP/1.1" 404 478 "-" "ZmEu"



创建日志分析环境


#!/bin/bash
# 创建日志环境的目录
mkdir loganalysis
cd loganalysis
# 下载logstash,目前是1.1.0版本
mkdir bin
cd bin
wget http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar
# 创建启动脚本
cat << EOF >>run.sh
#!/bin/bash
java -jar $LOGSTASH_HOME/bin/logstash-1.1.0-monolithic.jar agent -f $LOGSTASH_HOME/conf/apache-parse.conf -- web --backend elasticsearch:///?local
EOF
# 环境变量设置
cd ..
cat << EOF >>env.sh
#!/bin/bash
export LOGSTASH_HOME=`pwd`
EOF
# 下载Apache日志解析配置文件
mkdir conf
cd conf
wget http://logstash.net/docs/1.1.0/tutorials/10-minute-walkthrough/apache-parse.conf




修改apache-parse.conf



apache-parse.conf默认不使用elasticsearch,所以需要加上 elasticsearch
{ embedded => true }

input {
tcp {
type => &quot;apache&quot;
port => 3333
}
}
filter {
grok {
type => &quot;apache&quot;
# See the following URL for a complete list of named patterns
# logstash/grok ships with by default:
# https://github.com/logstash/logstash/tree/master/patterns
#
# The grok filter will use the below pattern and on successful match use
# any captured values as new fields in the event.
pattern => &quot;%{COMBINEDAPACHELOG}&quot;
}
date {
type => &quot;apache&quot;
# Try to pull the timestamp from the 'timestamp' field (parsed above with
# grok). The apache time format looks like: &quot;18/Aug/2011:05:44:34 -0700&quot;
timestamp => &quot;dd/MMM/yyyy:HH:mm:ss Z&quot;
}
}
output {
# Use stdout in debug mode again to see what logstash makes of the event.
stdout {
debug => true
}
elasticsearch { embedded => true }
}



安装grok



apache-parse.conf使用grok作为输入的接口,但是grok与ubuntu主流版本(只测试过 11.10)并不兼容,按照INSTALL说明的安装无法成功。幸好,我们只要libgrok.so即可。

cd /tmp
git clone https://github.com/jordansissel/grok.git
cd grok
make libgrok.so
sudo cp libgrok.so /usr/local/lib
sudo ldconfig -v



运行logstash


$ . env.sh   #导入环境变量
$ bin/run.sh


启动完成之后,将apache的访问日志导入logstash:

nc localhost 3333
最后使用浏览器打开http://localhost:9292/ 访问logstash的web界面。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-138971-1-1.html 上篇帖子: Apache HttpServer的安装并与Tomcat整合Linux 版 下篇帖子: 安装Apache Felix OSGI Framework小记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表