热门标签 | 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- 的索引**
在这里插入图片描述

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


推荐阅读
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 本文探讨了如何通过编程手段在Linux系统中禁用硬件预取功能。基于Intel® Core™微架构的应用性能优化需求,文章详细介绍了相关配置方法和代码实现,旨在帮助开发人员有效控制硬件预取行为,提升应用程序的运行效率。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 在安装并配置了Elasticsearch后,我在尝试通过GET /_nodes请求获取节点信息时遇到了问题,收到了错误消息。为了确保请求的正确性和安全性,我需要进一步排查配置和网络设置,以确保Elasticsearch集群能够正常响应。此外,还需要检查安全设置,如防火墙规则和认证机制,以防止未经授权的访问。 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 本文探讨了如何通过检测浏览器类型来动态加载特定的npm包,从而优化前端性能。具体而言,仅在用户使用Edge浏览器时加载相关包,以提升页面加载速度和整体用户体验。此外,文章还介绍了实现这一目标的技术细节和最佳实践,包括使用User-Agent字符串进行浏览器识别、条件加载策略以及性能监控方法。 ... [详细]
  • 在处理大图片时,PHP 常常会遇到内存溢出的问题。为了避免这种情况,建议避免使用 `setImageBitmap`、`setImageResource` 或 `BitmapFactory.decodeResource` 等方法直接加载大图。这些函数在处理大图片时会消耗大量内存,导致应用崩溃。推荐采用分块处理、图像压缩和缓存机制等策略,以优化内存使用并提高处理效率。此外,可以考虑使用第三方库如 ImageMagick 或 GD 库来处理大图片,这些库提供了更高效的内存管理和图像处理功能。 ... [详细]
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社区 版权所有