diff --git a/apps/elastic-elasticsearch/8.14.3/config/elasticsearch.yml b/apps/elastic-elasticsearch/8.14.3/config/elasticsearch.yml new file mode 100644 index 000000000..f0705b19e --- /dev/null +++ b/apps/elastic-elasticsearch/8.14.3/config/elasticsearch.yml @@ -0,0 +1,82 @@ +# ======================== Elasticsearch Configuration ========================= +# +# NOTE: Elasticsearch comes with reasonable defaults for most settings. +# Before you set out to tweak and tune the configuration, make sure you +# understand what are you trying to accomplish and the consequences. +# +# The primary way of configuring a node is via this file. This template lists +# the most important settings you may want to configure for a production cluster. +# +# Please consult the documentation for further information on configuration options: +# https://www.elastic.co/guide/en/elasticsearch/reference/index.html +# +# ---------------------------------- Cluster ----------------------------------- +# +# Use a descriptive name for your cluster: +# +cluster.name: elasticsearch-cluster + # + # ------------------------------------ Node ------------------------------------ + # + # Use a descriptive name for the node: + # + #node.name: node-1 + # + # Add custom attributes to the node: + # + #node.attr.rack: r1 + # + # ----------------------------------- Paths ------------------------------------ + # + # Path to directory where to store the data (separate multiple locations by comma): + # + @path.data@ + # + # Path to log files: + # + @path.logs@ +# +# ----------------------------------- Memory ----------------------------------- +# +# Lock the memory on startup: +# +#bootstrap.memory_lock: true +# +# Make sure that the heap size is set to about half the memory available +# on the system and that the owner of the process is allowed to use this +# limit. +# +# Elasticsearch performs poorly when the system is swapping the memory. +# +# ---------------------------------- Network ----------------------------------- +# +# By default Elasticsearch is only accessible on localhost. Set a different +# address here to expose this node on the network: +# +network.host: 0.0.0.0 +# +# By default Elasticsearch listens for HTTP traffic on the first free port it +# finds starting at 9200. Set a specific HTTP port here: +# +http.port: 9200 +# +# For more information, consult the network module documentation. +# +# --------------------------------- Discovery ---------------------------------- +# +# Pass an initial list of hosts to perform discovery when this node is started: +# The default list of hosts is ["127.0.0.1", "[::1]"] +# +#discovery.seed_hosts: ["host1", "host2"] +# +# Bootstrap the cluster using an initial set of master-eligible nodes: +# +#cluster.initial_master_nodes: ["node-1", "node-2"] +# +# For more information, consult the discovery and cluster formation module documentation. +# +# ---------------------------------- Various ----------------------------------- +# +# Allow wildcard deletion of indices: +# +#action.destructive_requires_name: false diff --git a/apps/elastic-elasticsearch/8.14.3/data.yml b/apps/elastic-elasticsearch/8.14.3/data.yml new file mode 100644 index 000000000..add08a03e --- /dev/null +++ b/apps/elastic-elasticsearch/8.14.3/data.yml @@ -0,0 +1,53 @@ +additionalProperties: + formFields: + - default: "/home/elasticsearch" + edit: true + envKey: BARK_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 9200 + edit: true + envKey: PANEL_APP_PORT_HTTPS + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 9300 + edit: true + envKey: PANEL_APP_PORT_API + labelZh: 通讯端口 + labelEn: Communication port + required: true + rule: paramPort + type: number + - default: "elasticsearch-cluster" + edit: true + envKey: ES_SETTING_CLUSTER_NAME + labelZh: 节点名称 + labelEn: Cluster name + required: true + type: text + - default: "" + edit: true + envKey: ELASTIC_PASSWORD + labelZh: Elasticsearch 密码 (elastic) + labelEn: Elasticsearch password (elastic) + required: false + type: password + - default: "" + edit: true + envKey: KIBANA_PASSWORD + labelZh: Kibana 密码 (kibana_system) + labelEn: Kibana password (kibana_system) + required: false + type: password + - default: "" + edit: true + envKey: ENROLLMENT_TOKEN + labelZh: 注册令牌 (节点) + labelEn: Enrollment token (node) + required: false + type: text diff --git a/apps/elastic-elasticsearch/8.14.3/docker-compose.yml b/apps/elastic-elasticsearch/8.14.3/docker-compose.yml new file mode 100644 index 000000000..26568da62 --- /dev/null +++ b/apps/elastic-elasticsearch/8.14.3/docker-compose.yml @@ -0,0 +1,39 @@ +version: "3.8" + +networks: + 1panel-network: + external: true + +services: + elasticsearch: + image: elasticsearch:8.14.3 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + tty: true + ulimits: + memlock: + soft: -1 + hard: -1 + ports: + - ${PANEL_APP_PORT_HTTPS}:9200 + - ${PANEL_APP_PORT_API}:9300 + env_file: + - /etc/1panel/envs/global.env + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml + - ${BARK_ROOT_PATH}/certs:/usr/share/elasticsearch/config/certs + - ${BARK_ROOT_PATH}/config:/usr/share/elasticsearch/config + - ${BARK_ROOT_PATH}/data:/usr/share/elasticsearch/data + - ${BARK_ROOT_PATH}/data:/usr/share/elasticsearch/logs + - ${BARK_ROOT_PATH}/data:/usr/share/elasticsearch/plugins + environment: + - ES_SETTING_HTTP_PORT=9200 + - ES_SETTING_CLUSTER_NAME=elasticsearch-cluster + - ES_SETTING_LICENSE=basic + - MEM_LIMIT=1073741824 + - ES_SETTING_BOOTSTRAP_MEMORY__LOCK=true diff --git a/apps/elastic-elasticsearch/8.14.3/scripts/init.sh b/apps/elastic-elasticsearch/8.14.3/scripts/init.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/apps/elastic-elasticsearch/8.14.3/scripts/init.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/elastic-elasticsearch/8.14.3/scripts/uninstall.sh b/apps/elastic-elasticsearch/8.14.3/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/elastic-elasticsearch/8.14.3/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/elastic-elasticsearch/8.14.3/scripts/upgrade.sh b/apps/elastic-elasticsearch/8.14.3/scripts/upgrade.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/apps/elastic-elasticsearch/8.14.3/scripts/upgrade.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/elastic-elasticsearch/README.md b/apps/elastic-elasticsearch/README.md new file mode 100644 index 000000000..dd899e657 --- /dev/null +++ b/apps/elastic-elasticsearch/README.md @@ -0,0 +1,33 @@ +# Elasticsearch + +搜索并分析您的数据 + +![Elasticsearch](https://file.lifebus.top/imgs/elasticsearch_logo.svg) + +Elasticsearch 是 Elastic Stack 核心的分布式搜索和分析引擎。 Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 +Elasticsearch 中。 +Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。 Elasticsearch 是索引、搜索和分析魔法发生的地方。 + +## 安装说明 + +### 单节点安装 + ++ `节点名称` 配置 + +用于标识集群中的节点。默认情况下,节点名称是随机生成的 UUID。 + ++ `Elasticsearch 密码 (elastic)` 配置 + +单节点启动必填 + +用于保护内置用户 `elastic` 的密码。默认情况下,密码是随机生成的。 + ++ `Kibana 密码 (kibana_system)` 配置 + +单节点启动必填 + +用于保护内置用户 `kibana_system` 的密码。默认情况下,密码是随机生成的。 + ++ `注册令牌 (节点)` 配置 + +单节点启动可忽略, 如果是作为 `集群` 中的节点启动,此项 `必须` 填写,可忽略密码配置。 diff --git a/apps/elastic-elasticsearch/data.yml b/apps/elastic-elasticsearch/data.yml new file mode 100644 index 000000000..44d12c2e5 --- /dev/null +++ b/apps/elastic-elasticsearch/data.yml @@ -0,0 +1,19 @@ +name: Kibana +title: 可视化Elasticsearch数据并导航Elastic堆栈 +description: 可视化Elasticsearch数据并导航Elastic堆栈 +additionalProperties: + key: kibana + name: Kibana + tags: + - WebSite + - Middleware + - Tool + - Local + shortDescZh: 可视化Elasticsearch数据并导航Elastic堆栈 + shortDescEn: Visualize Elasticsearch data and navigate the Elastic stack + type: website + crossVersionUpdate: true + limit: 0 + website: https://www.elastic.co/ + github: https://github.com/elastic/kibana/ + document: https://www.elastic.co/docs/ diff --git a/apps/elastic-elasticsearch/logo.png b/apps/elastic-elasticsearch/logo.png new file mode 100644 index 000000000..116cb930f Binary files /dev/null and b/apps/elastic-elasticsearch/logo.png differ diff --git a/apps/elastic-kibana/8.14.3/config/kibana.yml b/apps/elastic-kibana/8.14.3/config/kibana.yml new file mode 100644 index 000000000..cd426f430 --- /dev/null +++ b/apps/elastic-kibana/8.14.3/config/kibana.yml @@ -0,0 +1,183 @@ +# For more configuration options see the configuration guide for Kibana in +# https://www.elastic.co/guide/index.html + +# =================== System: Kibana Server =================== +# Kibana is served by a back end server. This setting specifies the port to use. +server.port: 5601 + +# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values. +# The default is 'localhost', which usually means remote machines will not be able to connect. +# To allow connections from remote users, set this parameter to a non-loopback address. +server.host: "0.0.0.0" + +# Enables you to specify a path to mount Kibana at if you are running behind a proxy. +# Use the `server.rewriteBasePath` setting to tell Kibana if it should remove the basePath +# from requests it receives, and to prevent a deprecation warning at startup. +# This setting cannot end in a slash. +#server.basePath: "" + +# Specifies whether Kibana should rewrite requests that are prefixed with +# `server.basePath` or require that they are rewritten by your reverse proxy. +# Defaults to `false`. +#server.rewriteBasePath: false + +# Specifies the public URL at which Kibana is available for end users. If +# `server.basePath` is configured this URL should end with the same basePath. +#server.publicBaseUrl: "" + +# The maximum payload size in bytes for incoming server requests. +#server.maxPayload: 1048576 + +# The Kibana server's name. This is used for display purposes. +server.name: "kibana-node" + +# =================== System: Kibana Server (Optional) =================== +# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively. +# These settings enable SSL for outgoing requests from the Kibana server to the browser. +#server.ssl.enabled: false +#server.ssl.certificate: /path/to/your/server.crt +#server.ssl.key: /path/to/your/server.key + +# =================== System: Elasticsearch =================== +# The URLs of the Elasticsearch instances to use for all your queries. +#elasticsearch.hosts: ["http://localhost:9200"] + +# If your Elasticsearch is protected with basic authentication, these settings provide +# the username and password that the Kibana server uses to perform maintenance on the Kibana +# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which +# is proxied through the Kibana server. +#elasticsearch.username: "kibana_system" +#elasticsearch.password: "pass" + +# Kibana can also authenticate to Elasticsearch via "service account tokens". +# Service account tokens are Bearer style tokens that replace the traditional username/password based configuration. +# Use this token instead of a username/password. +# elasticsearch.serviceAccountToken: "my_token" + +# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of +# the elasticsearch.requestTimeout setting. +#elasticsearch.pingTimeout: 1500 + +# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value +# must be a positive integer. +#elasticsearch.requestTimeout: 30000 + +# The maximum number of sockets that can be used for communications with elasticsearch. +# Defaults to `Infinity`. +#elasticsearch.maxSockets: 1024 + +# Specifies whether Kibana should use compression for communications with elasticsearch +# Defaults to `false`. +#elasticsearch.compression: false + +# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side +# headers, set this value to [] (an empty list). +#elasticsearch.requestHeadersWhitelist: [ authorization ] + +# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten +# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration. +#elasticsearch.customHeaders: {} + +# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable. +#elasticsearch.shardTimeout: 30000 + +# =================== System: Elasticsearch (Optional) =================== +# These files are used to verify the identity of Kibana to Elasticsearch and are required when +# xpack.security.http.ssl.client_authentication in Elasticsearch is set to required. +#elasticsearch.ssl.certificate: /path/to/your/client.crt +#elasticsearch.ssl.key: /path/to/your/client.key + +# Enables you to specify a path to the PEM file for the certificate +# authority for your Elasticsearch instance. +#elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/CA.pem" ] + +# To disregard the validity of SSL certificates, change this setting's value to 'none'. +#elasticsearch.ssl.verificationMode: full + +# =================== System: Logging =================== +# Set the value of this setting to off to suppress all logging output, or to debug to log everything. Defaults to 'info' +#logging.root.level: debug + +# Enables you to specify a file where Kibana stores log output. +#logging.appenders.default: +# type: file +# fileName: /var/logs/kibana.log +# layout: +# type: json + +# Example with size based log rotation +#logging.appenders.default: +# type: rolling-file +# fileName: /var/logs/kibana.log +# policy: +# type: size-limit +# size: 256mb +# strategy: +# type: numeric +# max: 10 +# layout: +# type: json + +# Logs queries sent to Elasticsearch. +#logging.loggers: +# - name: elasticsearch.query +# level: debug + +# Logs http responses. +#logging.loggers: +# - name: http.server.response +# level: debug + +# Logs system usage information. +#logging.loggers: +# - name: metrics.ops +# level: debug + +# Enables debug logging on the browser (dev console) +#logging.browser.root: +# level: debug + +# =================== System: Other =================== +# The path where Kibana stores persistent data not saved in Elasticsearch. Defaults to data +#path.data: data + +# Specifies the path where Kibana creates the process ID file. +#pid.file: /run/kibana/kibana.pid + +# Set the interval in milliseconds to sample system and process performance +# metrics. Minimum is 100ms. Defaults to 5000ms. +#ops.interval: 5000 + +# Specifies locale to be used for all localizable strings, dates and number formats. +# Supported languages are the following: English (default) "en", Chinese "zh-CN", Japanese "ja-JP", French "fr-FR". +i18n.locale: "zh-CN" + +# =================== Frequently used (Optional)=================== + +# =================== Saved Objects: Migrations =================== +# Saved object migrations run at startup. If you run into migration-related issues, you might need to adjust these settings. + +# The number of documents migrated at a time. +# If Kibana can't start up or upgrade due to an Elasticsearch `circuit_breaking_exception`, +# use a smaller batchSize value to reduce the memory pressure. Defaults to 1000 objects per batch. +#migrations.batchSize: 1000 + +# The maximum payload size for indexing batches of upgraded saved objects. +# To avoid migrations failing due to a 413 Request Entity Too Large response from Elasticsearch. +# This value should be lower than or equal to your Elasticsearch cluster’s `http.max_content_length` +# configuration option. Default: 100mb +#migrations.maxBatchSizeBytes: 100mb + +# The number of times to retry temporary migration failures. Increase the setting +# if migrations fail frequently with a message such as `Unable to complete the [...] step after +# 15 attempts, terminating`. Defaults to 15 +#migrations.retryAttempts: 15 + +# =================== Search Autocomplete =================== +# Time in milliseconds to wait for autocomplete suggestions from Elasticsearch. +# This value must be a whole number greater than zero. Defaults to 1000ms +#unifiedSearch.autocomplete.valueSuggestions.timeout: 1000 + +# Maximum number of documents loaded by each shard to generate autocomplete suggestions. +# This value must be a whole number greater than zero. Defaults to 100_000 +#unifiedSearch.autocomplete.valueSuggestions.terminateAfter: 100000 diff --git a/apps/elastic-kibana/8.14.3/data.yml b/apps/elastic-kibana/8.14.3/data.yml new file mode 100644 index 000000000..5655021c1 --- /dev/null +++ b/apps/elastic-kibana/8.14.3/data.yml @@ -0,0 +1,45 @@ +additionalProperties: + formFields: + - default: "/home/kibana" + edit: true + envKey: BARK_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 5601 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "['http://127.0.0.1:9200']" + edit: true + envKey: ELASTICSEARCH_HOSTS + labelZh: Elasticsearch 地址 + labelEn: Elasticsearch address + required: true + type: text + - default: "" + edit: true + envKey: ELASTICSEARCH_USERNAME + labelZh: Elasticsearch 用户名 + labelEn: Elasticsearch username + required: false + type: text + - default: "" + edit: true + envKey: ELASTICSEARCH_PASSWORD + labelZh: Elasticsearch 密码 + labelEn: Elasticsearch password + required: false + type: password + - default: "" + edit: true + envKey: ELASTICSEARCH_SERVICEACCOUNTTOKEN + labelZh: Elasticsearch 服务 账户令牌 + labelEn: Elasticsearch service account token + required: false + type: password diff --git a/apps/elastic-kibana/8.14.3/docker-compose.yml b/apps/elastic-kibana/8.14.3/docker-compose.yml new file mode 100644 index 000000000..9074a9d19 --- /dev/null +++ b/apps/elastic-kibana/8.14.3/docker-compose.yml @@ -0,0 +1,32 @@ +version: "3.8" + +networks: + 1panel-network: + external: true + +services: + kibana: + image: kibana:8.14.3 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:5601 + env_file: + - /etc/1panel/envs/global.env + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ./config/kibana.yml:/usr/share/kibana/config/kibana.yml + - ${BARK_ROOT_PATH}/config:/usr/share/kibana/config + - ${BARK_ROOT_PATH}/data:/usr/share/kibana/data + environment: + - SERVER_PORT=5601 + - SERVER_NAME="kibana-node" + - SERVER_HOST="0.0.0.0" + - I18N_LOCALE="zh-CN" + - SERVER_REWRITEBASEPATH=false + - SERVER_BASEPATH="" + - SERVER_PUBLICBASEURL="" diff --git a/apps/elastic-kibana/8.14.3/scripts/init.sh b/apps/elastic-kibana/8.14.3/scripts/init.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/apps/elastic-kibana/8.14.3/scripts/init.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/elastic-kibana/8.14.3/scripts/uninstall.sh b/apps/elastic-kibana/8.14.3/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/elastic-kibana/8.14.3/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/elastic-kibana/8.14.3/scripts/upgrade.sh b/apps/elastic-kibana/8.14.3/scripts/upgrade.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/apps/elastic-kibana/8.14.3/scripts/upgrade.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/elastic-kibana/README.md b/apps/elastic-kibana/README.md new file mode 100644 index 000000000..dd47a378b --- /dev/null +++ b/apps/elastic-kibana/README.md @@ -0,0 +1,46 @@ +# Kibana + +Kibana 是一个用户界面,可让您可视化 Elasticsearch 数据并导航 Elastic Stack。通过本教程了解可视化数据的基础知识。 + +![Kibana](https://file.lifebus.top/imgs/kibana_cover.png) + +Kibana 适合管理员、分析师和业务用户。作为管理员,您的角色是管理 Elastic Stack,从创建部署到将 Elasticsearch 数据导入 +Kibana,然后管理数据。 +作为分析师,您希望发现数据中的见解、在仪表板上可视化您的数据并分享您的发现。作为业务用户,您希望查看现有仪表板并深入了解详细信息。 + +Kibana 适用于所有类型的数据。您的数据可以是结构化或非结构化文本、数字数据、时间序列数据、地理空间数据、日志、指标、安全事件等。无论您的数据是什么,Kibana +都可以帮助您发现模式和关系并可视化结果。 + +## 特性 + ++ 搜索、观察和保护您的数据 + +从发现文档到分析日志再到查找安全漏洞,Kibana 是您访问这些功能及其他功能的门户。 + ++ 分析您的数据 + +搜索隐藏的见解,可视化您在图表、仪表、地图、图形等中发现的内容,并将它们组合在仪表板中。 + ++ 管理、监控和保护 Elastic Stack + +管理您的数据、监控 Elastic Stack 集群的运行状况并控制哪些用户可以访问哪些功能。 + +## 安装说明 + +> 登录账户信息,请从 `Elasticsearch` 日志中获取账户信息 +> +> 注册令牌,请从 `Elasticsearch` 日志中获取注册令牌信息 +> +> 首次登录地址,请查看日志获取登录地址信息 +> +> http://127.0.0.1:5601?code=xxxxxx + +### 登录方式 + ++ `用户名 + 密码` + +通过 `elastic` 或 `kibana_system` 用户 + `密码` 登录 + ++ `Elasticsearch 服务 账户令牌` + +通过 `Elasticsearch` 服务账户令牌登录,需要在 `Elasticsearch` 服务中获取 diff --git a/apps/elastic-kibana/data.yml b/apps/elastic-kibana/data.yml new file mode 100644 index 000000000..44d12c2e5 --- /dev/null +++ b/apps/elastic-kibana/data.yml @@ -0,0 +1,19 @@ +name: Kibana +title: 可视化Elasticsearch数据并导航Elastic堆栈 +description: 可视化Elasticsearch数据并导航Elastic堆栈 +additionalProperties: + key: kibana + name: Kibana + tags: + - WebSite + - Middleware + - Tool + - Local + shortDescZh: 可视化Elasticsearch数据并导航Elastic堆栈 + shortDescEn: Visualize Elasticsearch data and navigate the Elastic stack + type: website + crossVersionUpdate: true + limit: 0 + website: https://www.elastic.co/ + github: https://github.com/elastic/kibana/ + document: https://www.elastic.co/docs/ diff --git a/apps/elastic-kibana/logo.png b/apps/elastic-kibana/logo.png new file mode 100644 index 000000000..116cb930f Binary files /dev/null and b/apps/elastic-kibana/logo.png differ