ELK初步实践
ELK是一个日志分析和统计框架,是Elasticsearch、Logstash和Kibana三个核心开源组件的首字母缩写,实践中还需要filebeat、redis配合完成日志的搜集。
组件一览
|
名称 |
版本 |
说明 |
|
Elasticsearch |
2.3 |
分布式搜索引擎,存储和搜索日志 |
|
Logstash |
2.3 |
分析和搜集日志的工具,实践中主要使用它的分析功能 |
|
Kibana |
4.5 |
为Elasticsearch的查询、分析和统计提供友好的web界面 |
|
Filebeat |
1.2 |
日志搜集 |
|
Redis |
2.8 |
缓存filebeat搜集的大量日志数据 |
部署结构

用户只需要操作kibana即可。
filebeat输出到redis
其他更多配置参看这里的其他文章;
output:
redis:
host: "192.168.1.111"
port: 6379
#save_topology: true
index: "TEST_ELK_LIST"
db: 0
#db_topology: 1
#password: ""
#timeout: 5
#reconnect_interval: 1
logstash从redis获取
其他更多配置参看这里的其他文章;
input {
redis {
host => "192.168.1.111"
port => 6379
db => 0
data_type => "list"
key => "TEST_ELK_LIST"
threads => 3
}
}
Kibana的界面
访问kibana,浏览器打开:http://[kibana-ip]:5610

首先选择索引和时间,可选在左边选择需要显示的列,之后就可以通过中间的搜索框进行搜索,下面是查询语法;
Kibana的语法
关键字:直接输入即可,比如一个手机号;
短语:短语需要用双引号,比如"hello world",大于等于两个字的中文都属于短语;
指定字段:可以用冒号指定字段包含某些关键字,比如:level:ERROR;短语需要用双引号适用于所有地方,data:"异常";
非、与、或:NOT、AND、OR,必须大写,比如:NOT level:ERROR
组合:组合用小括号,比如:(source:"/var/log/" OR source:"/data/log/") AND level:ERROR
必须、不可:+、-,比如来自/var/log但不包括12月23日的:source:(+"/var/log/" -"2016-12-23")
范围:数字范围,字段类型必须是数字,count:[1 TO 2];时间也可以用范围,但用右上角选择更方便;
通配符:跟常用的一致,? 匹配单个字符,* 匹配0到多个字符;
over
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman",serif;}
table.MsoTableGrid
{mso-style-name:网格型;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:59;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman",serif;}
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman",serif;}
table.MsoTableGrid
{mso-style-name:网格型;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:59;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman",serif;}
ELK初步实践的更多相关文章
- ELK最佳实践
1.ELK最佳实践解析 a.用户通过nginx或haproxy访问ELK日志统计平台,IP地址为keepalived的vip地址; b.nginx将请求转发到kibana; c.kibana到es获取 ...
- fabric 初步实践
在集群部署时,我们经常用到堡垒机作为跳板,堡垒机和集群的其他的用户名.密码.端口号都是不同的,fabric如何进行配置不同的用户.端口号和密码. fabric作为一种强大的运维工具,可以让部署运维轻松 ...
- caffe初步实践---------使用训练好的模型完成语义分割任务
caffe刚刚安装配置结束,乘热打铁! (一)环境准备 前面我有两篇文章写到caffe的搭建,第一篇cpu only ,第二篇是在服务器上搭建的,其中第二篇因为硬件环境更佳我们的步骤稍显复杂.其实,第 ...
- ELK+Filebeat 实践 Error : read tcp 192.168.0.2:48968->121.40.216.20:5044: i/o timeout
问题描述: 这是一个i/o time 的问题,一般考虑就是磁盘满的问题.以下是我遇到的具体问题: 1.Kibana页面刷新,没有新数据出来,再次刷新或者点击页面上其他地方,kibana就变成这样了: ...
- ELK初步指南
ELK的简单科普文章,加入了自己的一些理解. 内容包括ELK的基本介绍, 应用场景, 架构设计, 监控及自监控, 业界进展及推荐资料等. 用户故事 场景一 作为一个运维工程师, 某天虚拟机出现故障, ...
- Ganglia + Nagios 初步实践
参考文档: http://www.bubuko.com/infodetail-715636.html http://www.linuxidc.com/Linux/2014-01/95804p2.htm ...
- FLASK初步实践
感觉经过DJANGO,CI,RAILS之类的WEB框架之后,FLASK的思路就比较顺畅了... FLASKR.PY import sqlite3 from flask import Flask, re ...
- SDN的初步实践--通过netconf协议控制交换机
1.近期在做一个云服务项目,需要与物理交换机配合实现,通过python编程实现了对物理交换机的控制,完全不需要命令行手工配置交换机, 一定程度上实现了SDN的集中控制的思想. 2.架构图如下: 3.利 ...
- jest+vue-test-utils初步实践
一.起步 1. jest Jest是 Facebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言.JSDom.覆盖率报告等开发者所需要的所有测试工具,配置较少,对vue框架友好 ...
随机推荐
- jquery 操作大全
1添加属性 $("#mydiv").attr("pro1","this is val"); $('.img1').attr('src', ' ...
- socket编程进阶
1. 动态导入模块 第一种方法(python解释器自己内部用的): 上图是我程序的目录结构 下面代码是动态导入模块3.py的源码: #AUTHOR:FAN lib_dir = __import__ ...
- servlet的匹配规则,兼谈/与/*
客户端通过URL地址访问服务器(servlet容器)资源,所以servlet若要能对外提供服务,必须要将程序按照java规范将其映射到对应的URL上,映射的规则是需要开发人员在WEB.XML中显示指定 ...
- ios 控件显示不出来的几个可能
- 从 IClassFactory 为 CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 组件创建实例失败,原因是出现以下错误: 8001010a解决办法
1.在命令行中输入:dcomcnfg,会显示出“组件服务”管理器 2.打开“组件服务->计算机->我的电脑->DCOM 配置”,找到“Microsoft Word文档”,单击右键,选 ...
- ASP.NET MVC Web API For APP
近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过在浏览器中使用 JavaScr ...
- "_OBJC_CLASS_$_AddFriendPageItem", referenced from:
该出错是指:有些头文件没有导入到 TARGETS 中的Build Phases - Compile Sources 中
- meta
<meta charset="UTF-8"> <meta name="viewport" content="width=device ...
- Android 自定义view(二) —— attr 使用
前言: attr 在前一篇文章<Android 自定义view -- attr理解>已经简单的进行了介绍和创建,那么这篇文章就来一步步说说attr的简单使用吧 自定义view简单实现步骤 ...
- HTML5--拖动02-dragstart、drag、dragenter、dragover、dragleave、drop、dragend属性
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...