Elaticsearch+ELK
文章平均质量分 75
elaticsearch大数据搜索引擎
ELK日志收集系统
Jiangxl~
CSDN博客专家、51CTO专家博主、阿里云博客专家、华为云享专家、DevOps运维领域优质创作者、
2021年度博客之星运维与安全领域TOP1,InfoQ签约作者、阿里云社区签约作者。博客包括:Python、前端、Kubernetes、Docker、CI/CD、DevOps、Prometheus、Zabbix、MQ、Redis、MySQL、WEB集群、自动化运维、阿里云、ELK、Linux、等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。
展开
-
elasticsearch修改启动用户的UID、GID
qqq原创 2022-12-05 10:21:14 · 6102 阅读 · 21 评论 -
elk报错:[syslogs] index has exceeded [1000000]
代码】elk报错[syslogs]indexhasexceeded[1000000]原创 2022-07-29 13:57:59 · 1236 阅读 · 19 评论 -
解决elasticsearch集群分片lock锁无法分配
elasticsearch分片lock锁无法分配报错内容如下所示出现这个问题的原因是原有分片未正常关闭或者清理,所以当分片要重新分配回出问题节点时就会没办法获取分片锁,这不会导致数据丢失,只需要重新出发一下分配分片的操作即可failed to obtain in-memory shard lockcurl -XPOST "http://192.168.10.10:9200/_cluster/reroute?retry_failed"或者curl -XPOST "http://192.168.原创 2021-12-02 11:59:30 · 4132 阅读 · 652 评论 -
部署ELK+Kafka+Filebeat日志收集分析系统
ELK+Kafka+Filebeat日志系统文章目录ELK+Kafka+Filebeat日志系统1.环境规划2.部署elasticsearch集群2.1.配置es-1节点2.2.配置es-2节点2.3.配置es-3节点2.4.使用es-head插件查看集群状态3.部署kibana4.部署zookeeper4.1.配置zookeeper-1节点4.2.配置zookeeper-2节点4.3.配置zookeeper-3节点4.4.启动所有节点5.部署kafka5.1.配置kafka-1节点5.2.配置kafka原创 2021-08-16 15:16:05 · 28168 阅读 · 29 评论 -
解决elasticsearch集群分片lock锁无法分配问题
elasticsearch分片lock锁无法分配报错内容如下所示出现这个问题的原因是原有分片未正常关闭或者清理,所以当分片要重新分配回出问题节点时就会没办法获取分片锁,这不会导致数据丢失,只需要重新出发一下分配分片的操作即可failed to obtain in-memory shard lockcurl -XPOST "http://192.168.10.10:9200/_cluster/reroute?retry_failed"或者curl -XPOST "http://192.168.原创 2021-07-14 16:31:33 · 1153 阅读 · 20 评论 -
kibana快照存储库实现定时备份elasticsearch集群索引
利用kibana的快照存储库备份es索引文章目录利用kibana的快照存储库备份es索引1.快照存储库备份es索引2.部署nfs存储并在es节点进行挂载2.1.部署nfs存储2.2.配置es集群各节点增加nfs存储配置3.在kibana界面创建快照存储库3.1.点击Managerment---快照存储库---注册存储库3.2.填写存储库名称,存储库类型选择共享文件系统3.3.填写存储库信息3.4.点击注册之后点击验证存储库3.5.验证存储库成功4.es索引库备份4.1.创建linuxbook索引库并插入数原创 2021-07-14 11:08:21 · 4231 阅读 · 673 评论 -
kibana6.x版本汉化
kibana6.x版本汉化文章目录kibana6.x版本汉化1.kibana汉化前2.汉化kibana2.1.下载汉化包2.2.开始汉化2.3.重启kibana3.汉化以后的样子1.kibana汉化前可以看到全是英文,有时候根本不知道什么意思2.汉化kibana2.1.下载汉化包[root@elasticsearch ~]# wget https://mirrors.yangxingzhen.com/kibana/Kibana_Hanization.tar.gz2.2.开始汉化yum安装原创 2021-07-14 10:56:14 · 988 阅读 · 1 评论 -
ELK日志系统终极架构
ELK终极架构1.ELK终极架构图最接近终极的架构图就是我们从redis中读取收集来的日志最后由logstash存储到es库,但是这个架构有个缺陷假如redis挂掉,我们就无法收集日志了redis单点问题,我们可以通过集群的方式来实现,但是redis的三种集群模式,除了主从复制,其他两个集群,filebeat均不支持将数据写入集群,但是主从复制又有弊端,假如主节点挂掉,还需要通过命令的方式把从节点改为可读可写filebeat支持kafka集群的写入,但是kafka不太熟悉,我们还是用redis来实现原创 2021-07-14 10:51:02 · 3535 阅读 · 1 评论 -
优化logstash从redis中读取日志的配置(下)
优化logstash读取redis缓存日志配置紧接着配置logstash从redis读取filebeat收集的日志(上)进一步优化1.优化配置思路之前的logstash读取redis收集来的日志数据配置需要很多步骤,每次新加一个日志都特别繁琐没有优化前新增一个日志收集的配置步骤: 1.配置filebeat收集什么日志,增加标签 2.配置filebeat将日志存储到哪里 3.配置logstash从哪里读取数据 4.配置logstash将数据存放在哪里可以思考一下,logstash原创 2021-07-12 09:54:23 · 840 阅读 · 19 评论 -
配置logstash从redis读取filebeat收集的日志(上)
logstash读取redis缓存日志1.logstash从redis读取收集日志原理常规的日志收集方式都是由filebeat收集完直接输出给es集群,如果当后端应用访问量大,产生的日志也特别巨大,这时再由filebeat收集日志直接传输给es,会给es带来特别大的压力,如果es这时挂掉,filebeat依然在收集日志,这时filebeat找不到es集群,则会把收集来的日志丢弃针对日志量大的问题可以在es集群前面增加redis和logstash,filebeat收集完日志交给redis,由logsta原创 2021-07-12 09:47:27 · 1510 阅读 · 2 评论 -
ELK收集多个docker容器日志(十二)
filebeat收集容器日志现在很多公司都是用docker容器来运行服务,一台机器上会有很多个docker,docker容器里面的日志也需要收集分析,filebeat也有docker容器的日志收集方案官方配置地址https://www.elastic.co/guide/en/beats/filebeat/6.6/filebeat-input-docker.html1.部署docker1.安装docker[root@docker ~]# wget -O /etc/yum.repos.d/docker原创 2021-07-07 09:37:47 · 1336 阅读 · 4 评论 -
filebeat使用module收集mysql慢查询日志(十一)
filebeat使用module收集mysql日志mysql主要收集慢查询日志和error日志1.安装mysql1.安装mysql[root@mysql ~]# yum -y install mariadb-server2.修改配置文件制定数据存放路径[root@mysql ~]# vim /etc/my.cnf[mysqld]datadir=/data/mysqlsocket=/var/lib/mysql/mysql.socksymbolic-links=0[mysqld_safe原创 2021-07-07 09:33:50 · 1857 阅读 · 4 评论 -
filebeat使用modules模板收集nginx日志(十)
filebeat使用modules收集nginx日志1.为什么要使用modules收集日志modules只是filebeat的一个小功能,由于像mysql、redis等这种日志无发输出成json格式,filebeat无法将收集来的普通日志转换为json格式,从而进行细致的统计logstash可以做到将普通日志转换成json格式,但是配置十分复杂,且容易出错介于种种不便,elk官方推出了filebeat modules模块功能,将常用服务的日志转换做成了模板,只需要启动模板,配置日志路径即可将普通文原创 2021-06-30 13:22:26 · 2547 阅读 · 4 评论 -
kibana绘制日志收集系统仪表盘大屏(九)
kibana绘制日志收集系统仪表盘大屏1.kibana图形介绍kibana自带画图功能,可以对一个索引的不同指标进行画图,比如统计访问最多的10个ip、200状态码个数等等都可以通过kibana图形来展现统计的数据日志统计大屏2.制作访问网站前十个IP的图形2.1.产生nginx访问日志拿不同的ip去访问,一会可以统计出访问最高的10个IP,我已经产生了20000多条2.2.在kibana创建一个可视化图形点击Visualize—创建可视化视图2.3.选择垂直柱状图选择柱状图2原创 2021-06-25 14:08:42 · 1935 阅读 · 667 评论 -
filebeat收集json格式的nginx程序日志(二)
filebeat收集json格式的nginx日志1.为什么要收集json格式的日志类型由于nginx普通日志收集过来的日志内容都是存在一个字段中的值,我们想单独对日志中的某一项进行查询统计,比如我只想查看某个IP请求了我那些页面,一共访问了多少次,在普通的日志中是无法过滤的,不是很满意如下图,可以明显的看出,收集过来的日志信息都是在一块的,不能够根据某一项内容进行查询因此就需要让filebeat收集json格式日志内容,把日志内容分成不同的字段,也就是Key/value,这样我们就可以根据一个字段原创 2021-05-31 13:08:20 · 1458 阅读 · 1 评论 -
filebeat收集java程序多行报错(八)
filebeat收集java程序多行报错1.什么是java程序多行报错一个java程序报错往往是一个事件,这个报错并不是一行就能展示完的,几乎需要几十行才能展示完这个报错内容,对于filebeat来说,filebeat每次都是把一行看成了一个日志,那么对于java多行报错就不是很友好了,即使收集过来也是将一个事件的报错日志分成很多行在kibana上展示,这样对于开发人员来看日志就很头疼了如果对于多行报错的日志还用传统的收集方法,就像下图一样,完全不知道报错是什么了,不管谁看这个日志都需要去对比多行原创 2021-06-18 10:10:07 · 1243 阅读 · 2 评论 -
filebeat收集json格式的tomcat日志(七)
filebeat收集json格式的tomcat日志公司中常用的web程序一般都是nginx和tomcat,tomcat也有access访问日志,输出和nginx类似,我们也将tomcat的日志输出成json格式,在配合filebeat进行收集展示1.部署tomcat1.1.部署tomcat1.安装java[root@nginx02 ~]# yum -y install java2.安装tomcat[root@nginx02 ~]# mkdir /data[root@nginx02 ~]#原创 2021-06-16 09:36:03 · 1204 阅读 · 1 评论 -
filebeat同时收集错误日志与普通日志并存(六)
filebeat收集错误日志并与普通日志并存只收集正常日志往往是不完整的,错误日志更需要收集起来1.配置filebeat收集error日志所有集群都按如下配置,其实就是增加了一个type和一个indexvim /etc/filebeat/filebeat.ymlfilebeat.inputs:- type: log enabled: true paths: - /var/log/nginx/www_access.log json.keys_under_root: true原创 2021-06-16 09:33:52 · 1196 阅读 · 1 评论 -
filebeat收集多个域名网站日志并存储到不同的es索引库(五)
filebeat收集多个域名日志并创建不同索引1.为什么要针对不同的应用系统创建不同的索引公司生产环境中一台机器上一定会运行着多个域名的应用,web应用也是集群的方式,如果filebeat收集来的日志都是分散存储,且在es上建立的索引也都是分散的,这样不利于日志的聚合汇总,因此就需要把同一种应用的不同机器上的日志全部采集过来存储到一个索引库中,在kibana根据各种条件去匹配2.搭建web集群环境2.1.环境准备IP服务应用192.168.81.210nginx01bbs原创 2021-06-09 09:15:58 · 1134 阅读 · 2 评论 -
filebeat将收集来的日志存储到自定义名称的es索引(四)
filebeat自定义索引名称环境准备IP服务192.168.81.210es+kibana192.168.81.220es+filebeat+nginx192.168.81.230filebeat+nginx1.配置filebeat使用自定义的索引名称我们配置192.168.81.220的filebeat使用自定义的索引名称1.1.配置nginx开启json格式的日志[root@node-2 ~]# vim /etc/nginx/nginx.conf原创 2021-06-09 09:12:11 · 2135 阅读 · 1 评论 -
filebeat将收集的日志存储在指定es索引库并在kibana上展示日志数据(三)
filebeat指定es创建索引的名称并在kibana上展示日志数据1.为什么要指定索引库名称由于一台机器上不止一个应用服务,比如web机器,上面一定会有tomcat、nginx、redis这种服务,如果我们不指定每个应用收集来的日志存放在es集群中的索引名的话,filebeat会将所有的日志存放在一个叫filebeat-xxx的索引库中,这样一来,我们想针对性的看某一个应用的日志将会非常困难因此就需要当filebeat收集完日志存放在es时,指定不同应用对应的不同索引名,这样就能实现tomcat在t原创 2021-06-07 09:37:22 · 3282 阅读 · 4 评论 -
使用filebeat简单收集多个nginx应用服务器日志(一)
使用filebeat简单收集日志1.filebeat原理与介绍filebeat收集日志的原理类似于tail -f命令,等待应用日志产生后,每隔30s将日志进行收集,收集完成后存放在es的索引库中,最后展示在kibana上当filebeat关闭后,nginx继续产生日志,filebeat再次开启时不会将原来没有收集到的日志重新收集,而是收集目前最新的日志,当日志索引库被删除后,filebeat重启之后,es上没有生产新的日志索引库的原因只有是nginx没有产生日志,filebeat没有收集到,所有不会产原创 2021-05-25 17:04:25 · 2683 阅读 · 2 评论 -
elasticsearch防脑裂配置(十一)
elasticsearch防脑裂配置脑裂产生的原因及现象:当公司有多个idc机房,并且有多个es集群节点,这些节点都分布在不同的机房,机房之间通过openvpn进行连接,机房1上有2个es节点,并且有1个是主节点,机房2上有2个es节点都是工作节点,当机房产生网络波动后,两个机房之间的es节点不能通信,这时机房1上的两个es节点因为有主节点的存在,依然是正常工作的,但是机房2上的es由于连接不上主节点,就认为主节点挂掉了,自己就选举成为了主节点,自己虽然成了主节点,但是没有入口来往集群中写数据,这时两个原创 2021-05-31 11:16:02 · 1159 阅读 · 1 评论 -
elasticsearch备份工具elasticsearch-dump(十)
1.elasticsearch备份工具介绍elasticsearch备份工具由elasticsearch-dump实现官网:https://github.com/elasticsearch-dump/elasticsearch-dump2.安装elasticsearch-dump1.下载elasticsearch-dump[root@elasticsearch ~/soft]# git clone https://github.com/taskrabbit/elasticsearch-dump原创 2021-05-31 11:19:39 · 1189 阅读 · 1 评论 -
elasticsearch中文分词器详解(九)
1.es安装中文分词器官网:https://github.com/medcl/elasticsearch-analysis-ik1.1.安装中文分词器安装中文分词器的要求: 1.分词器的版本要与es的版本一直 2.所有es节点都需要安装中文分词器 3.安装完分词器需要重启1.在线安装[root@elasticsearch ~/soft]# cd /usr/share/elasticsearch/bin/[root@elasticsearch /usr/share/elasticsea原创 2021-05-24 11:33:17 · 648 阅读 · 1 评论 -
部署kibana分析系统并连接elasticsearch集群展现索引数据(八)
部署kibana分析系统并连接es展现索引数据1.kibana分析系统简介Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域原创 2021-05-24 11:27:05 · 1681 阅读 · 1 评论 -
elasticsearch集群运维监控优化及故障恢复(七)
elasticsearch集群运维及故障排查1.elasticsearch集群分片有的地方空缺问题描述:集群增加到3个节点后,为什么testinfo、linuxbook、index1等索引都出现了很多空缺?原因:由于我们testinfo、linuxbook、index1等索引库都是默认的副本分片配置,即1副本5分片,副本就是备份,一个节点就相当于一个副本分片的存放,因此抛开主分片,副本分片只有1个,有3个主机,主分片已经存放在一台机器了,那么副本分片就会分开存放,其实主分片、副本分片都会分开存放,这原创 2021-05-21 09:46:31 · 923 阅读 · 2 评论 -
长达两万字的Elasticsearch分布式集群运维方方面面总结(六)
elasticsearch集群部署1.elasticsearch集群介绍elasticsearch可以横向扩展至数百(甚至数千)的服务器节点,同时可以处理PB级别数据elasticsearch天生就是分布式的,并且在设计时屏蔽了分布式的复杂性elasticsearch经肯屏蔽了风不是系统的复杂性elasticsearch集群的特点:分配文档到不同的容器或分配中,文档可以存储一个或多个节点按集群节点来负载均衡这些分配,从而对索引和搜索过程进行负载均衡复制每个分片以支持数据冗余,从而防止硬件故原创 2021-05-20 10:44:08 · 3246 阅读 · 1 评论 -
es-head插件插入查询以及条件查询(五)
es-head插件插入查询以及条件查询1.es-head插件页面介绍页面详细介绍2.es-head查询语句2.1.查询索引中的全部数据curl命令交互,采用GET请求语法格式: curl -XGET es地址:9200/索引名/_search?pretty[root@elaticsearch ~]# curl -XGET 192.168.81.210:9200/testinfo/_search?prettyes-head插件查询索引中的全部数据在查询的框中填写http://192.原创 2021-05-20 10:35:30 · 2923 阅读 · 1 评论 -
两种方式部署elasticsearch-head插件(四)
安装elasticsearch-head插件1.安装head插件1.1.谷歌浏览器安装es-head插件安装完谷歌head插件后,服务器无需部署head服务也可以链接es集群https://github.com/liufengji/es-head从这里下载插件下载后将插件crx后缀修改为zip,然后解压文件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VZxXLcVV-1621390049536)(.\ELK-笔记图片存放\image-2020111521312原创 2021-05-19 13:07:35 · 864 阅读 · 6 评论 -
elasticsearch交互式命令查询(三)
elasticsearch交互方式1.elasticsearch交互方式curl命令: 最繁琐 最复杂 最容易出错 不需要安装任何软件,值需要有curl命令es-head插件 查看数据方便 操作相对容易 需要node环境kibana 查看数据以及报表格式丰富 操作很简单 需要java环境和安装配置kibana1.1.查看es基本信息[root@elastic ~]# curl 192.168.81.210:9200/_cat=^.^=/_cat/a原创 2021-05-19 10:10:01 · 618 阅读 · 1 评论 -
elasticsearch单节点部署及内存调优(二)
1.elasticsearch的部署1.1.elasticsearch的安装访问安装方式优点缺点docker1.部署方便2.直接run就可以使用3.启动迅速1.需要有docker知识2.修改配置复杂3.数据存储需要挂载目录tar1.部署灵活2.对系统侵占性小1需要自己写启动管理文件2.目录需要提前规划好rpm1.部署方便2.启动脚本安装即用3.存放目录标准化1软件各个组件分散在不同的目录2.卸载可能不干净3.默认配置需要修改ansible1.极其灵活原创 2021-05-18 09:40:45 · 1225 阅读 · 1 评论 -
elasticsearch的术语原理概念及应用场景(一)
Elasticsearch的介绍及安装1.elasticsearch的介绍1.1.elasticsearch简介Elasticsearch是一个实时的分布式搜索引擎,它能让你以一个之前从未有过的速度和规模去搜索你的数据,它被用作全文检索、结构化搜索、分析以及这三个功能的组合Elasticsearch是一个基于Apache Lucene的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为迄今为止最先进、性能最好的、功能最全的搜索引擎库,但是lucene只是一个库,想要用它,必须使用java来原创 2021-05-18 09:36:31 · 572 阅读 · 631 评论