ELK简单介绍二

学习目标

  • 能够部署kibana并连接elasticsearch集群
  • 能够通过kibana查看elasticsearch索引信息
  • 知道用filebeat收集日志相对于logstash的优点
  • 能够安装filebeat
  • 能够使用filebeat收集日志并传输给logstash

kibana

kibana介绍

Kibana是一个开源的可视化平台,可以为ElasticSearch集群的管理提供友好的Web界面,帮助汇总,分析和搜索重要的日志数据。

文档路径: Set up | Kibana Guide [8.11] | Elastic

kibana部署

第1步: 在kibana服务器(我这里是VM1)上安装kibana

[root@vm1 ~]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.2-x86_64.rpm
[root@vm1 ~]# rpm -ivh kibana-6.5.2-x86_64.rpm 

第2步: 配置kibana

[root@vm1 ~]# cat /etc/kibana/kibana.yml |grep -v '#' |grep -v '^$'
server.port: 5601                               端口
server.host: "0.0.0.0"                          监听所有,允许所有人能访问
elasticsearch.url: "http://10.1.1.12:9200"      ES集群的路径
logging.dest: /var/log/kibana.log               我这里加了kibana日志,方便排错与调试
​
日志要自己建立,并修改owner和group属性
[root@vm1 ~]# touch /var/log/kibana.log
[root@vm1 ~]# chown kibana.kibana /var/log/kibana.log

第3步: 启动kibana服务

[root@vm1 ~]# systemctl start kibana
[root@vm1 ~]# systemctl enable kibana
​
[root@vm1 ~]# lsof -i:5601
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node    10420 kibana   11u  IPv4 111974      0t0  TCP *:esmagent (LISTEN)

第4步: 通过浏览器访问 http://kibana服务器IP:5601

kibana汉化

https://github.com/anbai-inc/Kibana_Hanization/

[root@vm1 ~]# wget https://github.com/anbai-inc/Kibana_Hanization/archive/master.zip
​
[root@vm1 ~]# unzip Kibana_Hanization-master.zip -d /usr/local
[root@vm1 ~]# cd /usr/local/Kibana_Hanization-master/
​
这里要注意:1,要安装python; 2,rpm版的kibana安装目录为/usr/share/kibana/
[root@vm1 Kibana_Hanization-master]# python main.py /usr/share/kibana/
​
汉化完后需要重启
[root@vm1 Kibana_Hanization-master]# systemctl stop kibana
[root@vm1 Kibana_Hanization-master]# systemctl start kibana

再次通过浏览器访问 http://kibana服务器IP:5601

通过kibana查看集群信息

通过kibana查看logstash收集的日志索引

最后点发现查看

通过kibana做可视化图形

filebeat

因为logstash消耗内存等资源太高,如果在要采集的服务上都安装logstash,这样对应用服务器的压力增加。所以我们要用轻量级的采集工具才更高效,更省资源。

beats是轻量级的日志收集处理工具,Beats占用资源少

  • Packetbeat: 网络数据(收集网络流量数据)

  • Metricbeat: 指标 (收集系统、进程和文件系统级别的 CPU 和内存使用情况等数据)

  • Filebeat: 文件(收集日志文件数据)

  • Winlogbeat: windows事件日志(收集 Windows 事件日志数据)

  • Auditbeat:审计数据 (收集审计日志)

  • Heartbeat:运行时间监控 (收集系统运行时的数据)

我们这里主要是收集日志信息, 所以只讨论filebeat。

filebeat可以直接将采集的日志数据传输给ES集群(EFK), 也可以给logstash(==5044==端口接收)。

filebeat收集日志直接传输给ES集群

第1步: 下载并安装filebeat(再开一台虚拟机vm4模拟filebeat, 内存1G就够了, 安装filebeat)

[root@vm4 ~]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.2-x86_64.rpm
[root@vm4 ~]# rpm -ivh filebeat-6.5.2-x86_64.rpm

第2步: 配置filebeat收集日志

[root@vm4 ~]# cat /etc/filebeat/filebeat.yml |grep -v '#' |grep -v '^$'
filebeat.inputs:
- type: logenabled: true                     改为truepaths:- /var/log/*.log                收集的日志路径
filebeat.config.modules:path: ${path.config}/modules.d/*.ymlreload.enabled: false
setup.template.settings:index.number_of_shards: 3
setup.kibana:
output.elasticsearch:               输出给es集群hosts: ["10.1.1.12:9200"]         es集群节点ip
processors:- add_host_metadata: ~- add_cloud_metadata: ~

第3步: 启动服务

[root@vm4 ~]# systemctl start filebeat
[root@vm4 ~]# systemctl enable filebeat

第4步: 验证

在es-head和kibana上验证(验证过程省略, 参考前面的笔记)

练习:可以尝试使用两台filebeat收集日志,然后在kibana用筛选器进行筛选过滤查看。(可先把logstash那台关闭logstash进行安装filebeat测试)

filebeat传输给logstash

第1步: 在logstash上要重新配置,开放5044端口给filebeat连接,并重启logstash服务

[root@vm3 ~]# vim /etc/logstash/conf.d/test.conf 
input {beats {port => 5044}
}
​
output {elasticsearch {hosts => ["10.1.1.12:9200"]index =>  "filebeat2-%{+YYYY.MM.dd}"}stdout {                                    再加一个标准输出到屏幕,方便实验环境调试}
}
[root@vm3 ~]# cd /usr/share/logstash/bin/
​
如果前面有使用后台跑过logstash实例的请kill掉先
[root@vm3 bin]# pkill java
​
[root@vm3 bin]# ./logstash --path.settings /etc/logstash/ -r -f /etc/logstash/conf.d/test.conf

第2步: 配置filebeat收集日志

[root@vm4 ~]# cat /etc/filebeat/filebeat.yml |grep -v '#' |grep -v '^$'
filebeat.inputs:
- type: logenabled: true						改为truepaths:- /var/log/*.log				收集的日志路径
filebeat.config.modules:path: ${path.config}/modules.d/*.ymlreload.enabled: false
setup.template.settings:index.number_of_shards: 3
setup.kibana:
output.logstash:					这两句非常重要,表示日志输出给logstashhosts: ["10.1.1.13:5044"]			IP为logstash服务器的IP;端口5044对应logstash上的配置
processors:- add_host_metadata: ~- add_cloud_metadata: ~

第3步: 启动服务

[root@vm4 ~]# systemctl stop filebeat
[root@vm4 ~]# systemctl start filebeat

第5步: 去ES-head上验证

第6步:在kibana创建索引模式(过程省略,参考上面的笔记操作),然后点发现验证

filebeat收集nginx日志

1, 在filebeat这台服务器上安装nginx,启动服务。并使用浏览器访问刷新一下,模拟产生一些相应的日志(==强调==: 我们在这里是模拟的实验环境,一定要搞清楚实际情况下是把filebeat安装到nginx服务器上去收集日志)

[root@vm4 ~]# yum install epel-release -y
[root@vm4 ~]# yum install nginx -y
[root@vm4 ~]# systemctl restart nginx
[root@vm4 ~]# systemctl enable nginx

2, 修改filebeat配置文件,并重启服务

[root@vm4 ~]# cat /etc/filebeat/filebeat.yml |grep -v '#' |grep -v '^$'
filebeat.inputs:
- type: logenabled: truepaths:- /var/log/*.log- /var/log/nginx/access.log			只在这里加了一句nginx日志路径(按需求自定义即可)
filebeat.config.modules:path: ${path.config}/modules.d/*.ymlreload.enabled: false
setup.template.settings:index.number_of_shards: 3
setup.kibana:
output.logstash:hosts: ["10.1.1.13:5044"]
processors:- add_host_metadata: ~- add_cloud_metadata: ~[root@vm4 ~]# systemctl stop filebeat
[root@vm4 ~]# systemctl start filebeat

3, 验证(在kibana或es-head上查询)

练习: 尝试收集httpd,mysql日志

实验中易产生的问题总结:

  • filebeat配置里没有把output.elasticsearch改成output.logstash

  • filebeat在收集/var/log/*.log日志时,需要对日志进行数据的改变或增加,才会传。当/var/log/yum.log增加了日志数据会传输,但不会触发配置里的其它日志传输。(每个日志的传输是独立的)

  • filebeat收集的日志没有定义索引名称, 我这个实验是在logstash里定义的。(此例我定义的索引名叫filebeat2-%{+YYYY.MM.dd})

  • es-head受资源限制可能会关闭了,你在浏览器上验证可能因为缓存问题,看不到变化的结果。

  • 区分索引名和索引模式(index pattern)名

filebeat日志简单过滤

[root@vm4 ~]# grep -Ev '#|^$' /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: logenabled: truepaths:- /var/log/yum.log- /var/log/nginx/access.loginclude_lines: ['Installed']		表示收集的日志里有Installed关键字才会收集
filebeat.config.modules:path: ${path.config}/modules.d/*.ymlreload.enabled: false
setup.template.settings:index.number_of_shards: 3
setup.kibana:
output.logstash:hosts: ["10.1.1.13:5044"]
processors:- add_host_metadata: ~- add_cloud_metadata: ~[root@vm4 ~]# systemctl restart filebeat

测试方法:

通过yum installyum remove 产生日志,检验结果

结果为: yum install安装可以收集,yum remove卸载的不能收集

其它参数可以自行测试

  • exclude_lines

  • exclude_files

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/219357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子取证中Chrome各版本解密Cookies、LoginData账号密码、历史记录

文章目录 1.前置知识点2.对于80.X以前版本的解密拿masterkey的几种方法方法一 直接在目标机器运行Mimikatz提取方法二 转储lsass.exe 进程从内存提取masterkey方法三 导出SAM注册表 提取user hash 解密masterkey文件(有点麻烦不太推荐)方法四 已知用户密…

插入算法(C语言)

#include<cstdio> #include<iostream> #define N 9 using namespace std; int main() {int arr[N1] { 1,4,7,13,16,19,22,25,280 }; int in,i,j;//要插入的数字//打印要插入数字的数组所有元素printf("插入前的数组: ");for ( i 0; i <N; i){print…

STM32G030C8T6:使用外部晶振配置LED灯闪烁

本专栏记录STM32开发各个功能的详细过程&#xff0c;方便自己后续查看&#xff0c;当然也供正在入门STM32单片机的兄弟们参考&#xff1b; 本小节的目标是&#xff0c;使用STM32G030C8T6单片机&#xff0c;通过STM32CubeMX软件&#xff0c;配置并使用外部8MHz晶振&#xff0c;实…

6. Service详解

6. Service详解 文章目录 6. Service详解6.1 Service介绍6.2 Service类型6.3 Service使用6.3.1 实验环境准备6.3.2 ClusterIP类型的Service6.3.3 HeadLess类型的Service6.3.3.1 deployment和statefulset区别6.3.3.2 statefulset deployment 区别 6.3.4 NodePort类型的Service6.…

扩展操作码指令格式

指令 操作码地址码 \quad \quad 判断几地址指令 开头4位不是全1, 则表示是三地址指令 开头4位全1, 后面4位不是全1, 则为二地址指令 前面12全1, 则为零地址指令 当然啦这只是一种扩展方法, 如果想扩展更多, 可以将1110留作扩展操作码 较短的操作码, 我们对它的译码和分析的时间…

点云几何 之 判断某一点是否在三角形的边上(3)

点云几何 之 判断某一点是否在三角形的边上&#xff08;3&#xff09; 一、算法介绍二、算法实现1.代码2.结果 总结 一、算法介绍 判断某一点是否在三角形的边上 之前已经介绍了点在三角形的内外判断方法&#xff0c;这里增加点恰好在三角形边上的判断方法 &#xff08;本质上…

节流防抖:提升前端性能的秘密武器(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

vue3使用mars3d实现地图轮播高亮,且每个区域颜色不一样

效果图(珙县就是轮播高亮的效果) 思路:初始化一张完整的地图&#xff0c;然后定时器去挨个生成每个县上的地图&#xff0c;并且覆盖在原来的位置&#xff0c;每到一定的时间&#xff0c;就清除之前生成高亮图并且生成下一张高亮图 如何引入地图 上篇文章已详细发过 略 父组…

【JavaWeb学习笔记】7 - Servlet入门开发

零、在线文档 Servlet 3.1 API Documentation - Apache Tomcat 8.0.53 一、Servlet基本介绍 1.为什么出现Servlet 提出需求:请用你现有的html css javascript&#xff0c;开发网站&#xff0c;比如可以让用户留言/购物/支付,你能搞定吗? 不能 这几个不能直接操作数据库 …

Java 语言关键字

Java关键字是电脑语言里事先定义的&#xff0c;有特别意义的标识符&#xff0c;有时又叫保留字&#xff0c;还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义&#xff0c;他们用来表示一种数据类型&#xff0c;或者表示程序的结构等&#xff0c;关键字不能用作变量…

20231213给Ubuntu18.04.6LTS新加一块HDD机械硬盘

20231213给Ubuntu18.04.6LTS新加一块HDD机械硬盘 2023/12/13 22:50 rootrootrootroot-X99-Turbo:~$ cat /etc/issue Ubuntu 18.04.6 LTS \n \l sudo fdisk -l rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ sudo fdisk -lu Disk /dev/sda: 2.7 TiB, 300059298…

【源码解析】flink sql执行源码概述:flink sql执行过程中有哪些阶段,这些阶段的源码大概位置在哪里

文章目录 一. sql执行流程源码分析1. Sql语句解析成语法树阶段&#xff08;SQL - > SqlNode&#xff09;2. SqlNode 验证&#xff08;SqlNode – >Operation&#xff09;3. 语义分析&#xff08;Operation - > RelNode&#xff09;4. 优化阶段&#xff08;RelNode - &…

LangChain 25: SQL Agent通过自然语言查询数据库sqlite

LangChain系列文章 LangChain 实现给动物取名字&#xff0c;LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储&#xff0c;读取YouTube的视频文本搜索I…

2023全国大学生数据分析大赛A题完整论文教学

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了全国大学生数据分析大赛A题某电商平台用户行为分析与挖掘完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 实…

透析回溯的模板

关卡名 认识回溯思想 我会了✔️ 内容 1.复习递归和N叉树&#xff0c;理解相关代码是如何实现的 ✔️ 2.理解回溯到底怎么回事 ✔️ 3.掌握如何使用回溯来解决二叉树的路径问题 ✔️ 回溯可以视为递归的拓展&#xff0c;很多思想和解法都与递归密切相关&#xff0c;在很多…

Windows 网络监控的内容和方式

Microsoft Windows是使用最广泛的操作系统之一&#xff0c;受到全球用户的青睐&#xff0c;Windows 设备与许多进程、服务和事件相关联&#xff0c;这些进程、服务和事件通常需要从单个控制台进行跟踪&#xff0c;这就是 Windows 网络监控工具派上用场的地方。Windows 网络监控…

项目总结-自主HTTP实现

终于是写完了&#xff0c;花费了2周时间&#xff0c;一点一点看&#xff0c;还没有扩展&#xff0c;但是基本功能是已经实现了。利用的是Tcp为网络链接&#xff0c;在其上面又写了http的壳。没有使用epoll&#xff0c;多路转接难度比较高&#xff0c;以后有机会再写&#xff0c…

一张图片组合一组动作就可以生成毫无违和感的视频!

你敢信&#xff0c;1张人物图片 1张动作动画&#xff0c;就可以生成一段视频。网友直呼&#xff1a;“主播/视频UP主可能快要下岗了&#xff01;” &#xff08;模型视频来源于网络&#xff09; 本周&#xff0c;字节跳动联合新加坡国立大学发布了一款开源项目 MagicAnimate&…

Linux Ubuntu 手动搭建webDav

1、安装 因为需要跟 zotero 进行交互&#xff0c;因此需要在服务器搭建一个webDav 以下是搭建步骤&#xff1a; sudo apt-get update sudo apt-get install apache2 Ubuntu 安装apache2来实现 不同于Centos 安装好了之后&#xff0c;运行 a2enmod dav_fs a2enmod dav 激…