手把手教你在CentOS上安装ELK,对服务器日志进行收集(四)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。

4.4、登录kibana,创建索引,并且搜集数据

53.jpg54.jpg55.jpg


ELK+ Filebeat的安装,到此,就基本结束了,以上只是简单的部署完了。

但是,还满足不了需求,比如,一台服务器,有多个日志文件路径,改怎么配置,接下来,我们来分类创建索引!

五、Filebeat收集多个tomcat目录下的日志

5.1、修改filebeat.yml配置文件

vim /etc/filebeat/filebeat.yml

配置多个paths收集路径,并且使用fields标签配置自定义标签log_topics,以方便做索引判断,如下:

filebeat.prospectors:
- type: log
  enabled: true
  paths:
    - /usr/tomcat7-ysynet/logs/default/common_monitor.log
  multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}'
  multiline.negate: true
  multiline.match: after
  fields:
    log_topics: spd-ysynet
- type: log
  enabled: true
  paths:
    - /usr/tomcat7-ysynet-sync/logs/default/common_monitor.log
  multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}'
  multiline.negate: true
  multiline.match: after
  fields:
    log_topics: spd-ysynet-sync
- type: log
  enabled: true
  paths:
    - /usr/tomcat7-hscm/logs/default/common_monitor.log
  multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}'
  multiline.negate: true
  multiline.match: after
  fields:
    log_topics: spd-hscm
- type: log
  enabled: true
  paths:
    - /usr/tomcat7-hscm-sync/logs/default/common_monitor.log
  multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}'
  multiline.negate: true
  multiline.match: after
  fields:
    log_topics: spd-hscm-sync

filebeat安装包所在服务器有tomcat7-ysynettomcat7-ysynet-synctomcat7-hscmtomcat7-hscm-sync,4个tomcat,在fields下分别创建不同的log_topicslog_topics属于标签名,可以自定义,然后创建不同的值!

5.2、修改logstash.conf配置文件

接着,修改logstash中的配置文件,创建索引,将其输出

vim /etc/logstash/conf.d/logstash.conf

内容如下:

input{
    beats {
        port => 5044
        codec => plain {
          charset => "UTF-8"
        }
    }
}
filter{
    mutate{
        remove_field => "beat.hostname"
        remove_field => "beat.name"
        remove_field => "@version"
        remove_field => "source"
        remove_field => "beat"
        remove_field => "tags"
        remove_field => "offset"
        remove_field => "sort"
    }
}
output{
    if [fields][log_topics] == "spd-ysynet"  {
        stdout { codec => rubydebug }
        elasticsearch {
            hosts => ["localhost:9200"]
            index => "spd-ysynet-%{+YYYY.MM.dd}"
        }
    }
    if [fields][log_topics] == "spd-ysynet-sync"  {
        stdout { codec => rubydebug }
        elasticsearch {
            hosts => ["localhost:9200"]
            index => "spd-ysynet-sync-%{+YYYY.MM.dd}"
        }
    }
    if [fields][log_topics] == "spd-hscm"  {
        stdout { codec => rubydebug }
        elasticsearch {
            hosts => ["localhost:9200"]
            index => "spd-hscm-%{+YYYY.MM.dd}"
        }
    }
    if [fields][log_topics] == "spd-hscm-sync"  {
        stdout { codec => rubydebug }
        elasticsearch {
            hosts => ["localhost:9200"]
            index => "spd-hscm-sync-%{+YYYY.MM.dd}"
        }
    }
}

其中filter表示过滤的意思,在output中使用filebeat中配置的fields信息,方便创建不同的索引!

#表示,输出到控制台
stdout { codec => rubydebug }
#elasticsearch表示,输出到elasticsearch中,index表示创建索引的意思
elasticsearch {
   hosts => ["localhost:9200"]
   index => "spd-hscm-sync-%{+YYYY.MM.dd}"
}

5.3、测试修改的logstash.conf配置文件

输入如下命令,检查/etc/logstash/conf.d/logstash.conf文件,是否配置异常!

/usr/share/logstash/bin/logstash  -f /etc/logstash/conf.d/logstash.conf --config.test_and_exit

输入结果,显示Configuration OK,就表示没问题!56.jpg

5.4、重启相关服务

最后,重启filebeat

systemctl restart filebeat

关闭logstash服务

systemctl stop logstash

以指定的配置文件,启动logstash,输入如下命令,回车就ok了,执行完之后也可以用ps -ef|grep logstash命令查询logstash是否启动成功!

nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf &

5.5、登录kibana,创建索引

登录kibana,以同样的操作,页面创建索引,查询收集的日志,以下是小编的测试服务器搜集的信息

57.jpg58.jpg

第3、4、5步骤,是筛选elasticsearch今天收集的日志信息!

59.jpg

六、总结

整个安装过程已经介绍完了,安装比较简单,复杂的地方就是配置了,尤其是logstashkibananginxfilebeat,这几个部分,看了网上很多的介绍,elk配置完之后,外网无法访问kibana,使用nginx代理到kibana,页面就出来了;同时,在配置filebeat多个路径的时候,logstash也配置了输出索引,但是就是没有日志出来,页面检查说Elasticsearch没有找到数据,最后才发现,一定要让logstash指定/etc/logstash/conf.d/logstash.conf配置文件,进行启动,那么就有日志出来了,整篇文章,可能有很多写的不到位的地方,请大家多多包含,也可以直接给我们留言,以便修正!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
20天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
126 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
2月前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
168 4
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
73 4
|
3月前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
76 5
Linux系统之安装Ward服务器监控工具
|
2月前
|
存储 监控 安全
|
3月前
|
存储 网络协议 Linux
AWS实操-EC2-创建购买linux(centos)EC2服务器
AWS实操-EC2-创建购买linux(centos)EC2服务器
|
3月前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
229 0
|
3月前
|
域名解析 安全 网络安全
阿里云服务器WordPress环境上安装SSL证书
阿里云服务器WordPress环境上安装SSL证书
|
3月前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
2月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
408 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板