记录日志系统的安装-部署-配置-使用文档(1)
日志系统使用文档地址 站内搜索 [记录日志系统的安装->部署->配置->使用文档(3)] 服务器ES, Logstash, Kibana内存: 8G磁盘: 500G处理器: 4/8核带宽: 2m 以上配置是原来写的,在之后的线上环境很快就得到了验证,结果就是直接崩溃。 建议每天产生 20-30GB 日志的环境至少需要以下配置: 内存:16G 磁盘:500GB-1TB(硬盘不值钱) 处理器:4/8 核 带宽:5M Filebeat(被抓取服务所在机器)略... 端口 ELK 服务器对外开放 5601 ELK 服务器对 Filebeat 所在服务器内网开放 5044 安装(单点) 安装完 Filebeat 之后,需要给 inputs 下配置文件基于 root 权限或者 go+w 权限:chown root /etc/filebeat/inputs/* 或者 chown go+w /etc/filebeat/inputs/* Filebeat(基于 Docker)12345678910111213141516171819version: ...
记录日志系统的安装-部署-配置-使用文档(2)
日志系统配置(长期补充)elastic 各产品配置/学习手册 注意:所有的 IP 不要写本地 IP filebeat.yml 如果同时指定了 exclude_lines 和 include_lines,Filebeat 将会先校验 include_lines,再校验 exclude_lines 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150#...
记录日志系统的安装-部署-配置-使用文档(3)
日志系统使用文档(长期完善)登录输入对应用户密码 索引模式(管理级操作)默认初始进来是这个页面,建立匹配的索引模式方可进行日志查询。 创建索引模式先创建匹配模式,例如我这里创建的索引模式名称为 sopei-dev02*,则代表可查看以 sopei-dev02 开头的索引下的日志(备注:下面可以看到匹配到了 8 月 9 日的 debug 日志和 error 日志)。 选择全局时间筛选字段,创建模式完成 创建及分配用户和角色(管理级操作)目前先以查看日志者和创建索引模式者及管理者区分。 例如:设置一个 log-view 角色,仅可对 dev 机器上的日志进行读取操作,然后赋予 xiaowu 用户。 创建用户 日志查看日志流模式查看 例如:查看 module 为 xxx,trace-id 为 xiaowu-12345673453463 并且是 error 类型的日志。 discover 查看查询方式和流模式一样,看到的内容是以 ES(_source)实际存储格式展示的。
记录日志系统的安装-部署-配置-使用文档(5)
ELK-ALERTING - 告警功能前提:使用告警功能必须配置 SSL,配置安全性可以站内搜索 [记录日志系统的安装-部署-配置-使用文档(4)] Kibana 本身提供了告警功能,左菜单位位置(7.14.0),但是免费支持的告警操作只有写入索引和写入 Kibana 日志,其他功能需要收费(19 美元一个月)。网上提到一个方案 sentinl,但是似乎截止到 2021-08-20 仅支持到 Kibana 7.6.1 的版本。 创建连接器(以邮件和 webhook 举例)邮件 企业微信邮箱发送方主机: IP:smtp.exmail.qq.com Port:465 QQ 邮箱发送方主机: IP:smtp.qq.com Port:465 / 587 记得在账户那里开启 SMTP,然后密码是授权码 测试,可以有多个接收方 Webhook 飞书 webhook 企业微信群机器人 发个测试 123456789{ "msg_type": "text", "content&qu...
记录下 Logstash 的配置加解释
Logstash 配置说明logstash.conf(完整配置加注释)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091input { beats { port => 5044 #ssl => true #ssl_certificate => "/etc/logstash/logstash.crt" #ssl_key => "/etc/logstash/logstash.key" # 1. SSL 详情可参考相关文档 }}# filter 模块主要是数据预处理,提取一些信息,方便 Elasticsearch 好归类存储。# 2. grok 正则捕获# 3...
日志系统 - 背景
背景目前项目查看日志的方式较为朴素,人工线上查看 log 的方式也较为麻烦。一套能查看全链路日志的系统,对每位开发来说无疑是雪中送炭的。 其次,目前的业务日志中的数据是可供二次利用和开发的,而非目前仅是排查问题使用。 目标 打造全员可实时查看生产日志,并能提取调用链日志 应用到后续的业务发展中(BI) APM 价值为 BI 业务(other/计算)做准备 夯实服务架构 便利开发查看日志,不仅是业务日志,Filebeat 提供了各种 module 以支持监控各种中间件的日志 初步设想架构图 改动点 服务 保持原有日志格式 各日志加字段 ['traceId', 'localIp', 'module'] - 以便有问题可以确定到某台机器上的某个服务 各模块 traceId 通过 REST 接口传递 header(Rest 插件改造) 由(网关生成 traceid)orange 向下传递 traceId(uuid/snowflake) ELK(单点) Filebeat 和服务部署在同台机器上 ES index 格...
多索引组合查询
多索引组合查询(官方文档)如果不对某一特殊的索引做限制,就会搜索集群中的所有文档。Elasticsearch 转发搜索请求到每一个主分片或者副本分片,汇集查询出的前 10 个结果并返回。 经常的情况下,你想在一个或多个特殊的索引中进行搜索,可以通过在 URL 中指定特殊的索引和类型达到这种效果,如下所示: 路径 说明 /_search 在所有的索引中搜索所有的类型 /gb/_search 在 gb 索引中搜索所有的类型 /gb,us/_search 在 gb 和 us 索引中搜索所有的文档(明确指定多个索引名称,若索引不存在会出现错误) /g*,u*/_search 在任何以 g 或 u 开头的索引中搜索(通配符匹配,无需判断索引是否存在) /gb/user/_search 在 gb 索引中搜索 user 类型 /gb,us/user,tweet/_search 在 gb 和 us 索引中搜索 user 和 tweet 类型 /_all/user,tweet/_search 在所有的索引中搜索 user 和 tweet 类型 /index-...
ES 分享会:从倒排索引到生产实践
ES 分享一. 建立倒排索引的认识 倒排索引是一种索引方法,用来存储全文搜索下某个单词在文档中的位置映射。 以古诗问答为例来理解倒排索引: 问:说出带"前"字的古诗词 问:背一下李白的《静夜思》—— 窗前明月光,疑是地上霜 背诗的方式:按书中排列顺序,先记诗名再记内容 具象化到关系库模型: 在脑子中形成的索引是这样的: 建立了 name 的索引后,根据 name 找 content 就会很快(SELECT * FROM 古诗 WHERE name = '静夜思'),但反过来查包含某字的诗就变成全表扫描(SELECT name FROM 古诗 WHERE content LIKE '%前%')。 如果以"前"字作为索引,则可以解决这个问题: 但整首 20 字的古诗每个字都适合做索引,光唐诗就有 5 万多首,全部建索引不现实。由于已经可以通过诗名回忆整首诗,所以只需索引到诗名即可: 多首诗的情况: 以上就是倒排索引的入门讲解。 补充: ES 默认对全部字段建立索引,如古诗表中 ...
Elasticsearch 基本使用
1. 了解 ES1.1.1. Elasticsearch 的作用elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 1.1.2. ELK 技术栈elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域: 而elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。 1.1.3. Elasticsearch 与 Luceneelasticsearch底层是基于lucene来实现的。 Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。官网地址:https://lucene.apache.org/ 。 elasticsearch的发展历史: 2004年Shay Banon基于Lucene开发了Compass 2010年Shay Banon 重写了Compass,取名为Elasticsearch...
Elasticsearch DSL 使用指南
1. DSL 查询文档Elasticsearch 的查询依然是基于 JSON 风格的 DSL 来实现的。 1.1. DSL 查询分类Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如: match_query multi_match_query 精确查询:根据精确词条值查找数据,一般是查找keyword、数值、日期、boolean等类型字段。例如: ids range term 地理(geo)查询:根据经纬度查询。例如: geo_distance geo_bounding_box 复合(compound)查询:复合查询可以将上述各种查询条件组合起来,合并查询条件。例如: bool function_score 查询的语法基本一致: 12345678GET /indexName/_search{ &...
