一文秒懂!腾讯云ES HTTPS 集群访问通信最佳实践

腾讯COS存储桶直传后端服务类 using Newtonsoft.Json.Linq; using System; using System.Globalization; using System.Security.Cryptography; using System.Text; namespace SDK.TencentCos { public static class CosUtilHelper { /// <summary> /// 生成要上传的 COS 文件路径文件名. 阅读详情

c80d899d75c53b2c414925255a4ee6ad.gif

作者:吴容,腾讯云Elasticsearch高级开发工程师

Elasticsearch提供了多种数据访问安全的方式,如用户名密码校验、api_key等。但是依然无法保障数据传输过程中的安全性问题。而HTTPS协议,则是一种以安全为目的的HTTP通道,在HTTP的基础上通过传输加密和身份认证等机制来保障数据传输过程中的安全性。

本文将基于腾讯云ES集群环境,演示Beats、Logstash、Kibana和Java Client等客户端访问连接开启了HTTPS协议的ES集群。

一、HTTPS集群环境准备

1、创建HTTPS协议集群

首先我们在腾讯云ES控制台创建出一个HTTPS集群,在购买页这里勾选上HTTPS协议。目前该特性目前是通过白名单支持,可提工单申请开放。

b64da6d7f82538dfc4ae9f6948ccead8.png

图1. 腾讯云ES购买页选择创建HTTPS协议的ES集群

其中,ES集群是通过在elasticsearch.yml配置文件中设置如下参数来开启HTTPS协议的:

xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: certs/ces-certificates.p12
xpack.security.http.ssl.truststore.path: certs/ces-certificates.p12

2、获取pem证书文件

集群创建成功后,提工单让腾讯云ES研发提供访问HTTPS集群所需要的鉴权证书文件。此时腾讯云ES侧会提供如下两个证书文件:

文件名称用途
client-certificates.pem用于Beats Logstash、Java Client连接ES集群
server-certificates.pem用于KIbana连接ES集群

下面将详细介绍Beats、Logstash、Kibana和Java等客户端连接HTTPS集群的配置方式。

二、Beats输出到HTTPS集群

1、CVM Metriceat输出到ES

我们首先在腾讯云CVM控制台创建一个和ES集群同VPC下的CVM,创建好后,将得到的pem鉴权文件上传到该CVM上,这里的存放路径为:/usr/local/service/https-certs。随后到腾讯云ES控制台的Beats管理页,创建一个Metricbeat:

3fe21b54103b8116d0fd85ea4b8d0812.png

图2. 创建Metricbeat

其中,最核心的步骤是在metricbeat.yml配置文件中进行如下配置。

output.elasticsearch:
  hosts: ["https://ES-VIP:9200"]
  username: "elastic"
  password: "changeme"
  ssl.certificate_authorities: ["/usr/local/service/https-certs/client-certificates.pem"]
  ssl.verification_mode: certificate

配置信息说明:

配置项说明
hostsES集群的VIP,如https://10.0.X.29:9200,以https开头
username/passwordES集群的用户名密码
ssl.certificate_authorities连接HTTPS集群所需的pem鉴权证书文件路径
ssl.verification_mode服务器证书认证模式,有四种模式,分别是full,strict,certificate和none。我们这里以certificate模式进行认证,即只认证CA证书,不认证主机名信息。详情可参考官方文档。

配置完成后,即可在ES集群中看到自动创建了一个metricbeat-7.14.20-*开头的索引,到此CVM中Metricbeat连接HTTPS的ES集群配置完成。

c0da0f3ba517d69e9d6b1fe6da209971.png

图3. ES集群中自动创建了metricbeat相关的索引

2、TKE Filebeat日志采集器输出到ES

TKE Filebeat日志采集器输出到HTTPS的ES集群流程和CVM的metricBeat输出一样,首先我们将pem文件上传到创建TKE集群时自动创建的Worker所在的CVM节点上,如/var/log/https-certs目录下。

d95ae6be9d2109678168186eee57e66c.png

图4. 创建TKE集群

client-certificates.pem文件存放位置:

c72e7abd8fbd15907b4a8b167dbcc5ef.png

图5. 拷贝pem文件到Worker节点

随后我们在腾讯云ES控制新建Fliebeat采集器,这里选择TKE日志采集:

bfd497f4c3007b8aa7ac5d35aab03f3c.png

图6. 创建Filebeat TKE日志采集器

下面进行Filebeat采集器的基本信息配置,如版本号选择,采集器输出ES集群选择,如图7、8所示:

4da4759613478bc1902ef3300286b7c5.png

图7. 配置Filbeat采集器的输出端集群

b25a7856fcc217b4d1b977a842de336d.png

图8. 配置Filebeat采集TKE容器日志集群

创建好Filebeat TKE容器日志采集器后,随后我们在TKE集群的详情页,找到配置管理中的ConfigMap,然后找到对应beats的config文件:

d0e721fa15c573ac77d81f9ef58ec924.png

图9. TKE配置管理页

点击“编辑yaml”后对output.elasticsearch配置项进行修改,如下图10所示:

6c58bd2da5ec69e21811294531c64dde.png

图10. 编辑output.elasticsearch配置信息

具体配置信息如下:

output.elasticsearch:
    hosts: ['https://ES-VIP:9200']
    username: "elastic"
    ssl.certificate_authorities: ["/var/log/https-certs/client-certificates.pem"]
    ssl.verification_mode: "certificate"
    password: "changeme"
    indices:
      - index: "filebeat-tke-%{+yyyy.MM.dd}"
        when.equals:
          tke_collector_target_name: "logs_to_https_es"

然后在TKE集群中的工作负载中,找到DaemonSet,然后再到对应beats的DaemonSet,点击进去,对它的pod进行销毁重建。

d4d0608c64f341e3c2c655bd20b61303.png

图11. TKE DaemonSet管理页

进入到Pod管理页,选择对应的Pod销毁重建。

68f9ec4743ab5584e6c3e8bbd83d1b60.png

图12. 选择对应Pod销毁重建

销毁重建后,Pod的运行状态变成Running,如图13所示。 

注:如果多次对pod进行销毁重建,仍是红色Running,有可能是beats的yml配置出现问题,可以在日志里面查看具体问题,或者重新检查一下yml配置是否错误。

1c12f9504e113a2ae1265fdee17b2886.png

图13. 销毁重建后的Pod正常运行

随后我们到ES集群中,可以看到自动创建了以filebeat-tke-*开头的索引。表明TKE日志顺利输出到HTTPS集群中了。

0393a1650cff3b94e4a03c8507f47923.png

图14. ES集群中自动创建TKE日志采集器相关索引

三、Logstash输出到HTTPS集群

腾讯云Logstash是一款全托管的产品,因此我们首先需要在腾讯云Logstash控制台将pem文件以扩展文件方式进行上传,如下图15所示。 

5539b0be665426debe7dcce5c31442a3.png

图15. 腾讯云Logstash控制台上传pem文件

随后我们新建一个管道,在管道的Config配置编辑框里配置上ES的连接信息和证书路径。

e06a095fb537133dd6bbfa65469d333c.png

图16. 配置Logstash的管道Config

管道详细配置文本信息如下:

output {
  elasticsearch {
      hosts => ["https://ES-VIP:9200"]
      user => "elastic"
      password => "changeme"
      ssl => true
      cacert => "/usr/local/service/logstash/extended-files/client-certificates.pem"
      ssl_certificate_verification => false
  }
}

‍

其中cacert即可我们上一步上传的扩展文件pem的路径,固定路径为:/usr/local/service/logstash/extended-files/client-certificates.pem。点击保存并部署管道后,就会在管道列表里可以看到我们刚刚新建出来的管道信息了,此时状态为运行中。

cdff21f21a93f4c6875e113cd7b83211.png

图17. Logstash管道列表页

这时候我们再到HTTPS集群中就可以看到有数据从input的集群中写入进来了。

四、Kibana连接HTTPS集群

腾讯云ES集群默认自带Kibana访问能力,因此一般情况下,客户是不需要对Kibana进行任何配置的。这里介绍自建Kibana连接HTTPS集群的配置方式。和Beats、Logstash等使用的客户端鉴权证书不一样,Kibana使用的是server-certificates.pem,腾讯云ES侧生成证书命令如下:

openssl pkcs12 -in ces-certificates.p12 -password pass:xxxxxx -nokeys -cacerts -out server-certificates.pem

由于前面我们已经拿到了pem证书文件。因此,我们将server-certificates.pem文件拷贝到Kibana所在节点的如下路径:/usr/local/service/https-certs。然后修改kibana.yml配置文件如下:

elasticsearch.hosts: ["https://ES-VIP:9200"]
elasticsearch.username: "elastic"
elasticsearch.password: "changeme"
elasticsearch.ssl.verificationMode: certificate
elasticsearch.ssl.certificateAuthorities: ["/usr/local/service/https-certs/server-certificates.pem"]
xpack.encryptedSavedObjects.encryptionKey: "dfed624ca4014135f61804440536xxxx"
xpack.fleet.registryUrl: "https://epr.elastic.co"

‍配置项说明:elasticsearch.ssl.certificateAuthorities:pem文件的存放路径。elasticsearch.ssl.verificationMode:证书鉴权模式,certificate 采用只鉴权CA证书,不鉴权主机名称的模式。xpack.fleet.registryUrl:(非必选配置)Fleet集成模块需要访问的公网仓库,这里需要Kibana节点具备公网访问能力。xpack.encryptedSavedObjects.encryptionKey:value可以通过bin/kibana-encryption-keys generate 命令获得。 

24270f8e740bb01c8c2b9b34a786f047.png

图18. 生成Kibana安全密钥

重新启动Kibana后即可正常访问HTTPS的ES集群了。

五、Java Client连接HTTPS集群

本文档演示在Spring项目中访问HTTPS集群的配置方式,首先需要添加如下maven依赖:

<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.10.1</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.10.1</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.10.1</version>
</dependency>

‍随后我们在ElasticsearchConfig自定义类中实现对Elasticsearch连接的配置。

@Configuration
public class ElasticsearchConfig {
  @Value("${es.username}")
  private String userName;
  @Value("${es.password}")
  private String password;
  @Value("${es.scheme}")
  private String scheme;
  @Value("${es.domain}")
  private String domain;
  @Value("${es.https.cert}")
  private String certFile;
  @Value("${es.port}")
  private int port;
  private RestHighLevelClient client;
  @Bean
  public RestHighLevelClient EsConnectInit() throws CertificateException, IOException, KeyStoreException, NoSuchAlgorithmException, KeyManagementException {
      final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
      credentialsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(userName,password));
      RestClientBuilder builder;
      if (scheme.equals("https")) {
          Path caCertificatePath = Paths.get(certFile);
          System.out.println(certFile);
          CertificateFactory factory = CertificateFactory.getInstance("X.509");
          Certificate trustedCa;
          try(InputStream is = Files.newInputStream(caCertificatePath)) {
              trustedCa = factory.generateCertificate(is);
          }
          KeyStore trustStore = KeyStore.getInstance("pkcs12");
          trustStore.load(null,null);
          trustStore.setCertificateEntry("ca",trustedCa);
          SSLContextBuilder sslContextBuilder = SSLContexts.custom().loadTrustMaterial(trustStore, new TrustStrategy() {
              @Override
              public boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
                  return true;
              }
          });
          final SSLContext sslContext = sslContextBuilder.build();
          final HostnameVerifier hostnameVerifier = new HostnameVerifier() {
              public boolean verify(String hostname, SSLSession session) {
                  return true;
              }
          };
          builder = RestClient.builder(new HttpHost(domain, port, scheme)).setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
              @Override
              public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder requestConfigBuilder) {
                  requestConfigBuilder.setConnectTimeout(-1);
                  requestConfigBuilder.setSocketTimeout(-1);
                  requestConfigBuilder.setConnectionRequestTimeout(-1);
                  return requestConfigBuilder;
              }
          }).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
              @Override
              public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                  httpClientBuilder.disableAuthCaching();
                  httpClientBuilder.setSSLHostnameVerifier(hostnameVerifier);
                  return httpClientBuilder.setSSLContext(sslContext)
                          .setDefaultCredentialsProvider(credentialsProvider);


              }
          });
      } else {
            builder = RestClient.builder(new HttpHost(domain, port, scheme))
                  .setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
                      @Override
                      public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder requestConfigBuilder) {
                      requestConfigBuilder.setConnectTimeout(-1);
                          requestConfigBuilder.setSocketTimeout(-1);
                          requestConfigBuilder.setConnectionRequestTimeout(-1);
                          return requestConfigBuilder;
                      }
                  }).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
                      @Override
                      public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {                           httpClientBuilder.disableAuthCaching();
                          return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                      }
                  });
      }
      client = new RestHighLevelClient(builder);
      return client;
  }
}

‍其中Elasticsearch的配置信息如下:

es.scheme=https
es.port=9200
es.domain=9.10.1.X  #es vip
es.username=elastic
es.password=changeme
es.https.cert=/usr/local/services/certs/client-certificates.pem

‍通过如上配置后,即可在Spring项目中成功连接上开启了HTTPS协议的ES集群了。

K8S集群部署之腾讯云 K8s集群部署准备 服务器环境准备 节点 主机名称 IP地址 Master,etcd k8s-master 10.206.0.10 node1 k8s-node-1 10.206.0.44 node2 k8s-node-2 10.206.0.39 设置主机名称 #master主机 hostnamectl set-hostname k8s-master #node1主机 hostnamectl set-hostname k8s-node-1 #node2主机 hostnamectl 阅读详情

相关推荐

HTTPS部署全攻略:从Let‘s Encrypt申请到Nginx、Docker实战优化

HTTPS(超文本传输安全协议)是构建安全网络通信的基石,其核心原理是通过SSL/TLS协议在HTTP之上建立加密层,实现数据传输的机密性、完整性和服务器身份认证。这项技术对于保护用户隐私、防止中间人攻击至关重要,已成为现代Web应用的标配。从技术价值看,HTTPS不仅是安全屏障,更是搜索引擎排名的重要信号和用户信任的直观体现,直接影响网站流量与转化率。其应用场景广泛,涵盖从个人博客到大型电商平台的所有Web服务。本文将聚焦于**Let's Encrypt免费证书**的自动化部署,详细解析在**Nginx服

weixin_33768481的博客 408

Elasticsearch开启HTTPS访问

ES+Kibana+https

war3c009的博客 2246

uniGUI独立EXE与ISAPI模式下HTTPS配置全攻略(含HyperServer设置)

本文详细介绍了uniGUI应用在独立EXE、ISAPI及HyperServer三种主流部署模式下配置HTTPS的完整实战指南。内容涵盖SSL证书准备、核心代码配置、IIS集成、HyperServer高级设置以及生产环境优化,旨在帮助开发者实现安全、高效的企业级应用部署。

weixin_29255731的博客 630

ElasticSearch7.14配置SSL,使用https访问

ElasticSearch7.14配置SSL,使用https访问 1、生成证书 备注:一定要在es用户中生成证书。 #1.生成elastic-stack-ca.p12文件 $./bin/elasticsearch-certutil ca #2.生成elastic-certificates.p12文件,供elasticsearch使用 $./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 #3.生成newfile.crt.pe

fen_fen的专栏 1万+

未授权访问漏洞深度解析:从Redis到Nacos的30+实战案例与防御

未授权访问漏洞是网络安全领域一种常见且危害巨大的安全缺陷,其本质在于系统或组件在身份认证与授权校验环节存在缺陷,导致攻击者无需有效凭证即可访问受保护资源或执行敏感操作。从技术原理上看,这类漏洞通常源于配置错误、默认设置不安全、权限验证逻辑缺失或可被绕过。其技术价值在于,它绕过了复杂的认证机制,为攻击者提供了直接的入口点,常被用作网络渗透的突破口。在应用场景上,未授权访问广泛存在于各类基础设施、中间件、Web应用框架及云服务中,例如Redis、MongoDB、Docker API、Spring Boot Ac

weixin_34239169的博客 406

Flowable前端可视化配置动态审批人:告别硬编码,实现部门领导、项目经理自动分配

本文详细介绍了Flowable前端可视化配置动态审批人的全栈解决方案,通过表达式分配、监听器分配等动态审批人机制,实现从硬编码到智能分配的转变。文章提供了前端扩展bpmn-js设计器、后端动态解析实现方案及性能优化建议,帮助企业应对组织架构变动,提升审批流程的灵活性和效率。

weixin_30352645的博客 473

es的http以及https连接方式

package com.hihonor.appsearch.config; import com.hihonor.appsearch.util.AesGcm128Util; import com.hihonor.appsearch.util.CleanPathUtil; import com.hihonor.appsearch.utils.Constants; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; im

qq_33409840的博客 1万+

QST QMC5883L —— 经典磁传感器的生存指南与替代预案

本文聚焦于QST旗下经典三轴磁力计 QMC5883L,解析其技术渊源、核心特性及当前面临的停产风险。结合真实应用场景提供续命方案与选型建议,为依赖该芯片的开发团队争取过渡时间窗口期。文章包含实测数据对比、生命周期管理策略及潜在替代方案拆解。存续价值判断✔️ 现有产品设计无需大幅改动即可延续生命;❌ 新项目采用将面临更高的维护成本;⚠️ 建议在6个月内完成技术路线切换。#磁传感器 #嵌入式开发 #供应链管理 #QST #QMC5883L。

2501_93066786的博客 998

60 亿+ 条 Elasticsearch 数据泄漏事件引起的反思 >>

如果发现有大量来自不该出现的 IP 的请求,或者有不正常的索引操作(比如删除、大规模导出),立马拉响警报。它会记录所有对集群的请求,包括谁、在什么时候、干了什么操作。如果你还在用 HTTP 访问 ES 或 Kibana,就是在裸传数据和密码。以下是针对 ES 用户,无论版本新旧,你必须立即检查和执行的几个技术动作。如果你还在用 5.X、6.X 这种老掉牙的版本,你面对的安全风险是。安全功能默认是开的,这是好事。光配置好还不够,你得知道谁在动你的数据。),裸奔在公网上了,谁都能匿名访问。

铭毅天下Elasticsearch 1560

机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾

f作者: 寒小阳 &&龙心尘 时间:2015年10月。 出处: 声明:版权所有,转载请注明出处,谢谢。手把手机器学习之逻辑回归应用——Kaggle泰坦尼克之灾1.引言先说一句,年末双十一什么的一来,真是非(mang)常(cheng)欢(gou)乐(le)!然后push自己抽出时间来写这篇blog的原因也非常简单: 写完前两篇逻辑回归的介绍和各个角度理解之后,小伙伴们纷纷表示『好像很高级的样纸,

寒小阳 43万+

华为灵衢UB总线介绍

华为发布"灵衢"(UB)超节点互联协议,旨在构建支持AI大模型计算的基础设施。该协议采用统一内存语义和对等架构,使设备可直接访问远程内存,实现资源池化。技术突破包括2.1微秒超低时延和TB级带宽,支持64节点、52万张昇腾卡的集群互联。相比传统RDMA,"灵衢"更注重系统级资源调度,而非单纯数据传输。华为开放技术规范,推动生态建设,已有厂商开发兼容IP核。"灵衢"可适应x86、RISC-V等架构,未来将扩展至百万卡规模集群。

技术引领业务创新 4425

腾讯云TKE 1.24 标准集群部署实战:3步完成KubeSphere 3.3 可视化安装

本文详细介绍了在腾讯云TKE 1.24标准集群上快速部署KubeSphere 3.3可视化控制台的实战指南。通过三个关键步骤,包括环境准备、核心组件安装和平台验收,大幅提升部署效率,节省80%以上的时间成本,特别适合企业级Kubernetes管理需求。

weixin_30788619的博客 383

STM32H750实战:如何用CubeMX配置NAND Flash时序(附常见问题排查)

本文详细解析了STM32H750通过CubeMX配置NAND Flash时序的实战技巧,包括硬件连接、时序参数计算与优化策略,以及常见问题如RGB屏幕干扰、多片选冲突的解决方案。特别针对NAND Flash的时序配置和抗干扰设计提供了实用代码示例和优化建议,帮助开发者提升系统稳定性和性能。

weixin_29176179的博客 363

云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南

1、昨晚上更新云服务器部署8.0视频Part1:https://t.zsxq.com/UJ6AY7yPart2:https://t.zsxq.com/YzVrZJq2、Elasticsearch 8.0 云服务部署和之前方式到底有什么不同?默认的不修改任何配置的官方推荐的部署方式,很快!基本上 0 配置修改动动鼠标即可完成部署。参考如下文章:Windows 部署 Elas...

铭毅天下Elasticsearch 9352

Open Interpreter利用Code Interpreter实现本地化

作为一个可以在本地环境中运行的工具,Open Interpreter可以访问互联网,没有文件大小和运行时间的限制,并且可以利用任何包或库。去年7月,OpenAI发布了一个强大的插件,名为Code Interpreter(代码解释器),它可以根据用户的自然语言需求生成并执行代码解决方案,帮助完成各种任务,如数据分析、图表创建和文件编辑等。Open Interpreter不仅是一个编码解释器,它还是一个强大的工具,专注于处理复杂任务,将GPT-4代码解释器的强大功能与本地开发环境的灵活性完美结合在一起。

DigitalChina_DCG的博客 1794

解决RabbitMq登录时报出Not management user(Login failed)错误以及rabbitmqctl(RabbitMq)新增用户和用户角色权限

解决RabbitMq登录时报出Not management user(Login failed)错误以及rabbitmqctl(RabbitMq)查看用户权限、新增用户和用户角色权限。

念兮为美 7479

基于腾讯云Lighthouse的OpenClaw多实例分布式集群部署实战

在AI应用开发中,容器化与分布式部署是提升系统可扩展性和稳定性的关键技术。容器化技术通过Docker实现环境隔离与快速部署,确保应用在不同环境中的一致性。分布式架构则通过将应用拆分为多个独立服务实例,结合负载均衡和服务发现,有效解决了单点故障和资源瓶颈问题。其技术价值在于能够实现业务隔离、水平扩容和高可用性,从而支撑高并发和复杂计算场景。在实际应用中,这种架构尤其适合需要同时处理多任务、多租户的AI智能体框架,例如客服对话、数据分析和内容生成等场景。本文以OpenClaw智能体框架为例,详细阐述了如何利用腾

weixin_30412167的博客 365

[STM32F103C8T6]W5500+Modbus TCP(HAL库)

本章节是博主学习Modbus TCP所写的一篇文章Modbus TCP是Modbus的一个分支,主要用到网口通信的,在工业上也用的很频繁,我们公司最近的项目就是用的W5500+modbus TCP来和PC端的上位机通信和交互的。虽然这个项目不是我在写代码,但是我都学了Modbus RTU了,那我也抽空学习一下Modbus TCP吧。本次的Modbus TCP不是博主写的,是一个大佬开源的一个W5500写的一个Mobus TCP代码,我在这个基础上自己写了主机读从机多个数据,和主机写从机寄存器的函数。

sinat_58149788的博客 4086

Kibana 7.x 对外访问配置:从 server.host 到生产级安全部署

数据可视化是现代数据分析和运维监控的核心技术,它通过将复杂数据转化为直观图表,帮助团队洞察趋势、定位问题。其原理在于将后端数据源(如Elasticsearch)的查询结果,通过前端渲染引擎动态展示。这项技术的价值在于打破数据孤岛,实现数据驱动决策,广泛应用于业务监控、日志分析和性能观测等场景。要让数据价值最大化,关键一步是让可视化平台安全、稳定地对团队开放访问。本文聚焦于Kibana这一主流数据可视化工具,深入解析其核心配置文件 `kibana.yml` 中 `server.host` 等关键参数的配置陷阱

weixin_30596735的博客 338

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Elastic:开发者上手指南

你们好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。 我们可以按照如下的步骤来学习: 1)Elasticsearch简介:对Elasticsearch做了一个简单的介绍 2)Elasticsearch中的一些重要概念:cluster,n..........................................................

Elastic 中国社区官方博客 17万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

AI Agent框架Hermes Agent在腾讯云的一键部署与生产实践指南

AI Agent(智能体)作为构建自主执行任务的人工智能系统的核心技术,其核心原理在于利用大型语言模型(LLM)进行任务理解、规划与决策,并通过调用外部工具(如搜索引擎、数据库、API)来扩展能力边界。这项技术的价值在于将大模型的通用认知能力与具体领域的操作技能相结合,从而在智能客服、自动化流程、数据分析等应用场景中实现真正的“智能执行”。在实际工程化过程中,如何高效、稳定地部署和运维一个包含Agent核心、工具服务器、记忆模块等微服务组件的复杂系统,成为开发者面临的主要挑战。本文以热门的开源框架Herme

weixin_34208283的博客 366

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

基于YOLOv8与腾讯云的工业缺陷检测系统实战

目标检测是计算机视觉的核心技术之一,通过深度学习算法实现物体定位与分类。YOLOv8作为当前最先进的实时检测框架,在保持高精度的同时显著提升了推理速度。在工业质检场景中,结合腾讯云OpenClaw平台可快速构建端到端的智能检测系统。该系统能自动识别产品表面缺陷(如划痕、凹坑等),实现7×24小时无人值守检测,并通过飞书机器人实时告警。关键技术涉及模型轻量化部署、多源数据集成和自动化运维监控,为制造业数字化转型提供可靠的技术支撑。

331

Elasticsearch容器化部署实战:从Docker环境搭建到生产就绪

Elasticsearch作为主流分布式搜索与分析引擎,其稳定运行高度依赖一致、可复现且隔离的运行环境。传统手动安装易引发版本错配、JVM参数失当、安全配置缺失等故障;而容器化通过声明式配置重构了ES的内存契约、文件描述符契约与网络发现契约,显著提升环境一致性与运维可控性。结合Docker Compose实现开发、测试、预发多场景快速交付,辅以宿主机内核调优、健康检查、HTTPS加密及Prometheus监控等生产增强能力,可系统性规避OOM Killer杀进程、分片分配失败、证书信任链断裂等高频问题。本文

weixin_33404102的博客 173

【信创-k8s】腾讯云:TencentOS 离线部署k8s1.33.6+KubeSphere

是经过安可测试的,在国家信创目录中。本文演示以刚装完系统离线环境下,all in one部署若有其他需要可添加我微信好友sd_zdhr。

qq_33174891的博客 1067

Ubuntu系统部署Elastic Stack完整指南:从环境配置到安全加固

Elasticsearch作为基于Lucene的分布式搜索与分析引擎,其核心原理是通过倒排索引实现近实时数据检索与聚合分析。这一技术为日志处理、指标监控等场景提供了强大的数据探索能力,成为现代大数据基础设施的关键组件。在工程实践中,选择Ubuntu这类Linux发行版进行部署,能够获得更稳定的系统环境与更优的性能表现。通过APT包管理器安装Elasticsearch与Kibana,配合系统级虚拟内存与文件描述符调优,可构建高效的数据处理平台。本文聚焦于Ubuntu环境下的Elastic Stack部署全流程

weixin_34009794的博客 439
上一篇: 打造次世代分析型数据库(一):CDW PG全面升级
下一篇: QCon大会实录:PB级数据秒级分析-腾讯云原生湖仓DLC架构揭秘
腾讯云大数据
博客等级 码龄6年 348粉丝 218原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值