Elasticsearch
Elasticsearch 是一个 高性能数据存储、搜索和分析引擎,它被用于 数据搜索引擎 实时流式分析 等场景。Elasticsearch 是 一个分布式、免费和开放的搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化。
准备
在参阅本文档使用 Elasticsearch 时,需要确保如下几点:
入门指南
初始化
Websoft9 控制台安装 Elasticsearch 后,通过 "我的应用" 查看应用详情,在 "访问" 标签页中获取登录信息。
-
使用本地电脑浏览器访问,进入 Elasticsearch API 认证提示
-
输入用户名(elastic)和密码,成功后会输出 API 基本信息
获取 Enrollment Token
Enrollment Token 是用于 Kibana 除此连接的必要信息。可以在 Elasticsearch 中运行重 置命令获取:
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
使用 Kibana 管理
Elasticsearch 应用中默认不含 Kibana,用户可以通过 Websoft9 应用商店 安装 Kibana。
连接 Logstash 并分析
Logstash 是数据的采集、加工和传输管道,它是如何与 Elasticsearch 配套工作的呢?
-
编辑 Logstash 配置文件
-
新增一个 pipeline 的配置文件(output 段需填写准确的 ES 账号),其内容如下:
input{
file{
path => "/var/log/*.log"
type => "elasticsearch"
start_position => "beginning"
}
}
## Add your filters / logstash plugins configuration here
output {
elasticsearch {
hosts => "elasticsearch:9200"
user => "elastic"
password => "elastic123"
index => "mytest"
}
} -
运行命令
curl http://URL/cat/indices?v
验证 Elasticsearch 和 Logstash 的连接,索引是否生效 -
登陆 Kibana,点击Manage,创建一个Index Patterns
-
根据提示完成创建任务,最后用 时间戳 检索数据
配置选项
- 默认管理员账号:elastic
- Elasticsearch API
- 多语言(✅):Kibana 配置文件中增加
i18n.locale: "zh-CN"
- 开源许可:ELASTIC-LICENSE
- SMTP(√)
管理维护
-
Email 配置:Kibana 控制台,依次打开:Stack Management > Watcher ,增加一个 Email Action
-
重置密码:ElasticSearch 容器中运行命令
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
-
备份与恢复:Elastic 内置快照备份功能
问题与故障
ERROR: exit code 137?
错误详情:ERROR: Elasticsearch exited unexpectedly, with exit code 137
问题原因:启动或运行时,服务器可分配给 ES 的内存不足
实践发现可用内存超过 1G 时,此 ERROR 还不会出现