文章目录

Elasticsearch_8.11.4_kibana_8.11.4_metricbeat_8.11.4安装及本地部署_ELK日志部署分布式引擎Elasticsearch_8.11.4安装及本地部署系统环境要求1 Windows 安装 Elasticsearch下载完成后进行解压,进入 bin 目录,找到`elasticsearch.bat`脚本文件执行一键启动.启动都选允许访问网络启动后,特别注意一下 cmd 窗口的一个用户名和一个密码信息,访问登录需要这个用户名密码看到启动的端口访问时候报错,版本8以上,默认SSL证书是开启,我尝试证书关闭是没有成功,下面是生成证书第一步:生成证书,我们在ES的bin目录路径下,执行自动在目录生成文件

第二步:对生成的证书进行验证,在ES的bin目录路径下,执行指令keystore和truststore设置密码生成文件在根目录下

1.1 config参数解释和详细配置可参考文件路径window环境下路径问题:默认是从D盘开始的,一定要设定在有效的elasticSearch文件安装的目录下的config文件夹下,才会识别成功,这个很重要elasticsearch.yml配置文件释义设置文件路径的,只配置这两个:jvm文件修改:config配置文件夹中修改jvm.options 配置,设置jvm启动内存的大小

启动进行访问,这个界面就是启动成功

1.2 其他服务指令,查找服务2 kibana 安装下载后解压后的目录结构配置文件中主要配置访问超时的时间改成汉化设置好后,进入bin目录双击`kibana.bat`运行下面常用几个配置:kibana中配置ES中配置的kibana账号密码即可连接ES认证默认端口是5601,`127.0.0.1:5601`进行访问,我这边都是默认进入页面这两个点击任何一个都一样,我选择的是`Explore on my own`滚动屏幕,选择监控点击默认选项提示安装Download Metricbeat

3 Metricbeat安装及部署执行报错修改执行策略:允许本地脚本和远程签名脚本 RemoteSigned配置文件说明: `metricbeat.yml`配置文件主要修改如下,其他默认:启动指令`start metricbeat `重新打开页面,发现页面有了变化

4 ELK日志分析

Elasticsearch_8.11.4_kibana_8.11.4_metricbeat_8.11.4安装及本地部署_ELK日志部署

分布式引擎Elasticsearch_8.11.4安装及本地部署

Elasticsearch是一个基于 Lucene 库的分布式搜索和分析引擎,它提供了一个分布式、多租户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档,同时也是是一个非常强大的工具,可以用于各种用途,例如日志分析、搜索引擎、安全分析等等。

远程连接的好处在于可以让用户从远程位置访问 Elasticsearch集群,这样可以方便地进行数据查询和管理。具体好处如下:

1 方便远程协作:远程连接可以让多个用户从不同的地方同时访问 Elasticsearch 集群,方便团队协作和数据共享。 2 提高数据安全性:远程连接可以让用户在本地进行数据查询和管理,避免了在服务器上直接操作数据的风险,提高了数据的安全性。 3 方便数据备份:远程连接可以让用户方便地将数据备份到本地,避免了数据丢失的风险。 4 提高数据处理效率:远程连接可以让用户在本地进行数据处理和分析,避免了数据传输的时间和带宽限制,提高了数据处理效率。

下面介绍在 Windows 安装 Elasticsearch 并结合 Cpolar 实现远程连接和访问!

系统环境要求

安装前–》需要JDK 1.8的环境

1 Windows 安装 Elasticsearch

相关b站视频学习:https://www.bilibili.com/video/BV1o4411j7cX?p=2&vd_source=07fe8b0af86975fbc5f3de79fd3d6186

中文官网https://www.elastic.co/cn/

进入官方下载界面: https://www.elastic.co/downloads/elasticsearch,选择windows版本下载,Elasticsearch 运行需要 java 环境,如果没有安装环境,需要提前安装 JDK.

下载完成后进行解压,进入 bin 目录,找到elasticsearch.bat脚本文件执行一键启动.

启动都选允许访问网络

启动后,特别注意一下 cmd 窗口的一个用户名和一个密码信息,访问登录需要这个用户名密码

用户:elastic 密码:Dd1ScBihh_*-W2vYTLci

看到启动的端口

访问时候报错,版本8以上,默认SSL证书是开启,我尝试证书关闭是没有成功,下面是生成证书

Elasticsearch 启动后访问报错:[2024-01-12T21:02:18,560][WARN ][o.e.t.TcpTransport ] [20230605-170021] exception caught on transport layer [Netty4TcpChannel{localAddress=/127.0.0.1:9300, remoteAddress=/127.0.0.1:10465, profile=default}], closing connectionio.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: Empty client certificate chain

at io.netty.codec@4.1.94.Final/io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:499)

at io.netty.codec@4.1.94.Final/io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)

at io.netty.transport@4.1.94.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)

at io.netty.transport@4.1.94.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)

at io.netty.transport@4.1.94.Final/io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)

第一步:生成证书,我们在ES的bin目录路径下,执行

bin/elasticsearch-certutil ca

生成ca证书,在期间,会提示我们输入生成文件名(可直接回车跳过),提示我们输入证书密码(可直接回车跳过,也可以设置一个密码,密码尽量统一);这样,我们就可以得到一个以.p12结尾的ca证书,其文件名默认为elastic-stack-ca.p12

自动在目录生成文件

第二步:对生成的证书进行验证,在ES的bin目录路径下,执行指令

bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 #依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同)

bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password #输入密码:第一步中设置的密码,例如本样例中的123456

bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password #输入密码:第一步中设置的密码,例如本样例中的12345

keystore和truststore设置密码

生成文件在根目录下

1.1 config参数解释和详细配置可参考

文件路径window环境下路径问题:默认是从D盘开始的,一定要设定在有效的elasticSearch文件安装的目录下的config文件夹下,才会识别成功,这个很重要

elasticsearch.yml配置文件释义

#集群名字,目前是单节点

cluster.name: “test”

#节点名

node.name: “es_test”

#配置可进行数据交互的ip

network.host: 0.0.0.0

#允许http跨域访问,es_head插件必须开启

http.cors.enabled: true

http.cors.allow-origin: “*”

#数据存储路径

path.data: /usr/share/elasticsearch/dat

#启动的端口

http.port: 9200

#日志存储路径

path.logs: /usr/share/elasticsearch/logs

#不锁定jvm内存

bootstrap.memory_lock: false

#备份库

path.repo: [“/usr/share/elasticsearch/data/backup”]

#主节点

cluster.initial_master_nodes: [“es_test”]

#es_head连接时读取用户名密码

http.cors.allow-headers:

Authorization,X-Requested-With,Content-Length,Content-Type

# 集群

discovery.seed_hosts: ["host1", "host2"]

# 有哪些节点可以成为主节点

cluster.initial_master_nodes: ["node-1", "node-2"]

#开启密码认证

xpack.security.enabled: true

xpack.license.self_generated.type: basic

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path:【es的安装路径】/config/XXX/elastic-certificates.p12

Linux:----------> /usr/share/elasticsearch/config/certs/elastic-certificates.p12

xpack.security.transport.ssl.truststore.path:【es的安装路径】/config/XXX/elastic-certificates.p12

Linux:----------> /usr/share/elasticsearch/config/certs/elastic-certificates.p12

设置文件路径的,只配置这两个:

xpack.security.transport.ssl.keystore.path:

xpack.security.transport.ssl.truststore.path

# Enable security features

xpack.security.enabled: true

xpack.security.enrollment.enabled: true

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents

xpack.security.http.ssl:

enabled: true

keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes

xpack.security.transport.ssl:

enabled: true

verification_mode: certificate

keystore.path: elastic-certificates.p12

truststore.path: elastic-certificates.p12

jvm文件修改:

config配置文件夹中修改jvm.options 配置,设置jvm启动内存的大小

-Xms512m

-Xmx512m

启动

./bin/elasticsearch -d #逐个启动节点

进行访问,这个界面就是启动成功

1.2 其他服务指令,查找服务

tasklist | find "java.exe" # 检查java服务是否运行

taskkill /F /IM "java.exe" # 结束java服务

java -jar path/java/service.jar #启动服务需要日环java实际的jar包路径

2 kibana 安装

Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引检测。

Kibana版本要和ES一致

官方下载地址:https://www.elastic.co/cn/downloads/kibana,

下载后解压后的目录结构

配置文件中主要配置

elasticsearch.hosts: ["http://localhost:9200"] # 填写的elasticsearch服务地址

访问超时的时间

改成汉化

设置好后,进入bin目录双击kibana.bat运行

下面常用几个配置:kibana中配置ES中配置的kibana账号密码即可连接ES认证

elasticsearch.username: "kibana"

elasticsearch.password: "XXX"

elasticsearch.hosts: ["http://1.1.1.1:9200","http://2.2.2.2:9200","http://3.3.3.3:9200"]

server.port: 5601

默认端口是5601,127.0.0.1:5601进行访问,我这边都是默认

进入页面这两个点击任何一个都一样,我选择的是Explore on my own

滚动屏幕,选择监控

点击默认选项

提示安装Download Metricbeat

3 Metricbeat安装及部署

下载注意:与elastic要保持版本的基本一致

Metricbeat是一个轻量级的托运程序,可以安装在服务器上,定期从操作系统和服务器上运行的服务收集度量。Metricbeat获取它收集的度量和统计数据,并将它们发送到您指定的输出,例如Elasticsearch或Logstash。

Metricbeat通过从服务器上运行的系统和服务收集指标,帮助您监控服务器,例如:

ApacheHAProxyMongoDBMySQLNginxPostgreSQLRedisSystemZookeeper

详细官方安装教程

下载地址

1 将zip文件的内容解压到C:\Program Files中

2 将“Metricbeat-8.11.4-windows-x86_64”目录重命名为“Metricbeat”。

3 以管理员身份打开PowerShell提示符(右键单击PowerShell图标并选择以管理员身份运行)。

PS > cd 'C:\Program Files\Metricbeat'

PS C:\Program Files\Metricbeat> .\install-service-metricbeat.ps1

4 如果您的系统禁用脚本执行,则需要设置执行策略: PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-metricbeat.ps1

执行报错

PS C:\Program Files\Metricbeat> .\install-service-metricbeat.ps1

.\install-service-metricbeat.ps1 : File C:\Program Files\Metricbeat\install-service-metricbeat.ps1 cannot be loaded bec

ause running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.micros

oft.com/fwlink/?LinkID=135170.

At line:1 char:1

+ .\install-service-metricbeat.ps1

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : SecurityError: (:) [], PSSecurityException

+ FullyQualifiedErrorId : UnauthorizedAccess

修改执行策略:允许本地脚本和远程签名脚本 RemoteSigned

执行策略修改:https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4

PS C:\Program Files\Metricbeat> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Execution Policy Change

The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose

you to the security risks described in the about_Execution_Policies help topic at

https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?

[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): y

PS C:\Program Files\Metricbeat> .\install-service-metricbeat.ps1

[SC] DeleteService SUCCESS

Status Name DisplayName

------ ---- -----------

Stopped metricbeat metricbeat

配置文件说明: metricbeat.yml

# Metricbeat配置文件

# Metricbeat模块配置

metricbeat.config.modules:

path: ${path.config}/modules.d/*.yml

reload.enabled: false

# 设置模板配置

setup.template.settings:

index.number_of_shards: 1

index.codec: best_compression

# 设置Kibana相关配置

setup.dashboards.enabled: true

setup.kibana:

host: "192.168.122.118:5601"

# 输出到Elasticsearch的配置

output.elasticsearch:

# Elasticsearch集群节点

hosts: ["https://192.168.122.118:9200", "https://192.168.122.119:9200", "https://192.168.122.120:9200"]

protocol: "https"

username: "elastic"

password: "elastic"

# SSL配置

ssl.certificate_authorities: ["/opt/module/metricbeat-8.11.0/certs/elasticsearch-ca.pem"]

ssl.certificate: "/opt/module/metricbeat-8.11.0/certs/instance.crt"

ssl.key: "/opt/module/metricbeat-8.11.0/certs/instance.key"

# Metricbeat处理器配置

processors:

- add_host_metadata: ~

- add_cloud_metadata: ~

- add_docker_metadata: ~

- add_kubernetes_metadata: ~

# 直接发送elasticsearch

output.elasticsearch:

hosts: ["192.168.0.1:9200"]

# 要加载仪表板,可以在metricbeat设置中启用仪表板加载。当仪表板加载被启用时,Metricbeat使用Kibana API来加载样本仪表板。只有当Metricbeat启动时,才会尝试仪表板加载。

# 设置kibana服务地址

setup.kibana.host: "172.30.1.45:5601"

# 加载默认的仪表盘样式

setup.dashboards.enabled: true

# 设置如果存在模板,则不覆盖原有模板

setup.template.overwrite: false

配置文件主要修改如下,其他默认:

启动指令start metricbeat

# 启用modules

# metricbeat modules enable 模块名

# 禁用modules

# metricbeat modules disable 模块名

# # 启动system监控,如果想监控mysql、redis等则相应打开相关功能

# metricbeat modules enable system

.\metricbeat.exe modules list

.\metricbeat.exe setup -e # 加载资源

.\metricbeat.exe modules enable elasticsearch-xpack # 启动

PS C:\Program Files\Metricbeat> start metricbeat # 启动会自动黑框,无需操作等待

.\metricbeat.exe setup --dashboards # 开启面板命令

执行完成后,可以在计算机管理-服务中看到metricbeat服务是启动状态,在kibana可视化中可以看到Windows主机信息了。

重新打开页面,发现页面有了变化

整个Elasticsearch安装中间走了很多弯路,最后是成功安装,如何使用后续会更新!

4 ELK日志分析

在安装和配置Metricbeat前,需确保ELK(Elasticsearch、Logstash、Kibana)已正确安装和工作,关于ELK部署安装,请参照文章《ELK日志监控分析系统的探索与实践(一):利用Filebeat监控Springboot日志》

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: