logstash

Regexp in Grok sometimes catches a value sometimes not

試著忘記壹切 提交于 2020-03-27 05:43:09
问题 I've a code in grok, which captures messages, and if they meet a given criteria, they get a tag. My problem is, that sometimes this filter works while testing, and sometimes does not. The regexp in question is the following: ^(?!(?:\d\d\d\d-\d\d-\d\d.\d\d:\d\d:\d\d)).*$ This line checks if the given message does not begin with a given time stamp format. In other words: if the given message does not begin with this time stamp, then it gets a tag. You can test it yourself with this online

透过现象看本质——聊一聊ELK

萝らか妹 提交于 2020-03-26 22:52:59
透过现象看本质——聊一聊ELK 前言 ​ 本文将从日志分析引入ELK,带着疑问了解、熟知、实践、领会ELK的原理与魅力。 引入 ​ 想必做过专业运维的工程师都明白也非常清楚日志分析的重要性——发现问题的所在,解决问题的根源与基础。 ​ 一般来说,日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。通过分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施避免发生意外状况。 ​ 通常情况下,日志被分散的储存在不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志,即繁琐又效率低下。为此,我们可以使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。 ​ 然而,集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于更高要求的查询、排序和统计等,再加上庞大的机器数量,使用这样的方法依然难免有点力不从心。 ​ 因此,开源实时的日志分析ELK平台应运而生了。 什么是ELK? ​ 笔者也不知道是为什么,一些朋友看到陌生的英文单词,尤其是缩写,就感觉这个玩意儿非常高bigger,甚至会不敢与接触它。其实这样的认识并不正确。就好比ELK,熟悉的人就不说了

使用 LogStash 归集日志

戏子无情 提交于 2020-03-25 12:30:21
3 月,跳不动了?>>> elastic 官网: https://www.elastic.co/ 为了便于集中查看多台主机的业务日志,使用 Filebeat, Redis, Logstash的方式进行收集: (1) Filebeat 监控日志文件的变化, 将新增部分写入redis中, 每行的日志都是redis中某个指定key的list集合的数据; (2) LogStash 监听 redis中指定key的list数据变化,读取数据,持久化到磁盘文件。 参考: (1) https://jkzhao.github.io/2017/10/24/Filebeat日志收集器 (2) https://www.cnblogs.com/linuxk/ 的ELK分类 Redis安装: 参考: (1) http://www.redis.cn/download.html (2) https://zhuanlan.zhihu.com/p/34527270 1. 选择需要的版本下载: wget http://download.redis.io/releases/redis-4.0.11.tar.gz 2. 解压安装包: tar xvf redis-4.0.11.tar.gz 3. 编译及安装: 执行命令(1)make 和 (2)make install: 备注: make

ELK 简易安装教程 + 用 Nssm 安装服务

孤街浪徒 提交于 2020-03-25 12:28:30
3 月,跳不动了?>>> 1. 安装 Elasticsearch 1) 安装 JDK 2) 验证 JDK cmd: java -version 3) 下载 ES https://www.elastic.co/downloads/elasticsearch 4) 解压 5) 运行 打开解压目录下的 bin 文件夹,运行 elasticsearch.bat 6) 测试 访问 http://localhost:9200 2. 安装 Logstash 1) 下载 https://www.elastic.co/downloads/logstash 2) 解压 3) 添加配置文件 在 bin 文件夹下创建一个配置文件,文件名自定义 简易配置内容: input { file { # path 为要监控的日志文件的路径 path => "D:/Log/Application/*Log.txt" # type 是标识作用,标识当前 file 为 Application的日志 type => "Application" } } output { elasticsearch { # hosts 为 Elasticsearch 的url hosts => ["127.0.0.1:9200"] # index 为日志数据所要存储的索引,索引名不能有特殊字符并且小写 index => "test

FileBeat安装配置

天大地大妈咪最大 提交于 2020-03-25 11:46:36
3 月,跳不动了?>>>   在ELK中因为 logstash是在jvm上跑的,资源消耗比较大,对机器的要求比较高。而 Filebeat是一个轻量级的logstash-forwarder,在服务器上安装后,Filebeat可以监控日志目录或者指定的日志文件,然后将这些信息到发送给logstarsh或直接发送给elasticsearch。当发送数据到Logstash或Elasticsearch时,Filebeat使用一个 反压力敏感(backpressure-sensitive) 的协议来解释高负荷的数据量。当Logstash数据处理繁忙时,Filebeat放慢它的读取速度。一旦压力解除,Filebeat将恢复到原来的速度,继续传输数据。   Filebeat目前已经是Elastic Stack非常重要的组成部分了。   闲话少说,先来看一下filebeat怎么安装配置吧。   官网地址:https://www.elastic.co/guide/en/beats/filebeat/current/index.html    一、 安装流程   在linux中的安装相当简单,在此主要说一下windows中的安装和配置:   1. 下载软件    下载地址:https://www.elastic.co/downloads/beats/filebeat 选择相应的版本下载即可。   2.

logstash安装配置

我与影子孤独终老i 提交于 2020-03-25 11:42:19
3 月,跳不动了?>>> Logstash是一个数据收集引擎,它支持动态的的从各种数据源获取数据,并对数据进行过滤,分析,丰富,统一格式等操作,然后存储到用户指定的位置。 具体内容可看官网:https://www.elastic.co/cn/products/logstash 系统:CentOS7.2 官网地址:https://www.elastic.co/guide/en/logstash/current/installing-logstash.html#installing-logstash 1. 在 /etc/yum.repos.d/ 下新建logstash.repo 配置YUM源地址 内容如下: [logstash- 6 .x] name =Elastic repository for 6 .x packages baseurl =https: // artifacts.elastic.co/packages/6.x/yum gpgcheck= 1 gpgkey =https: // artifacts.elastic.co/GPG-KEY-elasticsearch enabled= 1 autorefresh = 1 type =rpm-md 2. 直接安装: sudo yum install logstash 安装后可在 /etc/systemd/system

PostgreSql与es的数据同步方案调研

我怕爱的太早我们不能终老 提交于 2020-03-24 16:23:30
3 月,跳不动了?>>> logstash 基于时间戳,或者id增量同步,且不能实时同步暂不考虑 pg-es-fdw https://github.com/Mikulas/pg-es-fdw?spm=a2c4e.10696291.0.0.4c7b19a49sHIXL python> = 2.7 <3,任何elasticsearch(基于两年前的情况),postgres> = 9.2 已存档 年久失修且不在维护,故不考虑 Go-amazonriver https://github.com/hellobike/amazonriver Postgresql 9.4 or later Kafka 0.8 or later ElasticSearch 5.x 仅支持es5.x,有坑且不怎么维护了,不考虑 abc import https://github.com/appbaseio/abc 维护没Debezium活跃,但无需借助kafka,可以考虑 Debezium https://github.com/debezium/debezium 基于kafka,支持mysql,mongo,postgresql,github提交活跃,可以考虑 来源: oschina 链接: https://my.oschina.net/u/3734816/blog/3210243

elk-nginx输出json格式的日志

不想你离开。 提交于 2020-03-22 17:53:37
把Nginx日志的格式输出成JSON格式展示在Kibana面板,生产环境中基本都是这么使用。 1, 配置nginx 主要修改nginx的访问日志格式,这里定义成json格式,以便后面logstash更好的处理,建议生产环境也这样使用。在主配置/etc/nginx/nginx.conf文件中添加如下内容(注释其他日志格式): log_format json '{"@timestamp":"$time_iso8601",' '"host":"$server_addr",' '"clientip":"$remote_addr",' '"size":$body_bytes_sent,' '"responsetime":$request_time,' '"upstreamtime":"$upstream_response_time",' '"upstreamhost":"$upstream_addr",' '"http_host":"$host",' '"url":"$uri",' '"referer":"$http_referer",' '"agent":"$http_user_agent",' '"status":"$status"}'; 在/etc/nginx/conf.d/default.conf中添加如下一行,定义nginx日志使用的格式,以及日志文件的位置。 access_log

基于ELK搭建微服务日志中心

馋奶兔 提交于 2020-03-20 12:25:08
基于ELK搭建微服务日志中心 ELK简介 什么是ELK?通俗来讲,ELK是由Elasticsearch、Logstash、Kibana 三个开源软件组成的一个组合体,这三个软件当中,每个软件用于完成不同的功能,ELK又称ELKstack,官网 https://www.elastic.co/ , ELK主要优点有如下几个: 1、处理方式灵活:elasticsearch是实时全文索引,具有强大的搜索功能 2、配置相对简单:elasticsearch全部使用JSON接口,logstash使用模块配置,kibana的配置文件部分更简单 3、检索性能高:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百亿级数据的查询秒级响应 4、集群线性扩展:elasticsearch和logstash都可以灵活线性扩展 5、前端操作绚丽:kibana的前端设计比较绚丽,而且操作简单 Elasticsearch elasticsearch是一个高度可扩展全文搜索和分析引擎,基于Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作,可以处理大规模日志数据,比如Nginx、Tomcat、系统日志等功能。 Logstash 数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;支持普通log

Docker部署ELK

烈酒焚心 提交于 2020-03-20 11:26:08
环境 centos 7.0(至少需要3G内存,该安装包较大) docker 19.0 ELK镜像 sebp/elk(7.6.0版本) Docker安装部署ELK   选择的是sebp/elk镜像,这里基本没有什么需要配置的,docker search elk 找到stars最多的pull下来。 docker pull sebp/elk   先把对应的文件都拷贝到宿主机当中 1.创建文件夹 mkdir /root/data/es/{conf,data} mkdir /root/data/logstash/config 2.在运行容器并且把容器里的配置cp到宿主机当中 docker run --tid --name elk sebp/elk docker cp -a elk:/opt/kibana/config/kibana.yml docker cp -a elk:/opt/logstash/config 3.然后删除刚才创建的容器 docker rm -f elk 1 .运行elk   pull下来之后,因为需要修改kibana配置,和logstash配置,所以把一些常用的配置挂载到容器目录 1.命令 docker run -tid -p 5601:5601 -p 5044:5044 -p 9200:9200 -p 9300:9300 \ -v /root/data/es/conf