码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Logstash8.4在Linux系统上的安装以及配置Tomcat日志(ELK安装part2)


     一,介绍说明

    1.1, logstash是什么

    Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。学习、下载、安装可以参考官方的文档说明:

    Logstash:收集、解析和转换日志 | Elastic通过这一灵活且开源的收集、解析和扩充管道,Logstash(Elastic Stack 的一部分)能够整合任何来源、任何格式的数据。免费下载。正在上传…重新上传取消https://www.elastic.co/cn/logstash/官方的三个图很经典,可以帮助我们理解Logstash的作用:

    1,采集各种样式、大小和来源的数据

    https://img-blog.csdnimg.cn/283b3cb897c3441e9237ceb7f73eb9ba.png ​

    2,实时解析和转换数据

    https://img-blog.csdnimg.cn/21ac7c5c40a54072956e6e2705dfde95.png ​

    3,选择您的存储库,传输您的数据

     https://img-blog.csdnimg.cn/326eedc629b34754a2a0ce328aae9ba9.png ​

    1.2, Logstash在ELK中的位置

    https://img-blog.csdnimg.cn/fe258467f38c45f08375251a2c631869.png

    1.3, Logstash采集Tomcat日志

    首先Logstash会对日志文件进行输入,过滤,输出处理。 

    https://img-blog.csdnimg.cn/3804d901ce434182a1e8586f5decd034.png

    通过Logstash采集Tomcat的日志后,输出到ElasticSearch db里,最后通过图形化方式,例如使用Kibana来展示。

    https://img-blog.csdnimg.cn/c23082ae44a544f886d850e1f2ff8b74.png ​

    二,Tomcat安装配置

    因为本文是以测试为目的,因此Tomcat使用单节点。下面先进行Tomcat安装及配置。

    Apache Tomcat® - Welcome!

     2.1 环境说明

    https://img-blog.csdnimg.cn/48d2669a04964f5fa4d24e2870d8dd9f.png ​https://img-blog.csdnimg.cn/75e1a3aba7f4433ea54f2a61e89f88de.png ​

    安装可以参考这个文章:

    Linux安装tomcat_北冥牧之的博客-CSDN博客_linux安装tomcat一、下载tomcat打开tomcat下载页面,tomcat10下载页面:如果你 不想做代码的迁移工作,可以选择Tomcat9及其以下的版本。我们这里是为了安装Tomcat,选择Tomcat9作为演示的版本。二、解压将下载好的Tomcat上传到指定目录,并解压:tar -zxvf apache-tomcat-9.0.58.tar.gz打开对应目录如下图:三、配置jdk环境变量# 编辑配置文件vim /etc/profile# 输入命令,配置jdk环境变量ex https://blog.csdn.net/qq_42971035/article/details/1227786152.2 JDK 安装

    下面是我安装的粗略步骤:

    用户创建:

    #groupadd tomcat 
    #useradd -g tomcat tomcat -m

    JDK可以去官网下载,可以解压安装,可以rpm安装。本文安装如下:

    https://img-blog.csdnimg.cn/0f63ddd1fc414a99ade8f677d98cf7ce.png ​

    环境变量配置:

    https://img-blog.csdnimg.cn/ec2b6cabc62847d986058f773dea06d8.png ​

    2.3 Tomcat安装

    官网下载安装包,解压,修改文件权限为tomcat:tomcat,

    Tomcat安装如下:

    https://img-blog.csdnimg.cn/40c79914fdac4b67932ecba878fdaa60.png ​

     2.4 Tomcat配置

    环境变量设置
    vi /home/tomcat/.bash_profile
    # 配置Tomcat环境变量
    export CATALINA_HOME=/app/tomcat/
    export PATH=$PATH:$CATALINA_HOME/bin

    修改配置文件:/app/tomcat/conf/tomcat-users.xml

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

    ......

     
     
     
     
     
     

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

    启停Tomcat:
    su - tomcat
    cd /usr/local/tomcat/bin
    ./startup.sh
    ./shutdown.sh

    访问Tomcat管理页面: 

    https://img-blog.csdnimg.cn/5f45fb1dca25477b8fbb5b513bf20a3a.png

    三,Logstash安装配置

    建议先阅读官方网站:Installing Logstash | Logstash Reference [8.4] | Elastic正在上传…重新上传取消https://www.elastic.co/guide/en/logstash/8.4/installing-logstash.html安装方式有二进制,APT, YUM, Docker的方式,本文选择二进制的方式。

    3.1 Logstash基础软件安装

    下载安装包Download Logstash Free | Get Started Now | Elastic

    https://img-blog.csdnimg.cn/5ee6b98291784ec48dde21b0732ac9eb.png ​

    上传到服务器,解压到对于的目录:/app/logstash,修改文件权限为es:es

    https://img-blog.csdnimg.cn/832d82d6345b471ca8e60e23a595e533.png ​

    3.2 Logstash连接Elasticsearch

    3.2.1 设置证书https证书

        从8.0开始您需要为 Logstash 配置身份验证凭据才能建立通信。如果身份验证失败,Logstash 会引发异常,并且处理管道将停止。因此Logstash也需要进行相应的配置。
        Elasticsearch 在启动时会生成自己的默认自签名安全套接字层 (SSL) 证书。Logstash 必须先建立安全套接字层 (SSL) 连接,然后才能将数据传输到安全的 Elasticsearch 集群。Logstash 必须具有签署 Elasticsearch 集群证书的证书颁发机构 (CA) 的副本。

         一般来说,安装ES的时候会通过如下命令创建证书库文件:

    elasticsearch-certutil ca
    elasticsearch-certutil cert --ca elastic-stack-ca.p12 --dns goya1 --name goya1
    elasticsearch-certutil cert --ca elastic-stack-ca.p12 --dns goya2 --name goya2
    elasticsearch-certutil cert --ca elastic-stack-ca.p12 --dns goya3 --name goya3

    elastic-stack-ca.p12(根证书),goya1.p12(节点1证书),goya2.p12(节点2证书),goya3.p12(节点3证书)。这里我的logstash也是安装在节点1(goya1)上。

    logstash 不能够直接使用 PKCS#12类型的证书,所以我们需要用openssl命令去goya1.p12的证书中提取pem证书:
    openssl pkcs12 -in goya1.p12 -clcerts -nokeys -chain -out logstash-ca.pem
    执行后会得到logstash使用的pem证书,名为 logstash-ca.pem

    将其拷贝到/app/logstash/config/certs目录

    3.2 配置logstash收集tomcat日志

    配置Logstash输出到ES终端
    cd /app/logstash/config
    [es@goya1 config]$ ls -ltr
    ......
    -rwxr-xr-x. 1 es es   405 Sep 15 02:23 tomcat_log_es.conf
    [es@goya1 config]$ cat tomcat_log_es.conf
    input {
      file {
        path => "/app/tomcat/logs/tomcat_access_json.*.log"
        start_position => "beginning"
        type => "tomcat_log"
      }
    }

    output {
      elasticsearch {
        hosts => ["https://192.168.88.5:9200"]
        index => "tomcat_log_%{+YYYY-MM-dd}"
        ssl => true
        ssl_certificate_verification => false
        cacert => "/app/logstash/config/certs/logstash-ca.pem"
        user => "elastic"
        password => "123456"

      }
    }

    3.3 Tomcat日志格式设置

     有的时候Tomcat日志exception可能由几十行组成,我们需要将多行日志变成一行来收集,因此需要将Tomcat的日志设置为json格式。

    vi /app/tomcat/conf/server.xml

    在文件末尾添加相应的内容:

    ......


            prefix="tomcat_access_json" suffix=".log"
            pattern="{"clientip":"%h","ClientUser":"%l","authenticated":"%u","AccessTime":"%t","method":"%r","status":"%s","SendBytes":"%b","Query?string":"%q","partner":"%{Referer}i","AgentVersion":"%{User-Agent}i"}"/>

         
       
     

    重新启动tomcat并查看日志,检验是否配置成功,产生新的日志还是需要通过使用浏览器访问8080端口,在Tomcat的demo样例中对tomcat发送请求产生日志。   

    /app/tomcat/logs/tomcat_access_json.2022-09-06.log

    https://img-blog.csdnimg.cn/46c38f3a83e94ffb89dc2aa252ef29aa.png ​编辑

     整理一下上图的输出格式显示如下:
    {
    "clientip":"192.168.88.1",
    "ClientUser":"-",
    "authenticated":"-",
    "AccessTime":"[06/Sep/2022:07:00:36 -0400]",
    "method":"GET /examples/jsp/images/return.gif HTTP/1.1",
    "status":"200",
    "SendBytes":"1231",
    "Query?string":"",
    "partner":"http://192.168.88.5:8080/examples/jsp/",
    "AgentVersion":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
    }

    3.4 启动Logstash

    [es@goya1 logs]$ logstash -f /app/logstash/config/tomcat_log_es.conf

    ​三,验证Tomcat日志数据写入ES

    通过运行Tomcat的示例来生成相应的日志:

     

    对应的通过elasticsearch-head 确认数据是否写入了ES中:

     

     或者Kibana进行查看:

    至此,Logstash基础安装配置完成。

     

  • 相关阅读:
    【雷达通信】雷达探测项目仿真(Matlab代码实现)
    C#WPF数字大屏项目实战09--机器产量统计
    CHAPTER 9: DESIGN A WEB CRAWLER
    制氧机厂家有哪四大优势
    分割集合list成为多个子list
    git本地仓库及远端仓库推送【linux】
    C语言大佬的必杀技---宏的高级用法
    【超好懂的比赛题解】2022 Jiangsu Collegiate Programming Contest 比赛题解
    spring 事务源码剖析
    Linux环境开发工具yum、makefile的使用 【Linux】
  • 原文地址:https://blog.csdn.net/yangkei/article/details/126870897
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号