侧边栏壁纸
博主头像
小周的个人博客 博主等级

行动起来,活在当下

  • 累计撰写 36 篇文章
  • 累计创建 10 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

ELK简单实战

Administrator
2026-05-14 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

在项目上线之后,我们用户需要收集日志可以用于分析用户行为,监控服务器状态,增强系统或应用安全性等。

1、ELK简介

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana。

  • Elasticsearch:是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。

  • Logstash:主要是用来做日志的分析、过滤等处理工作。

  • Kibana:可以为 Logstash 和 ElasticSearch 提供的日志提供友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

  • 新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash。

传统服务日志收集方案:Elasticsearch、Logstash、Kibana(ELKB) + Filebeat

2、环境规划

IP地址

主机名称

主机角色

操作系统

主机最低配置参考

192.168.1.75

es01

ELasticsearch

Rocky 9.0

2核心CPU/2G内存/50G磁盘

192.168.1.76

kibana

Kibana

Rocky 9.0

2核心CPU/2G内存/50G磁盘

192.168.1.77

Logstash

Logstash

Rocky 9.0

2核心CPU/2G内存/50G磁盘

3、安装ELasticsearch

由于ELasticsearch自带JDK环境,所以我们不需要额外安装JDK环境
yum -y install elasticsearch-7.8.1-x86_64.rpm
​
我们需要修改配置文件
vim /etc/elasticsearch/elasticsearch.yml
​
egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml    #过滤出未被注释的配置
​
相关配置信息如下:
cluster.name: my-es                                     # ES集群名称
node.name: es01                                         # ES节点名称
path.data: /var/lib/elasticsearch                       # ES数据目录
path.logs: /var/log/elasticsearch                       # ES日志目录
network.host: 192.168.1.75                              # ES主机地址
http.port: 9200                                         # ES监听端口号
discovery.seed_hosts: ["192.168.1.75"]                  # ES集群主机列表
cluster.initial_master_nodes: ["192.168.1.75"]          # 如果是ES集群,master主机IP地址
​
启动Elasticsearch
systemctl enable elasticsearch --now

注意事项:

ELasticsearch启动后一共有两个端口:9200和9300

9200作用:Logstash和Kibana用来访问ELasticsearch

9300作用:如果是一个ELasticsearch集群,例如一些心跳检测,数据同步走9300端口

4、安装Kibana

安装Kibana不需要其它的一些环境,我们直接安装即可
rpm -ivh kibana-7.8.1-x86_64.rpm
​
修改配置文件
vim /etc/kibana/kibana.yml
​
需要修改的配置如下:
server.port: 5601                                   # 服务端口号
server.host: "192.168.1.76"                         # 服务IP地址
elasticsearch.hosts: ["http://192.168.1.75:9200"]    # ES的IP地址
i18n.locale: "zh-CN"                                # Kibana默认是英语,修改面板语言
​
启动服务
systemctl enable kibana --now

访问Kibana

http://192.168.1.76:5601

5、安装Logstash

安装Logstash需要JDK环境
dnf list | grep java | grep jdk
​
安装jdk8即可
​
rpm -ivh logstash-7.8.1.rpm
​
修改配置文件
vim /etc/logstash/logstash.yml
​
node.name: logstash                         # 节点名称
path.data: /var/lib/logstash                # 数据目录
pipeline.workers: 2                         # Logstash启动服务的进程数
pipeline.ordered: auto                      
path.logs: /var/log/logstash                # Logstash日志目录

6、测试Logstash过滤功能

由于logstash进行日志过滤时,是由插件来进行工作,具体怎么写配置文件,可以参考官网地址。

https://www.elastic.co/guide/en/logstash/current/introduction.html

我们拿一个日志文件放到根目录下

[root@Logstash ~]# ls
anaconda-ks.cfg  app.log  logstash-7.8.1.rpm  rocky-sysconfigure.sh
​
​
编写配置文件,放在/etc/logstash/conf.d/下,具体配置如下:
#从文件采集日志
input {
  file {
    path => "/var/log/app.log"
  }
}
​
#输出日志
output {
   stdout { codec => rubydebug }
}
​
启动Logstash
logstash -f /etc/logstash/conf.d/project.conf -r    # -f 指定配置文件  -r是进行更新配置文件内容
​
如果配置写完之后,将logstash挂在后台
logstash -f /etc/logstash/conf.d/app.conf &> /tmp/start_logstash.log &


0
ELK
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区