待完善
目录[*]一.ElasticStack及EFK架构梳理
[*]1.什么是ElasticStack
[*]2.EFK架构图解
[*]二.ElasticSearch环境部署
[*]1.ElasticSearch单点部署
[*]2.ElasticSearch集群部署
[*]三.ES集群术语及DSL语句初体验
[*]1.ES集群的相关术语
[*]2.ES相关的面试题❗️
[*]3.ES集群的DSL语句初体验
[*]四.Kibana组件部署
[*]1.部署kibana组件
[*]2.kibana基础使用
[*]五.Filebeat环境部署实战
[*]1.部署Filebeat环境
[*]2.Filebeat采集文本日志实战
[*]3.练习-Filebeat采集nginx案例
[*]六.EFK架构采集nginx实战案例
[*]1.EFK架构采集nginx日志
[*]步骤演示:如何添加一个索引来访问
[*]https://www.cxy5.com/day78-ES%E9%9B%86%E7%BE%A4%E9%83%A8%E7%BD%B2%E5%8F%8AEFK%E6%9E%B6%E6%9E%84%E6%A2%B3%E7%90%86%EF%BC%88%E6%88%91%E7%9A%84%E7%AC%94%E8%AE%B0%EF%BC%89.assets/image-20260312200541736.png2.Filebeat模块管理实战
[*]2.1 查看模块
[*]2.2 启动模块
[*]2.3 禁用模块
[*]2.4 底层逻辑验证
[*]3.filebeat基于模块采集nginx日志
[*]3.1 准备nginx的访问日志
[*]3.2 编写Filebeat的模块文件
[*]3.3 编写Filebeat的配置文件
[*]3.4 启动Filebeat实例
[*]3.5 kibana查询相关的字段
[*]3.6 过滤数据
[*]七.Filebeat多实例
[*]1.什么是Filebeat多实例
[*]2.实战案例⭐
[*]八.今日内容回顾及作业
[*]1.今日内容回顾
[*]2.今日作业
[*]3.扩展作业
一.ElasticStack及EFK架构梳理
1.什么是ElasticStack
ElasticStack是elastic公司推出的一系列技术栈。
早期ElasticStack的前身,有一个很火的名词叫ELK,代表的是该公司的三款日志采集方案的技术栈。
- ElasticSearch
是一款分布式高可用的数据库,主要作用就是存储和检索数据。
简称ES集群。
- Logstash
是一款日志分析处理工具,主要对数据进行过滤,处理,转换等相关操作,将处理后的数据写入ES集群。
- Kibana
需要链接ES集群,可以图形化查询ES集群数据。简化查询过程。
后来,logstash相对来说比较重量级,业界开始使用其他的日志采集工具进行替代(比如Fluentd,Flume等),官方也推出了轻量级解决方案,beats组件,其中比较出名的就是Filebeat,主要是用于日志文件采集。
于是起名字就成了一个问题,有的公司使用ELFK架构,EFK架构,ELK架构,后来官方将elk stack更名为elasticstack。
官方文档:
https://www.elastic.co/cn/
"ES8-"版本技术文档:
https://www.elastic.co/guide/index.html2.EFK架构图解
如图所示,EFK架构是业界目前主流的一种日志采集解决方案。https://www.cxy5.com/EFK%E6%9E%B6%E6%9E%84%E5%9B%BE%E8%A7%A3.jpg二.ElasticSearch环境部署
1.ElasticSearch单点部署
环境准备:ubantu操作系统
10.0.0.91 elk1
10.0.0.92 elk2
10.0.0.93 elk3
为避免权限问题,进入系统后均用root用户操作❗️
1.进入ubantu系统
2.设置root密码
sudo passwd root #设置密码为1
3.切换到root用户
su - root 1.下载ES软件包
kylin环境和centos环境
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.29-x86_64.rpm
ubantu环境
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.29-amd64.deb
# wget http://192.168.14.253/Resources/ElasticStack/softwares/ES7/7.17.29/elasticsearch-7.17.29-amd64.deb
2.安装并解压ES软件包
# ll elasticsearch-7.17.29-amd64.deb
-rw-r--r-- 1 root root 325488012 Aug 272025 elasticsearch-7.17.29-amd64.deb
# dpkg -i elasticsearch-7.17.29-amd64.deb
3.修改ES的配置文件
# vim /etc/elasticsearch/elasticsearch.yml
# 对外暴露ES的IP地址
network.host: 0.0.0.0
# 表示当前ES是一个单点,而非集群
discovery.type: single-node
4.启动ES服务
# systemctl start elasticsearch.service
# ss -ntl | egrep "92|300" # 可能会有几秒的延迟才会显示出来
LISTEN 0 4096 *:9300 *:*
LISTEN 0 4096 *:9200 *:*
端口说明:
9200:
支持http|https协议,主要是集群外部提供服务的端口。
9300:
使用的是tcp协议,主要是用于ES集群数据内部传输的端口。
5.测试验证
# curl 10.0.0.91:9200
{
"name" : "elk91",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "QtOwSp-jTMms3YweEq47-Q",
"version" : {
"number" : "7.17.29",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "580aff1a0064ce4c93293aaab6fcc55e22c10d1c",
"build_date" : "2025-06-19T01:37:57.847711500Z",
"build_snapshot" : false,
"lucene_version" : "8.11.3",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
# curl 10.0.0.91:9200/_cat/nodes
10.0.0.91 8 97 5 0.09 0.10 0.04 cdfhilmrstw * elk912.ElasticSearch集群部署
1.停止ES单点# systemctl stop elasticsearch.service # ss -ntl | egrep "92|300" 2.修改ES的配置文件# vim /etc/elasticsearch/elasticsearch.yml# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml cluster.name: oldboyedu-linux102-clusterpath.data: /var/lib/elasticsearchpath.logs: /var/log/elasticsearchnetwork.host: 0.0.0.0discovery.seed_hosts: ["10.0.0.91", "10.0.0.92","10.0.0.93"]cluster.initial_master_nodes: ["10.0.0.91", "10.0.0.92","10.0.0.93"]相关参数说明 cluster.name 指定集群的名称,ES所有节点必须指定同样的名称,否则无法加入集群。 path.data: 数据存储路径。 path.logs: 日志存储路径。 network.host: 对外监听的地址。 discovery.seed_hosts: 分布式集群的主机列表。 cluster.initial_master_nodes 参数master选举的列表。 3.清空之前的数据# rm -rf /var/{log,lib}/elasticsearch/*# ll /var/{log,lib}/elasticsearch/ # 必须显示以下内容,才算成功!/var/lib/elasticsearch/:total 8drwxr-s---2 elasticsearch elasticsearch 4096 Oct 29 11:36 ./drwxr-xr-x 61 root root 4096 Oct 29 10:08 ..//var/log/elasticsearch/:total 8drwxr-s---2 elasticsearch elasticsearch 4096 Oct 29 11:36 ./drwxrwxr-x 10 root syslog 4096 Oct 29 10:08 ../ 4.分发软件包(确保elk91的根目录下有这个压缩包)# scp elasticsearch-7.17.29-amd64.deb 10.0.0.92:~# scp elasticsearch-7.17.29-amd64.deb 10.0.0.93:~ ——————————————————————————无法传输解决方案——————————————————————————优先配置1:①.更改ssh配置文件,允许远程登录vim /etc/ssh/sshd_config,将 PermitRootLogin 改为 yes。②.重启 SSH 服务systemctl restart ssh。③.注意❗️三台机器都需要更改配置❗️即10.0.0.91-elk1 , 10.0.0.92-elk2 , 10.0.0.93-elk3 额外配置2:(启动ES服务时可能会用到)如果还是不能使用scp,就配置一下文件权限Elasticsearch 不能使用 root 用户运行,它必须使用 elasticsearch 用户。如果数据目录或日志目录的归属权不对,也会启动失败。# 确保数据目录和日志目录属于 elasticsearch 用户sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearchsudo chown -R elasticsearch:elasticsearch /var/log/elasticsearchsudo chown -R elasticsearch:elasticsearch /etc/elasticsearch注意❗️三台机器都需要更改配置❗️即10.0.0.91-elk1 , 10.0.0.92-elk2 , 10.0.0.93-elk3——————————————————————————————————————————————————————————————————— 5.其他节点安装ES服务# dpkg -i elasticsearch-7.17.29-amd64.deb # dpkg -i elasticsearch-7.17.29-amd64.deb 6.同步配置文件# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.92:/etc/elasticsearch/# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.93:/etc/elasticsearch/ 7.同时启动ES服务【否则可能会脑裂】# 小窍门:使用Alt加上数字键
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]