一站式 Elasticsearch 集群指标监控与运维管控平台

这篇具有很好参考价值的文章主要介绍了一站式 Elasticsearch 集群指标监控与运维管控平台。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上篇文章写了一下消息运维管理平台,今天带来的是ES的监控和运维平台。目前初创企业,不像大型互联网公司,可以重复的造轮子。前期还是快速迭代试错阶段,方便拿到市场反馈,及时调整自己的战略和产品方向。让自己活下去,话不多说 开始今天的分享。

一、项目介绍

KnowSearch 是基于滴滴内部开发的的一套 ES 搜索平台(内部代号 Arius )优化开源而来,它是滴滴搜索团队的一整套 ES 搜索服务和治理体系化思考的全面展现。

内部使用情况:
目前滴滴内部 ES 集群的规模在60+ 集群,2500+ 节点,10PB 的数据,1500w 写入 TPS, 10w+ 查询 QPS。

KnowSearch提供了一套体验环境,地址如下:

  • 体验地址:http://116.85.24.226/

  • 账号密码:admin/admin

二、项目特点

企业级权限管控

离线索引快速导入

跨集群复制

索引模板服务

DSL审核与分析

三、优势

  • 平台侧服务易用性提升:提供功能强大和易用的用户控制台,提供索引、集群、mapping 等常用操作,降低用户使用 ElasticSearch 的成本。

  • 管控侧运维成本降低:提供功能强大和易用的管控平台,开发和运维可以方便的操作集群管控、索引管控、权限管控,降低服务运维成本;提供全面和丰富的监控指标,方便开发和运维快速掌握集群的运行时状态。

  • 引擎侧引擎能力提升:深入引擎定制开发跨集群数据复制、FastIndex 离线索引创建等特性,提升 ElasticSearch 集群稳定性和性能。

四、项目编译 & 打包

KnowSearch 采用前后端分离架构,前端工程包括arius-console,后端工程包括arius-admin(管控服务)、arius-gateway(网关服务)

前端工程编译和运行

clone 项目到本地,使用idea单独打开arius-console工程后

环境要求:

  • Modern browsers and Internet Explorer 11

  • node V10+

安装npm:

npm install

运行:

npm run start

访问:

http://localhost:8002/es


后端工程编译和运行

clone 项目到本地,使用idea分别单独打开arius-admin工程和arius-gateway工程;

  • arius-admin

arius-admin-v2由10个主要的工程和扩展增值服务组成:

arius-admin-rest            表现层1,可以直接封装Manager接口暴露成restful接口 arius-admin-task            表现层2,提供auv-job定时调度任务入口, 任务实现在arius-admin-biz/arius-admin-core中 arius-admin-common          基础组件层1,存放业务需要数据结构, 如Java POJO(entity、po)、公共工具方法、事件等 arius-admin-client          基础组件层2,存放业务需要的POJO(vo、dto)、枚举等, 并且提供客户端请求响应的数据实体。arius-admin-biz             业务层1,负责对arius-admin-core中各种的业务逻辑进行聚合处理,提供表现层所需要的数据实体 arius-admin-extend          业务层2,扩展服务, 如容量规划、fast-index等 arius-admin-core            核心层1,提供核心的管控能力, 主要的业务逻辑实现, 如集群、索引、项目等 arius-admin-metadata        核心层2,负责对Elasticsearch的元数据采集,如索引指标统计、节点指标统计, 提供的能力包括但不限于DSL分析、健康检查等 arius-admin-persistence     数据层1,负责对MySQL和Elasticsearch中的数据进行操作 arius-admin-remote          数据层2,获取第三方服务数据, 如访问文件存储系统、企业部门系统等

可以单独部署,也可以结合arius-gateway部署。根据自己需要,自行选择。

  1. 配置

配置环境文件:application-xxx.properties

更新ES数据集群名称

es.update.cluster.name: {name}es.client.cluster.port: {port}

网关配置

es.gateway.url: {host}es.gateway.port: {port}es.appid: {appId1},{appId2},{appId3}es.password: {passwd},{passwd},{passwd}

数据源配置

datasource:    name: data    type: com.alibaba.druid.pool.DruidDataSource     druid:      driver-class-name: com.mysql.jdbc.Driver      url: jdbc:mysql://{host}:{port}/{dbName}?useUnicode=true&characterEncoding=utf8&jdbcCompliantTruncation=true&allowMultiQueries=true&useSSL=false    username: {username}    password: {password}auv-job:    jdbc-url: jdbc:mysql://{host}:{port}/{dbName}?useUnicode=true&characterEncoding=utf8&jdbcCompliantTruncation=true&allowMultiQueries=true&useSSL=false    username: {username}    password: {password}

b.打包

mvn clean package -Dmaven.test.skip=true

c.运行

java -jar arius-admin-rest.jar --spring.profiles.active=xxx (test、dev)
  • arius-gateway

工程模块划分:

arius-gateway-common 存放公共常量, 公用方法, 异常类, 普通java bean等.arius-gateway-core 提供核心方法, 主要业务逻辑实现.arius-gateway-remote 依赖第三方的接口.arius-gateway-rest 提供rest和Tcp方式接口.arius-gateway-task 执行程序定时任务.

arius-gateway-v2 作为网关层,需配合 arius-admin-v2 使用。

  1. 配置

配置环境文件:application-xxx.propertiesarius.gateway.adminUrl=arius.gateway.adminUrl=http://{host}:{port}/admin/api

b.打包

mvn clean package -Dmaven.test.skip=true

c.运行

java -jar arius-gateway-rest-0.0.1-SNAPSHOT.jar --spring.profiles.active=test

五、项目部署

官方提供了多种部署方式:单机部署、脚本部署、容器部署、手动部署等,限于篇幅,这里就不展示每种部署方式都介绍。这里只介绍其中一种方式:手动部署。

其他方式请参考github自行进行查看。

  • 手动部署

安装顺序如下

  1. 安装 JDK-11、MySQL、ElasticSearch 等依赖服务

  1. 安装 KnowStreaming

安装 MySQL 服务

yum 方式安装

# 配置yum源wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpmrpm -ivh mysql57-community-release-el7-9.noarch.rpm# 执行安装yum -y install mysql-server mysql-client# 服务启动systemctl start mysqld# 获取初始密码并修改old_pass=`grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}' | tail -n 1`mysql -NBe "alter user USER() identified by 'Didi_km_678';"--connect-expired-password -uroot -p$old_pass
配置 JDK 环境
# 下载安装包wget https://s3-gzpu.didistatic.com/pub/jdk11.tar.gz# 解压到指定目录tar -zxf jdk11.tar.gz -C /usr/local/# 更改目录名mv /usr/local/jdk-11.0.2 /usr/local/java11# 添加到环境变量echo"export JAVA_HOME=/usr/local/java11" >> ~/.bashrcecho"export CLASSPATH=/usr/java/java11/lib" >> ~/.bashrcecho"export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin" >> ~/.bashrcsource ~/.bashrc
ElasticSearch 实例搭建
  • ElasticSearch 用于存储平台采集的 Kafka 指标;

  • 以下安装示例为单节点模式

# 下载安装包wgethttps://s3-gzpu.didistatic.com/pub/elasticsearch.tar.gz# 创建ES数据存储目录mkdir-p /data/es_data# 创建ES所属用户useraddarius# 配置用户的打开文件数echo"arius soft nofile 655350" >> /etc/security/limits.confecho"arius hard nofile 655350" >> /etc/security/limits.confecho"vm.max_map_count = 655360" >> /etc/sysctl.confsysctl-p# 解压安装包tar-zxf elasticsearch.tar.gz -C /data/# 更改目录所属组chown-R arius:arius /data/# 修改配置文件(参考以下配置)vim/data/elasticsearch/config/elasticsearch.ymlcluster.name: km_esnode.name: es-node1node.master: truenode.data: truepath.data: /data/es_datahttp.port: 8060discovery.seed_hosts: ["127.0.0.1:9300"]# 修改内存配置vim/data/elasticsearch/config/jvm.options-Xms2g-Xmx2g# 启动服务su- ariusexportJAVA_HOME=/usr/local/java11sh/data/elasticsearch/control.sh start# 确认状态sh/data/elasticsearch/control.sh status
KnowStreaming 实例搭建
# 下载安装包wgethttps://s3-gzpu.didistatic.com/pub/knowstreaming/KnowStreaming-3.0.0-beta.1.tar.gz# 解压安装包到指定目录tar-zxf KnowStreaming-3.0.0-beta.1.tar.gz -C /data/# 修改启动脚本并加入systemd管理cd/data/KnowStreaming/# 创建相应的库和导入初始化数据mysql-uroot -pDidi_km_678 -e "create database know_streaming;"mysql-uroot -pDidi_km_678  know_streaming < ./init/sql/ddl-ks-km.sqlmysql-uroot -pDidi_km_678  know_streaming < ./init/sql/ddl-logi-job.sqlmysql-uroot -pDidi_km_678  know_streaming < ./init/sql/ddl-logi-security.sqlmysql-uroot -pDidi_km_678  know_streaming < ./init/sql/dml-ks-km.sqlmysql-uroot -pDidi_km_678  know_streaming < ./init/sql/dml-logi.sql# 创建elasticsearch初始化数据sh./bin/init_es_template.sh# 修改配置文件vim./conf/application.yml# 监听端口server:port: 8080 # web 服务端口tomcat:accept-count: 1000max-connections: 10000# ES地址es.client.address: 127.0.0.1:8060# 数据库配置(一共三处地方,修改正确的mysql地址和数据库名称以及用户名密码)jdbc-url: jdbc:mariadb://127.0.0.1:3306/know_streaming?.....username: rootpassword: Didi_km_678# 启动服务cd/data/KnowStreaming/bin/shstartup.sh

六、项目效果图

登录界面:

一站式 Elasticsearch 集群指标监控与运维管控平台

首页:

一站式 Elasticsearch 集群指标监控与运维管控平台

集群管理:

一站式 Elasticsearch 集群指标监控与运维管控平台

模板管理:文章来源地址https://www.toymoban.com/news/detail-496760.html

一站式 Elasticsearch 集群指标监控与运维管控平台

到了这里,关于一站式 Elasticsearch 集群指标监控与运维管控平台的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kyligence Zen 产品体验 — 一站式指标平台助力电商数字化转型

    一、活动了解: 经过朋友的推荐,参加了《Kyligence Zen 产品体验官计划》的活动。 从活动海报中,可以看到几个关键性的内容: 之前有听过低代码平台、数据中台、SaaS平台、中台微服务等,但是这个指标平台还是第一次接触,对新技术感兴趣的我,带着疑问并深入进行Kyl

    2024年02月08日
    浏览(51)
  • Kyligence Zen 一站式指标平台体验——“绝对实力”的指标分析和管理工具——入门体验评测

    🦖欢迎观阅本本篇文章,我是Sam9029 在知道 Kyligence Zen 之前,我对于该类提供在线化数据处理服务的产品了解甚少 脑子里对于数据处理的印象依旧在传统的办公软件和专业领域软件上 Excel 的大名自不必说, Spss 和 SAS 略有了解,同时作为开发人员, Echarts 倒是使用频率更多

    2024年02月04日
    浏览(70)
  • Elasticsearch 精粹:一站式学习全方位搜索技术

    Elasticsearch 是一个开源的搜索引擎,建立在 Apache Lucene™ 基础上。它被广泛用于全文搜索、结构化搜索、分析以及将这些功能组合在一起的复杂搜索用例。以下是 Elasticsearch 的一些关键特点和功能: 分布式和可扩展性 :Elasticsearch 是分布式的,这意味着它可以处理大量数据并

    2024年02月02日
    浏览(77)
  • 一站式图片管理

    一、引言 随着智能手机、社交媒体和网络技术的快速发展,人们在生活中产生了越来越多的图片。据统计,到2025年,全球图片市场规模将达到6000亿美元。面对如此庞大的数据量,如何进行高效、便捷的图片管理成为了一个亟待解决的问题。本文将详细介绍一站式图片管理方

    2024年01月20日
    浏览(61)
  • lxml&xpath一站式教学

    XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。它最初是用来搜寻 XML 文档的,现在它同样适用于 HTML 文档的搜索 XPath 的选择功能十分强大,它提供了非常简洁明了的路径选择表达式 。 另外,它还提供了超过100 个内建函数,用于字

    2023年04月21日
    浏览(104)
  • AllData一站式大数据平台【一】

    ​ 💥🔥 Hey there! I\\\'m AllDataDC. Developing BigData Platform Exploring new technologies Studying Computer Science Enthusiast in BigData and AI Full Stack developer and BigData developer Create a product that is useful to society [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RsXUstB2-1679966837577)(

    2024年02月02日
    浏览(130)
  • 实用便捷!一站式BI系统推荐

    在企业数字化转型过程中,BI系统可以建立业务、数据的双驱引擎,形成业务、数据的互补作用,通过建立数字化技术架构,明确企业的战略定位和业务目标,从而支撑实现这个目标。而一站式BI系统,则是指可以轻松从数据采集进行到数据可视化分析环节的BI系统。拥有一个

    2024年02月16日
    浏览(52)
  • 布谷鸟配音:一站式配音软件

    这是一款智能语音合成软件,可以快速将文字转换成语音,拥有多种真人模拟发音,可以选择不同男声、女声、童声,以及四川话、粤语等中文方言和外语配音,并且可对语速、语调、节奏、数字读法、多音字、背景音等进行全方位设置,可以自动合成语音,无需专人录制和

    2024年02月13日
    浏览(54)
  • AllData一站式大数据平台【二】

    AllData科学护城河:一种在数据驱动的科学和研究领域中, 保护和维护数据的竞争优势和独特性的解决方案。 AllData通过汇聚大数据与AI领域生态组件,提供自定义化数据中台。 包括大数据生态方案,人工智能生态方案, 大数据组件运维方案,大数据开发治理方案, 机器学习方案,大

    2024年02月02日
    浏览(60)
  • 一站式自动化测试平台-Autotestplat

    3.1 自动化平台开发方案 3.1.1 功能需求 3.1.3 开发时间计划 如果是刚入门、但有一点代码基础的测试人员,大概 3 个月能做出演示版(Demo)进行自动化测试,6 个月内胜任开展工作中项目的自动化测试。 如果是有自动化测试基础的测试人员,大概 1 个月能做出演示版(Demo)进行自动

    2024年02月13日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包