一.elk套件介绍

ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成。官方网站: https://www.elastic.co/products

Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。

Logstash 是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。

kibana 也是一个开源和免费的工具,他 Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

工作原理如下如所示:

logstash从日志里取出数据推送到elasticsearch,elasticsearch进行处理分析,之后交给kibana来进行前端展示

注:安装全部使用rpm安装,方便管理

二、部署流程

1.安装依赖JDK

版本:jre-8u91-linux-x64.rpm

# rpm -ivh jre-8u91-linux-x64.rpm
Preparing... ########################################### [100%]
1:jre1.8.0_91 ########################################### [100%]
Unpacking JAR files...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
jfxrt.jar...

2.安装logstash

版本:logstash-2.3.2-1.noarch.rpm

# rpm -ivh logstash-2.3.2-1.noarch.rpm
Preparing... ########################################### [100%]

默认都安装到了

/opt/logstash
/opt/logstash/bin/logstash

测试:

[root@node2 ~]# /opt/logstash/bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
####输入liuyao 并且回车 liuyao Settings: Default filter workers: 1
Logstash startup completed
{
"message" => "liuyao",
"@version" => "1",
"@timestamp" => "2016-07-17T05:01:42.551Z",
"host" => "localhost"
}
{
"message" => "",
"@version" => "1",
"@timestamp" => "2016-07-17T05:01:42.552Z",
"host" => "localhost"
}

3.安装elasticsearch

版本:elasticsearch-2.3.3.rpm

# rpm -ivh elasticsearch-2.3.3.rpm
Preparing... ########################################### [100%]

4.安装kibana

版本:kibana-4.5.1-1.x86_64.rpm

# rpm -ivh kibana-4.5.1-1.x86_64.rpm
Preparing... ########################################### [100%]
1:kibana ########################################### [100%]

案例:

分析nginx日志:

1.先启动elasticsearch

修改elasticsearch配置文件
vi /etc/elasticsearch/elasticsearch.yml
监听ip
network.host: 0.0.0.0
运行端口
http.port: 9200
保存退出
启动
/etc/init.d/elasticsearch start
查看运行情况
# netstat -tnlp | grep java
tcp 0 0 0.0.0.0:9300 0.0.0.0:* LISTEN 1284/java
tcp 0 0 0.0.0.0:9200 0.0.0.0:* LISTEN 1284/java

2.配置logstash配置文件

#cd /etc/logstash/conf.d
# vim nginx_logstash.conf 配置文件如下: #标准输入
input {
file {
#日志路径
path => ["/usr/local/nginx/access.log"]
#日志类型
type => "nginx_access"
}
}
#正则匹配
filter {
grok {
match => { "message" => "(?<clientip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s-\s-\s(?<datetime>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2})\s\"(?<mothd>(.*))\s(?<url>(.*))\sHTTP.*\"\s(?<httpcode>[4-6][0-9]{1,3})\s(?<send_bytes>\d*)\s\"(?<http_refer>.*)\"\s\"(?<http_agent>[^\"]*)\"\.*"
}
}
}
#标准输出
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
codec => "json"
index => "logstash-nginx-%{+YYYY.MM.dd}"
}
} 重启logstash /etc/init.d/logstash restart

3.运行kibana

# /etc/init.d/kibana restart

打开浏览器:

IP:5601访问

创建

最新文章

  1. Nginx模块参考手册:HTTP核心模块
  2. shell编程之运算符
  3. 分析.Net里线程同步机制
  4. OI总结(垃圾排版就忽略了吧)
  5. P1391 走廊泼水节
  6. 四则运算2--c++
  7. #include&lt;unistd.h&gt;头文件的理解
  8. C3p0/元数据/内省-Bean/自定义查询封装类/查询/分页
  9. How to load jars residing over NFS in JBossAS7 classpath ? --reference
  10. 用Spring提高java观察者模式灵活性
  11. json:JSONObject与JSONArray的使用
  12. 利用IDisposable接口构建包含非托管资源对象
  13. PostgreSQL中JSON、JSONB基本操作符
  14. k8s简单的来部署一下tomcat,并测试自愈功能
  15. Android项目实战(三十三):AS下获取获取依赖三方的jar文件、aar 转 jar
  16. vtiger7安装设置
  17. 解决linux下访问https站点问题
  18. 二叉树的Java实现及特点总结
  19. Maven profile 打包分环境加载不同的资源文件
  20. docker 使用swarm overlay网络时,报“network xx not manually attachable”错误解决

热门文章

  1. Cocos2d-X3.0 刨根问底(五)----- Node类及显示对象列表源码分析
  2. Oracle同义词创建及分配用户创建同义词权限
  3. POJ1125 Stockbroker Grapevine
  4. groovy-脚本和类
  5. Longest Increasing Common Subsequence (LICS)
  6. jQuery EasyUI API 中文文档
  7. hdu 1201 18岁生日
  8. JS 下拉菜单
  9. xss实例-输出在&lt;script&gt;&lt;/script&gt;之间的情况
  10. [Asp.net Mvc]通过UrlHelper扩展为js,css静态文件添加版本号