首页 > 编程知识 正文

亚龙模块搭建,github elk

时间:2023-05-03 08:05:58 阅读:12660 作者:874

思维导图

http://www.Sina.com/: https://github.com/yehong zhi/learning summary

概要知道生产环境中会出现很多异常,需要报告错误信息,并检查日志信息以排除错误。 现在的系统很多都很复杂,一个服务背后也运行着一个集群的机器。文章已收录Github精选,欢迎Star

把日志全部聚集在一个平台上,百度、谷歌这样如果逐台机器去查看日志显然是很费力的,也不现实通过关键字搜索出相关的日志ELK是其中使用最多的开源产品之一。

一. ELK ELK是什么? 其实是电子搜索。 Logstash和Kibana这三个产品的首字母缩写,这三个都是开源产品。

3358www.Sina.com/es (是实时分布式搜索分析引擎,可用于全文搜索、结构化搜索和分析。

集中式日志系统是一个主要用于收集、分析数据并将数据发送到ES的数据收集引擎。 支持的数据源包括本地文件、ElasticSearch、MySQL和Kafka。

ElasticSearch为Elasticsearch提供了分析和Web可视化界面,用于生成各种维的表、图形。

二、对构建ELK环境的依赖: CentOS7.5、JDK1.8、ElasticSearch7.9.3、Logstash 7.9.3和Kibana7.9.3。

2.1要安装elastic search,请先将安装软件包下载到官方网站,然后使用tar -zxvf命令进行解压缩。

找到config目录中的elasticsearch.yml文件,然后修改配置。

cluster.name : es-application node.name : node-1 #针对所有IP的network.host: 0.0.0.0#HTTP端口号http.port elasticsearch数据文件存储目录path.data :/usr/elastic search-7.9.3/data # elastic search日志文件存储目录path.logs 333

#创建用户useradd yehongzhi#设置密码passwd yehongzhi#给用户chown-rye Hongzhi : yehong zhi/usr/elastic search-7.9.

#切换用户su yehongzhi#启动-d表示后台启动。 /酷钻石/elasticsearch -d使用命令netstat -nltp显示端口号。

当您访问http://192.168.0.109:9200/时,将显示以下信息,表明安装成功:

2.2要安装log stash,请先在主页上下载、安装并解压缩压缩包,找到位于/config目录中的logstash-sample.conf文件,然后修改配置。

input { file { path=[ '/usr/local/user/*.log ' ] type=' user _ log ' start _ position=' beginning ' } output

配置完成后,需要数据源,即日志文件。 准备user.jar APP应用程序,在后台启动,并将其打印到日志文件user.log。 命令如下:

然后,nohup Java-jar user.jar/usr/local/user/user.log在后台启动日志状态。 命令如下:

nohup ./酷钻石/log stash-f/usr/log stash-7.9.3/config/log stash-sample.conf启动后,使用jps命令时,会出现两个

要安装2.3kibana,请先在主页上下载压缩包,解压缩,找到/config目录中的kibana.yml文件,然后修改配置。

server.port :5601 server.host : ' 192.168.0.111 ' elastic search.hosts http://192.168.0.109:99

# 创建用户useradd kibana# 设置密码passwd kibana# 赋予用户权限chown -R kibana:kibana /usr/kibana/

然后使用命令启动:

#切换用户su kibana#非后台启动,关闭shell窗口即退出./酷炫的钻石/kibana#后台启动nohup ./酷炫的钻石/kibana &

启动后在浏览器打开http://192.168.0.111:5601,可以看到kibana的web交互界面:

2.4 效果展示

全部启动成功后,整个过程应该是这样,我们看一下:

浏览器打开http://192.168.0.111:5601,到管理界面,点击“Index Management”可以看到,有一个user-2020.10.31的索引。


点击Index Patterns菜单栏,然后创建,命名为user-*。

最后,就可以到Discover栏进行选择,选择user-*的Index Pattern,然后搜索关键字,就找到相关的日志了!

三、改进优化

上面只是用到了核心的三个组件简单搭建的ELK,实际上是有缺陷的。如果Logstash需要添加插件,那就全部服务器的Logstash都要添加插件,扩展性差。所以就有了FileBeat,占用资源少,只负责采集日志,不做其他的事情,这样就轻量级,把Logstash抽出来,做一些滤处理之类的工作。

FileBeat也是官方推荐用的日志采集器,首先下载Linux安装压缩包:

https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.9.3-linux-x86_64.tar.gz

下载完成后,解压。然后修改filebeat.yml配置文件:

#输入源filebeat.inputs:- type: log enabled: true paths: - /usr/local/user/*.log#输出,Logstash的服务器地址output.logstash: hosts: ["192.168.0.110:5044"]#输出,如果直接输出到ElasticSearch则填写这个#output.elasticsearch: #hosts: ["localhost:9200"] #protocol: "https"

然后Logstash的配置文件logstash-sample.conf,也要改一下:

#输入源改成beatsinput { beats { port => 5044 codec => "json" }}

然后启动FileBeat:

#后台启动命令nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &

再启动Logstash:

#后台启动命令nohup ./酷炫的钻石/logstash -f /usr/logstash-7.9.3/config/logstash-sample.conf &

怎么判断启动成功呢,看Logstash应用的/logs目录下的logstash-plain.log日志文件:

写在最后

目前,很多互联网公司都是采用ELK来做日志集中式系统,原因很简单:开源、插件多、易扩展、支持数据源多、社区活跃、开箱即用等等。我见过有一个公司在上面的架构中还会加多一个Kafka的集群,主要是基于日志数据量比较大的考虑。但是呢,基本的三大组件ElasticSearch,Logstash,Kibana是不能少的。

希望这篇文章能帮助大家对ELK有一些初步的认识,感谢大家的阅读。

觉得有用就点个赞吧,你的点赞是我创作的最大动力~

拒绝做一条咸鱼,我是一个努力让大家记住的程序员。我们下期再见!!!

能力有限,如果有什么错误或者不当之处,请大家批评指正,一起学习交流!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。