一、ELK是什么?
ELK是由Elasticsearch、Logstash、Kibana这3个软件的首字母缩写。
ELK的大致工作顺序:应用程序产生log日志-->Logstash收集日志-->Logstash整理输出到Elasticsearch-->通过Kibana展示。
ELK(Elasticsearch, Logstash, Kibana)是一个强大的开源数据分析和可视化平台,主要用于日志数据的收集、存储、分析和可视化。ELK在日志管理、监控、分析和故障排查等方面有广泛的应用。
1. Elasticsearch(es)
-
作用:Elasticsearch是一个基于Lucene的分布式搜索和分析引擎,用于快速存储、搜索和分析大量的数据。
-
功能:能够对大规模数据进行实时的全文搜索、结构化查询和复杂的分析操作。
-
应用场景:日志检索、数据分析、全文搜索、监控系统等。
2. Logstash
-
作用:Logstash是一个数据收集和处理管道工具,它从各种数据源收集数据、进行过滤和转换,然后将数据输出到Elasticsearch等目标系统。
-
功能:支持多种输入源(如文件、数据库、消息队列等),可以进行复杂的数据处理,如格式转换、过滤、聚合等。
-
应用场景:日志收集、数据清洗、格式化和转换等。
3. Kibana
-
作用:Kibana是一个用于数据可视化的工具,它提供了一个友好的Web界面,可以通过图表、仪表盘等方式展示Elasticsearch中的数据。(kibana就是es的可视化)
-
功能:支持创建实时仪表板、图表、地图等,方便用户进行数据分析和监控。
-
应用场景:数据可视化、监控仪表盘、日志分析等。
ELK的主要作用:
-
日志收集和监控:通过Logstash收集和处理日志数据,存储在Elasticsearch中,然后使用Kibana进行实时可视化分析。
-
实时数据分析:Elasticsearch能够高效地进行实时数据查询和分析,帮助开发者和运维人员快速定位问题。
-
可视化展示:Kibana提供直观的数据展示方式,帮助用户从大数据中提取有价值的信息。
-
故障排查与监控:通过集成的日志收集和分析,ELK可以帮助团队快速识别和解决系统故障,进行性能监控和预警。
应用领域:
-
应用性能监控:实时监控应用的运行状况。
-
安全日志分析:用于安全事件监控和分析,识别异常活动。
-
业务数据分析:分析业务数据,支持决策和优化。
-
基础设施监控:用于监控服务器、网络设备等基础设施的运行状况。
总之,ELK是一个全面的数据收集、处理、存储、搜索、分析和可视化的解决方案,广泛应用于大数据分析、系统监控、日志管理等领域。
二、实践
各个安装包地址:
-
win7 建议下载7.6.1的版本,JDK1.7以上;
下面我们安装顺序就安装Elasticsearch、Logstash、Kibana的顺序。
1、elasticsearch(es)
1.1.1、安全性
在 Elasticsearch 中,生成证书和密钥的过程通常是为了确保集群的安全性,特别是在启用 SSL/TLS 加密时,以保护数据传输的安全性和防止数据被窃听或篡改。
-
生成证书 是为了确保通信双方的身份,并为加密数据传输提供机制。
-
生成密钥 是为了加密和解密数据,确保通信的机密性和完整性。密钥用于实现加密、解密和数字签名。
1.1.1.1、生成证书
解压压缩包如下图
打开cmd切换到bin目录下,执行
elasticsearch-certutil.bat ca
第一个断点处按下回车键
第二个断点处输入密码,(密码自定义,记录密码,生成秘钥需要用到)
完成后会生成一个文件:elastic-stack-ca.p12
1.1.1.2、生成秘钥
同理在cmd bin 目录下执行语句
elasticsearch-certutil.bat cert --ca ./elastic-stack-ca.p12
第一个断点处输入密码
第二个断点处直接回车
第三个断点处再次确认密码后回车,后生成一个文件:elastic-certificates.p12
1.1.1.3、文件处理
在config文件夹下新建certificates 文件夹,将生成的elastic-stack-ca.p12
和elastic-certificates.p12
文件都移动到certificates文件夹内如下图所示
1.1.2、改配置
修改config/elasticsearch.yml
,示例如下(主要修改文件路径)
# Elasticsearch 集群名称
cluster.name: my-elatics
# 节点名称,确保唯一
node.name: node-1
# 数据存储路径
path.data: E:/soft/ELK/elasticsearch-8.15.3-windows-x86_64/elasticsearch-8.15.3/data
# 日志存储路径
path.logs: E:/soft/ELK/elasticsearch-8.15.3-windows-x86_64/elasticsearch-8.15.3/logs
# 网络设置,允许所有 IP 连接(可根据需求限制)
network.host: 0.0.0.0
# HTTP 端口
http.port: 9200
# 发现主节点的地址
discovery.seed_hosts: ["127.0.0.1"]
# 初始化主节点,确保在首次启动时设置
cluster.initial_master_nodes: ["node-1"]
# 禁用安全设置(建议在生产环境中启用)
xpack.security.enabled: false
# 启用 CORS,以支持跨域请求
http.cors.enabled: true
http.cors.allow-origin: "*"
# 启用安全注册(如需使用安全功能,建议启用并配置)
xpack.security.enrollment.enabled: true
# 启用 SSL 传输安全
xpack.security.transport.ssl:
enabled: true
verification_mode: certificate # 验证模式
keystore.path: certificates/elastic-stack-ca.p12 # 密钥存储路径
keystore.password: 1234 # 密钥存储密码
truststore.path: certificates/elastic-certificates.p12 # 信任存储路径
truststore.password: 1234 # 信任存储密码
# 其他可选配置:
# 设置 JVM 堆内存(建议根据机器配置调整)
# 例如:
# jvm.options:
# -Xms1g # 设置初始堆内存
# -Xmx1g # 设置最大堆内存
# 启用索引模板、慢日志等功能(根据需求添加)
1.1.3、启动
cmd 在bin目录 下输入elasticsearch ,或点击bin目录下的elasticsearch.bat文件如下图所示
1.1.4、访问运行
访问http://localhost:9200/ 返回以下信息 :
1.1.5、用户和角色的管理
进行 用户和角色的管理,并为指定的用户分配合适的角色权限。加密传输通常由启用 SSL/TLS 和安全功能(如 xpack.security.enabled: true
)来保证,确保集群之间的数据传输是安全的,不易被中间人攻击或窃听。
在启用了安全功能的情况下,所有传输(包括用户登录、集群管理等)都会使用 SSL/TLS 加密,从而确保通信的安全性。这种安全性是由启用的 xpack.security.transport.ssl
和 xpack.security.http.ssl
等配置项来控制的
账号创建
elastic账号是无法用于kibana的登陆的,所以需要自行创建账号,并授权,cmd定位到es(elasticsearch)运行时(bin)目录输入以下命令
elasticsearch-users useradd 用户名
接着会提示输入密码,键入密码即可完成用户创建
示例账号密码
账号:coke 密码:123456
角色授权操作
# 这个命令将用户 用户名 添加到 superuser 角色中。(赋予用户 最高权限,可以管理集群、数据、配置等。)
elasticsearch-users roles -a superuser 用户名
# 将用户 用户名 添加到 kibana_system 角色中(赋予用户用于 Kibana 与 Elasticsearch 通信 的权限,通常用于 Kibana 服务帐户。)
elasticsearch-users roles -a kibana_system 用户名
查看授权
elasticsearch-users roles -v 用户名
成功授权结果如下图:
2、kibana
解压压缩文件如图所示
标签:ELK,1.1,Windows,Kibana,elasticsearch,Elasticsearch,日志 From: https://blog.csdn.net/qq_45873770/article/details/143569449