elasticsearch

laravel 以服务提供者的方式使用 elasticsearch

Backend

安装 安装elasticsearch官方扩展包 composer require elasticsearch/elasticsearch 以服务提供者的方式使用 elasticsearch 可以参考这篇文章:Laravel 以服务提供者的方式使用第三方扩展包 下面给出关键配置 config/es.php <?php declare(strict_types=1); return [ 'hosts' => explode(',', env('ELASTIC_HOSTS')),//['http://elasticsearch:9200'] 'username' => env(...

初步分析 Elasticsearch 文档

Backend

Query DSL Elasticsearch提供基于JSON的完整查询DSL(Domain Specific Language)来定义查询。 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html 例如: GET /_search { "query": { "bool": { "must": [ { "match": { "title": "Search" }}, { "match": { "content": "...

elasticsearch地理位置查询

Backend

Elasticsearch支持两种类型的地理数据:支持lat/lon对的geo_point字段和支持点、线、圆圈、多边形、多多边形等的geo_shape字段。 下面只介绍geo_point 创建名称为geo的索引 curl --location --request PUT 'localhost:9200/geo' \ --header 'Content-Type: application/json' \ --data-raw '{ "settings": { "number_of_replicas": 3, "number_of_shards": 5 }, "ma...

为 Elastic Stack 配置安全性

其他

Elastic Stack 和 ELK 的区别 其实是一个东西。ELK实际上是三个技术栈的简称,这三款软件分别是ElasticSearch、LogStach、Kibana。在这个生态圈慢慢发展过程中,加入了一个新成员 Beats。那么这个时候,按照之前的称呼,是不是应该称之为ELKB呢?仔细想想,如果这个技术栈中以后再加入一个新成员呢?所以,正式改名为Elastic Stack。 最低限度的安全性 ElasticSearch vi config/elasticsearch.yml #discovery.type: single-node xpack.security.enabled: true...

集中化的日志管理

Backend

把日志放到node节点的主机目录上,在到主机目录上配置rsyslog收集到专门的日志服务器。 从这个日志服务器启一个logstash或者filebeat写入es。 不建议直接从每个节点直接写入es。因为日志量大的时候可能es就会被弄死,另外这么多的filebeat也是要占用不少资源的。 如果觉得麻烦,就每个node写个文件监控。自动添加rsyslog的配置然后重启rsyslog。 这样可以保证日志不丢,还能有序插入es不会因为业务高峰把es弄死,还可以利用logstash再进行一些日志格式化的需求。 目前用这个方案,把istio的所有envoy访问日志、traefik、应用程序日志收集到es上...

elasticsearch、kibana时区问题

Backend

问题描述 #索引mappings { "mappings": { "properties": { "datetime": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss" } } } } 通过elasticsearch/elasticsearch向elasticsearch添加数据 { "datetime": "2022-02-28 12:26:30" } 通过kibana看...

elasticsearch 分词

Backend

安装中文、拼音分词 https://github.com/medcl/elasticsearch-analysis-ik https://github.com/medcl/elasticsearch-analysis-pinyin 下载和elasticsearch对应的版本,解压后移到plugins目录 root@57d58faf9b1e:/usr/share/elasticsearch/plugins# ls ik pinyin 重启elasticsearch使生效 测试一下 默认分词 curl -H "Content-Type: application/json" -XPOST 'l...

elasticsearch 3种分页方式

Backend

本文将提供原始restfull api和elasticsearch-php的示例 from + size 不适合深度分页,max_result_window默认10k size, from类似sql语句里的limit, 如limit {from} {size}; size:每页条数 from:从第几个行开始,默认0 curl curl -H "Content-Type: application/json" -XGET 'localhost:9200/article/_search?pretty' -d' { "size": 2, "from": 0 }' php publ...

elasticsearch 快照和恢复

Backend

前提 如果你想使用快照和存储,你必须设置path.repo。 vi elasticsearch.yml path.repo: ["/usr/share/elasticsearch/backup"] 然后重启elasticsearch使生效 存储 创建存储 存储名称:datasvr 存储路径:/usr/share/elasticsearch/backup max_restore_bytes_per_sec:40M max_snapshot_bytes_per_sec:40M 是否压缩compress:是 curl -H "Content-Type: application/json" -X...

基于docker的 EFK 日志分析系统

Backend

EFK 不是一个软件,而是一套解决方案。EFK 是三个开源软件的缩写,Elasticsearch,Fluentd,Kibana。其中 ELasticsearch 负责日志分析和存储,Fluentd 负责日志收集,Kibana 负责界面展示。它们之间互相配合使用,完美衔接,高效的满足了很多场合的应用,是目前主流的一种日志分析系统解决方案。 本文主要基于Fluentd实时读取日志文件的方式获取日志内容,将日志发送至Elasticsearch,并通过Kibana展示。 启动服务 docker-compose -f docker-compose.yml up -d 验证服务是否已正常启动 ...