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

时间: 2024-10-27 06:18:28

ELK初步实践的相关文章

fabric 初步实践

在集群部署时,我们经常用到堡垒机作为跳板,堡垒机和集群的其他的用户名.密码.端口号都是不同的,fabric如何进行配置不同的用户.端口号和密码. fabric作为一种强大的运维工具,可以让部署运维轻松很多,最简单的fabric使用,首先设置env.user, env.port, env.hosts, env.password,如: 12345678910 #coding:utf8from fabric.api import *#用户名env.user = "shikanon"#中转ip

caffe初步实践---------使用训练好的模型完成语义分割任务

caffe刚刚安装配置结束,乘热打铁! (一)环境准备 前面我有两篇文章写到caffe的搭建,第一篇cpu only ,第二篇是在服务器上搭建的,其中第二篇因为硬件环境更佳我们的步骤稍显复杂.其实,第二篇也仅仅是caffe的初步搭建完成,还没有编译python接口,那么下面我们一起搞定吧! 首先请读者再回过头去看我的<Ubuntu16.04安装配置Caffe>( http://www.cnblogs.com/xuanxufeng/p/6150593.html  ) 在这篇博文的结尾,我们再增加

postgresql 数组类型初步实践

实践环境 数据库:postgresql 9.4:操作系统:windows 创建包含数组类型的数据库 注意在设置default 值时(当然你可以不指定默认值),要声明数组的类型,像这样声明"::bigint[]". create table testarray( id serial primary key, images bigint[] default array[]::bigint[] ); 插入数组值 注意插入数组时,也要声明数组的类型,同上 insert into testarr

ELK+Filebeat 实践 Error : read tcp 192.168.0.2:48968-&gt;121.40.216.20:5044: i/o timeout

问题描述: 这是一个i/o time 的问题,一般考虑就是磁盘满的问题.以下是我遇到的具体问题: 1.Kibana页面刷新,没有新数据出来,再次刷新或者点击页面上其他地方,kibana就变成这样了: 这让我就猜测存储空间满了. 2.看filebeat的log ,发现全是  read tcp 192.168.0.2:48968->121.40.216.20:5044: i/o timeout 这样的log; 3.等到elk服务器上,想修改配置,发现修改不了,并报错 "Write Error!

FLASK初步实践

感觉经过DJANGO,CI,RAILS之类的WEB框架之后,FLASK的思路就比较顺畅了... FLASKR.PY import sqlite3 from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash from contextlib import closing DATABASE = '/tmp/flaskr.db' DEBUG = True SECRET_KEY

Rsync初步实践

第1章   Rsync介绍 1.1  什么是Rsync? Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平台. 下面是官方的英文简单描述:rsync - a fast, versatile, remote (and local) file-copying tool 来自:www.samba.org/ftp/rsync/rsync.html 1.2  Rsync简介 Rsync英文

Ganglia + Nagios 初步实践

参考文档: http://www.bubuko.com/infodetail-715636.html http://www.linuxidc.com/Linux/2014-01/95804p2.htm 当然,以后还要让两者整合,一个性能,一个报警. 然后,监控大数据集群!

asp.net + jQuery.Ajax初步实践

最近在做一个网站项目时,有异步请求的需求,经过一番查找资料,终于实现了这个部分,在此记录一下,以备日后回顾. 1.jQuery的ajax函数可以很方便的建立发起异步请求 $(".drop-a").click(function () { var content = $(this).next("div"); if (isGet == false) { var code = $("#code").html(); var data = { code: c

Docker初步实践遇到的一些问题

为什么删除不了有些Images 当你试图删除一个你不用的image的时候,有时候会告诉你有个container正在使用这个镜像,但是docker ps 并没有发现相关的container,这个是由于对container的exit理解不深造成的. 这里有两个不同的单词,images和container.其中images很好理解,跟平常使用的虚拟机的镜像一个意思,相当于一个模版,而container则是images运行时的的状态.docker对于运行过的image都保留一个状态(container)