好的想法是十分钱一打,真正无价的是能够实现这些想法的人。

欢迎参加本周六 DevOps社区大连峰会,还有少量赠票

默认分类martinliu 发表了文章 • 0 个评论 • 2260 次浏览 • 2021-08-31 12:37 • 来自相关话题

Elastic 作为金牌合作伙伴加盟 2021 中国DevOps社区峰会 ,下面是Elastic 公司开发者布道师刘征的分享话题简介

嘉宾介绍:刘征,Elastic公司社区布道师,中国DevOps社区组织者,《DevOps Handbook》《The Site Reliability Workbook》译者;精通DevOps/SRE/ITIL等管理体系。致力于推广DevOps/SRE的理念、技术和实践。

演讲概述:不仅详细介绍使用 OpenTelemetry 这套云原生的API和库,来生成、收集和导出分布式系统的遥测数据的流程。还将展示如何定制OpenTelemetry的组件和架构,从而满足你的应用程序的独特需求。

Elastic 对开放标准支持的承诺:从开源到开放代码,开放性是我们Elastic的DNA。我们不仅从我们编写和运送的代码的角度拥抱这种开放性,而且也拥抱我们摄入的数据。我们一直站在拥抱开放标准的最前沿,为我们的用户提供灵活性,让他们可以选择如何将他们的数据运送到Elasticsearch,并利用Elastic Stack的功能。这种支持开放标准的承诺体现在我们对其他开放标准和其他流行的开源项目的支持,如Prometheus、OpenTracing、W3C Trace-Context和Jaeger。

2019年初,OpenTracing和OpenCensus开始了标准化API和构建完整解决方案的旅程,使用户更容易在他们所有的埋点服务中捕获追踪和遥测。在Elastic APM中建立了对OpenTracing的支持,我们作为OpenTelemetry项目的成员积极参与其中。我们很高兴地宣布,我们可以轻松地将OpenTelemetry的追踪整合到Elastic APM中。
 

2021-08-31_12-19-56.png


欢迎参与DevOps 社区峰会大连站,欢迎关注刘征老师的以上分享。关注本微信的朋友可以扫码下面的二维码免费注册本次峰会,本次社区峰会还给大家准备了社区定制版卫衣和抽奖书籍等周边。还等什么,让我们本周六在峰会上不见不散吧!
 

2021-08-31_12-20-07.png


扫码即得最后剩余的免费门票。
查看大会的全部日程。
 

WechatIMG1617.jpeg

 
 

社区日报 第1292期 (2021-08-30)

社区日报cyberdak 发表了文章 • 0 个评论 • 1299 次浏览 • 2021-08-30 14:02 • 来自相关话题

1.通过Metricbeat实现外部对Elastic Stack的监控
https://www.cnblogs.com/sanduz ... .html

2.Elasticsearch 慢查询设置
https://blog.csdn.net/wang7075 ... 93713

3.es分析过程
https://www.cnblogs.com/Neeo/a ... .html

编辑:cyberdak
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup

Elasticsearch:分页搜索结果

Elasticsearchliuxg 发表了文章 • 0 个评论 • 1469 次浏览 • 2021-08-30 12:31 • 来自相关话题

随着时间点 API(Point in time API)的推出,根据 Elastic 的官方博客 “使用 Elasticsearch 时间点读取器获得随时间推移而保持一致的数据视图”,Scroll 接口将不被推荐作为对搜索结果的分页。

默认情况下,搜索会返回前 10 个匹配的匹配项。 要翻阅更大的结果集,你可以使用搜索 API 的 from 和 size 参数。 from 参数定义要跳过的命中数,默认为 0。 size 参数是要返回的最大命中数。 这两个参数共同定义了一页结果。比如:

GET /twitter/_search
{
  "from": 5,
  "size": 20,
  "query": {
    "match": {
      "city": "北京"
    }
  }
}

避免使用 from 和 size 来分页太深或一次请求太多结果。 搜索请求通常跨越多个分片。 每个分片必须将其请求的命中和任何先前页面的命中加载到内存中。 对于深页面或大型结果集,这些操作会显着增加内存和 CPU 使用率,从而导致性能下降或节点故障。这里的原因是 index.max_result_window 的默认值是 10K,也就是说 from+size 的最大值是1万。搜索请求占用堆内存和时间与 from+size 成比例,这限制了内存。假如你想 hit 从 990 到 1000,那么每个 shard 至少需要 1000 个文档:

原文链接:https://elasticstack.blog.csdn ... 32811

关于Elasticsearch nested类型返回数据会比实际多的情况怎么解决?

Elasticsearchlijianghu 回复了问题 • 2 人关注 • 1 个回复 • 1351 次浏览 • 2021-09-14 10:49 • 来自相关话题

两个索引之间如何关联筛选?

Elasticsearchkirito 回复了问题 • 3 人关注 • 2 个回复 • 1705 次浏览 • 2021-09-07 14:53 • 来自相关话题

logstash aggregate filter 累加不正确

Logstashtongchuan1992 回复了问题 • 2 人关注 • 1 个回复 • 1708 次浏览 • 2021-08-31 13:37 • 来自相关话题

使用fdfs作为仓库做快照,如何优化速度?

Elasticsearchtongchuan1992 回复了问题 • 2 人关注 • 1 个回复 • 1492 次浏览 • 2021-08-30 13:57 • 来自相关话题

在银河麒麟的系统上部署Elastic Search

Elasticsearchbinzaijun 回复了问题 • 2 人关注 • 3 个回复 • 2283 次浏览 • 2021-08-31 13:37 • 来自相关话题

社区日报 第1291期 (2021-08-28)

社区日报bsll 发表了文章 • 0 个评论 • 1214 次浏览 • 2021-08-28 21:12 • 来自相关话题

1.使用 filebeat 和处理器解析混合自定义日志
[https://stackoverflow.com/ques ... ssors](https://stackoverflow.com/ques ... essors)

2.支持模块化构建语义搜索的开源工具
[https://github.com/deepset-ai/haystack](https://github.com/deepset-ai/haystack)

3.手把手教你构建一个搜索网站
[https://www.youtube.com/watch?v=uZfpKY5qtCI](https://www.youtube.com/watch?v=uZfpKY5qtCI)


* 编辑:bsll

* 归档:https://ela.st/cn-daily-all

* 订阅:https://ela.st/cn-daily-sub

* 沙龙:https://ela.st/cn-meetup

ik分词+拼音分词高亮范围扩大

Elasticsearchyuechen323 回复了问题 • 2 人关注 • 1 个回复 • 1205 次浏览 • 2021-08-31 15:57 • 来自相关话题

filebeat7.14 + docker启动后再次restart报错 filebeat: not found

回复

Beatslololo 发起了问题 • 1 人关注 • 0 个回复 • 3658 次浏览 • 2021-08-26 11:50 • 来自相关话题

filebeat7.14解析非结构化日志如何处理不规则的空格?

Beatslijianghu 回复了问题 • 2 人关注 • 1 个回复 • 3208 次浏览 • 2021-09-14 11:12 • 来自相关话题

使用 Elasticsearch 时间点读取器获得随时间推移而保持一致的数据视图

Elasticsearchliuxg 发表了文章 • 0 个评论 • 1304 次浏览 • 2021-08-26 10:05 • 来自相关话题

总结一下:如果可行,我们推荐您使用 Elasticsearch 的全新时间点功能。对于深度分页,我们不再推荐使用滚动 API(虽然它仍然有效)。

大多数数据都不断变化。在 Elasticsearch 中查询索引,实际上是在一个给定的时间点搜索数据。由于索引不断变化(在大多数可观测性和安全性用例中皆如此),在不同的时间执行两个相同的查询将返回不同的结果,因为数据会随着时间而变化。那么,如果需要消除时间变量的影响,该怎么做呢?

Elasticsearch 7.10 中引入的时间点读取器可以让您反复查询某个索引,仿佛该索引处于某个特定的时间点。

从这个高度概括的介绍看,时间点功能似乎与滚动 API 类似,后者会检索下一批结果以完成滚动搜索。但两者间有一个微妙的差别,可以清楚表明为何时间点在未来将是“有状态”查询不可或缺的部分。
 
https://elasticstack.blog.csdn ... 25187

将ES索引从一个集群迁移到另一个集群的python脚本

Elasticsearch 发表了文章 • 2 个评论 • 2047 次浏览 • 2021-08-25 17:20 • 来自相关话题

将索引从一个集群(ip:192.168.0.1)迁移到另一个集群(ip:192.168.0.2),新集群需要配置白名单:

```yml

elasticsearch.yml

reindex.remote.whitelist: ['192.168.0.1:9200']
<br /> <br /> python
import json

import requests

import base64

迁移索引数据

def reindex(index):
print("{0} 索引正在迁移中".format(index))
jsonData = {
"source": {
"remote": {
"host": "<a href="http://192.168.0.1:9200"" rel="nofollow" target="_blank">http://192.168.0.1:9200",
"socket_timeout": "30s",
"connect_timeout": "30s",
"username": "elastic",
"password": "123456"
},
"index": index
},
"dest": {
"index": index
}
}
res = requests.post("<a href="http://192.168.0.2:9200/_reindex"" rel="nofollow" target="_blank">http://192.168.0.2:9200/_reindex", json=jsonData)
print(res.status_code)
print(res.content)

获取创建索引的语句

def getIndexDslJson(index):

username = "elastic"
password = "123456"
user_info_str = username + ":" + password
user_info = base64.b64encode(user_info_str.encode()) # 这个得到是个字节类型的数据
headers = {
"Authorization": "Basic {0}".format(user_info.decode()) # 这个就是需要验证的信息
}

res = requests.get("http://192.168.0.1:9200/{0}".format(index),
headers=headers)
print(res.status_code)
jsonIndex = json.loads(res.content)
print(jsonIndex[index])
del jsonIndex[index]['settings']['index']['creation_date']
del jsonIndex[index]['settings']['index']['provided_name']
del jsonIndex[index]['settings']['index']['uuid']
del jsonIndex[index]['settings']['index']['version']
jsonIndex[index]['settings']['index']['number_of_shards'] = 1
jsonIndex[index]['settings']['index']['number_of_replicas'] = 0
return jsonIndex[index]

创建索引

def createIndex(index, dslJson):
res = requests.put("http://192.168.0.2:9200/{0}".format(index), json=dslJson)
print(res.status_code)
print(res.content)


if name == 'main':

需要创建的索引

indexList = [
"index1_v1", "index2_v1"
]
for index in indexList:
dslJson = getIndexDslJson(index) # 获取原索引的结构
createIndex(index, dslJson) # 根据原索引结构,在新集群创建索引
reindex(index) # 将原集群索引迁移到新集群

```

使用docker安装es环境

Elasticsearch 发表了文章 • 0 个评论 • 3635 次浏览 • 2021-08-25 16:31 • 来自相关话题

创建es账号并授权


```

创建账号

adduser es

修改密码

passwd es

授权

chmod -v u+w /etc/sudoers
vim /etc/sudoers

新增

es ALL=(ALL) ALL

wq保存退出,这时候要记得将写权限收回

chmod -v u-w /etc/sudoers

```

创建docker网络

<br /> docker network create tx<br />


安装Elasticsearch


<br /> docker pull elasticsearch:6.7.1<br />

<br /> 在/home/es 中创建 config,data,plugins目录<br /> 在plugins目录中下载es相关插件,如:ik,pinyin等<br /> 在config中创建elasticsearch.yml配置,创建analysis\synonym.txt 同义词<br /> 给data配置权限 sudo chmod 777 /home/es/data/<br /> 将/home/es 目录及其子目录的用户改为es:chown -R es:root /home/es/<br />

```yml

elasticsearch.yml

cluster.name: "my-docker-cluster"
node.name: "es-node1"
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: "Authorization,X-Requested-With,Content-Length,Content-Type"
node.master: true
reindex.remote.whitelist: ['other:9200']


xpack.security.enabled: true
xpack.security.authc.api_key.enabled: true

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

<br /> <br /> <br /> <br />
docker run -d --net tx --name my_elasticsearch -p 9201:9200 -p 9301:9300 -v /home/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/es/config/analysis:/usr/share/elasticsearch/config/analysis -v /home/es/config/elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12 -v /home/es/data:/usr/share/elasticsearch/data -v /home/es/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" -i -t --privileged=true elasticsearch:6.7.1
```





安装kibana


<br /> docker pull kibana:6.7.1<br />

```yml

kibana.yml配置文件

server.name: kibana
server.host: 0.0.0.0
elasticsearch.hosts: ["<a href="http://my_elasticsearch:9200"" rel="nofollow" target="_blank">http://my_elasticsearch:9200"]
i18n.locale: "zh-CN"
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
xpack.graph.enabled : true
xpack.ml.enabled : true
xpack.monitoring.enabled : true
xpack.reporting.enabled : true
xpack.security.enabled : true
xpack.watcher.enabled : true
<br /> <br />
docker run -d --name kibana --net tx -p 5601:5601 -v /home/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:6.7.1
```