热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ELK日志分析系统(二)

这里写目录标题【安装logstash并做一些日志搜集输出到elasticsearch中】【安装logstash并做一些日志搜集输出到elasticsearch中】关闭防火墙关闭核


这里写目录标题

  • 【安装logstash并做一些日志搜集输出到elasticsearch中】


【安装logstash并做一些日志搜集输出到elasticsearch中】

关闭防火墙关闭核心防护

systemctl stop firewalld.service
setenforce 0

更改主机名

hostnamectl set-hostname apache

安装Apahce服务(httpd)

[root@apache ~]# yum -y install httpd
[root@apache ~]# systemctl start httpd
[root@apche ~]# cd /var/log/httpd/
[root@apache httpd]# ls ##开启服务的时候才产生的日志
access_log error_log

安装Java环境

[root@apache ~]# java -version ####如果没有装安装yum -y install java
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

附加

jdk java编译器 1.5 1.8 1.11
源文件--------->[jdk编译器]---------->执行文件----------->jvm(java虚拟机执行)
xxx.java xxx.class 结果手工编译部署
xxx.tar.gz(源码包)
c/c++源码----------->[gcc/gcc-c++编译器](借助make工具)---------->执行文件----------->make install

安装logstash

上传logstash-5.5.1-rpm到根目录下
[root@apache ~]# cd /opt
[root@apache ~]# rpm -ivh logstash-5.5.1.rpm ##安装logstash
[root@apache ~]# systemctl start logstash.service ##启动logstash
[root@apache ~]# systemctl enable logstash.service
[root@apache ~]# In -s /usr/share/logstash/bin/logstash /usr/local/bin/ ##建立logstash软连接

附加

[root@apache ~]# rpm -qc logstash #查找配置文件位置
/etc/logstash/logstash.yml

输入采用标准输入输出采用标准输出

[root@apache ~]# logstash -e 'input{ stdin{} } output { stdout{} }'
....(需要等待一会)
14:37:43.845 [Api Webserver] INFO logstash.agent - Successfully started Logstash API endpoint {:port=>9600}
www.baidu.com #自行输入
2020-10-29T06:37:59.924Z apache www.baidu.com

使用rubydebug显示详细输出,codec为一种编解码器

[root@apache ~]# logstash -e 'input{ stdin{} } output { stdout{ codec=>rubydebug } }'
....(需要等待一会)
14:47:48.735 [Api Webserver] INFO logstash.agent - Successfully started Logstash API endpoint {:port=>9600}
www.baidu.com
{"@timestamp" => 2020-10-29T06:47:54.671Z,"@version" => "1","host" => "apache","message" => "www.baidu.com"
}

使用logstash将信息写入elasticsearch中

[root@apache ~]# logstash -e 'input{ stdin{} } output { elasticsearch{ hosts=>["20.0.0.21:9200"] } }'
....(需要等待一会)
14:54:14.277 [Api Webserver] INFO logstash.agent - Successfully started Logstash API endpoint {:port=>9600}
www.baidu.com

logstash配置文件
Logstash配置文件主要由三部分组成: input、output、filter(根据需要)

[root@apache ~]# chmod o+r /var/log/messages
[root@apache ~]# ll /var/log/messages
-rw----r--. 1 root root 817602 10月 29 15:03 /var/log/messages[root@apache opt]# vim /etc/logstash/conf.d/system.conf
input {file{path => "/var/log/messages"type => "system"start_position => "beginning"}}
output {elasticsearch {hosts => ["20.0.0.21:9200"]index => "system-%{+YYYY.MM.dd}"}}[root@apache conf.d]# systemctl restart logstash.service

在这里插入图片描述

在主机安装kibana

上传kibana-5.5.1-x86_64.rpm 到/usr/local/src目录
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# rpm -ivh kibana-5.5.1-x86_64.rpm [root@localhost src]# cd /etc/kibana/
[root@localhost kibana]# cp kibana.yml kibana.yml.bak[root@localhost kibana]# vim kibana.yml
2/ server.port:5601 ####kibana打开的端口
7/ server.host:"0.0.0.0" ####kibana侦听的地址
21/ elasticsearch.url: "http://20.0.0.21:9200" ###和elasticsearch建立联系
30/ kibana.index: ".kibana" ###在elasticsearch中添加.kibana索引[root@localhost kibana]# systemctl start kibana.service ###启动kibana服务
[root@localhost kibana]# systemctl enable kibana.service ###开机启动kibana服务

使用浏览器输入http://20.0.0.12:5601/
首次登录创建一个索引名字:system-* ##这是对接系统日志文件
lndex name or pattern ##下面输入system-*
然后点最下面的出面的create按钮创建
然后点最左上角的Discover按钮会发现system-*信息
然后点下面的host旁边的add 会发现右面的图只有 Time 和 host 选项了这个比较友好

对接Apache主机的Apache日志文件(访问的、错误的)

[root@apache opt]# cd /etc/logstash/conf.d/
[root@apache conf.d]# touch apache_log.conf
[root@apache conf.d]# vim apache_log.conf
input {file{path => "/etc/httpd/logs/access_log" ##access日志存放位置type => "access" ##标签(可自行定义)start_position => "beginning" ##从beginning开始}file{path => "/etc/httpd/logs/error_log"type => "error"start_position => "beginning"}}
output {if [type] == "access" {elasticsearch {hosts => ["20.0.0.21:9200"]index => "apache_access-%{+YYYY.MM.dd}"}}if [type] == "error" {elasticsearch {hosts => ["20.0.0.21:9200"]index => "apache_error-%{+YYYY.MM.dd}"}}}[root@apache conf.d]# /usr/share/logstash/bin/logstash -f apache_log.conf

报错:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
Could not find log4j2 configuration at path //usr/share/logstash/config/log4j2.properties. Using default config which logs to console
15:57:32.317 [LogStash::Runner] ERROR logstash.inputs.file - Unknown setting 'start_posotion' for file
15:57:32.324 [LogStash::Runner] ERROR logstash.agent - Cannot create pipeline {:reason=>"Something is wrong with your configuration."}

原因:
something is wrong with your configuration
您的配置有问题

打开浏览器输入http://20.0.0.21:9100/查看索引信息
在这里插入图片描述
创建apache_error- 和 apache_access- 的索引**
在这里插入图片描述

创建完成在这里插入图片描述
在这里插入图片描述


推荐阅读
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
author-avatar
狂风
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有