1、ELK的架构和安装

ELK简介

elk:elasticsearch logstash kibana,统一日志收集系统。

elasticsearch:分布式的全文索引引擎的非关系数据库,json格式,在elk中存储所有的日志信息,架构有主和从,最少需要2台。

logstash:动态的从各种指定的数据源,获取数据,而且对数据进行过滤,分析。按照统一的格式发送到es。

kibana:把es的数据进行展示,进行客户端可以理解的操作,汇总、分析和搜索数据的平台。

ELK的架构

工作原理

  1. logstash收集日志数据
  2. 收集到的数据按照es的格式,发送到数据库
  3. 在图像界面展示--kibana
  4. 客户端访问kibana

数据库基本都是物理服务器

nginx可以微服务部署,redis也可以微服务部署;keep/lvs?docker可以部署,k8s不需要。

安装ELK

注意安装ELK内存不能少于4G,安装过程中要先检查下内存,不够的话清理下

echo 3 > /proc/sys/vm/drop_caches

实验架构如下

es1:zw4,192.168.254.14

es2:zw5,192.168.254.15

logstash、kibana:mysql1,192.168.254.31

安装elasticsearch

1、安装java依赖环境

2、提前准备好es包,并安装

3、两台es服务器修改es主配置文件 /etc/elasticsearch/elasticsearch.yml

配置es1,具体修改如下

配置es2,具体修改如下

两台es服务器共同操作

保存退出后,一键检查两台es配置有无问题

4、启动elasticsearch.service并检查是否启动成功

首先查看日志,显示已启动

再查看端口,显示端口已启

最后看浏览器能否正常访问

安装logstash和kibana

1、安装java依赖环境

2、安装logstash和kibana包

dpkg -i logstash-6.7.2.deb

dpkg -i kibana-6.7.2-amd64.deb

3、先开启logstash服务,再创建软连接

回到别的目录下,看logstash能否自动补齐

4、配置kibana配置文件/etc/kibana/kibana.yml,创建kibana日志文件

修改配置文件前先创建备份文件

具体修改如下

创建kibana日志文件并赋权

重启后发现kibana启动成功

收集日志

当我们进行索引管理时,发现没有记录,说明我们没有logstash还不能收集数据。

1、创建logstash的本地日志收集文件

  • conf.d:是logstash存放日志的目录
  • system.conf:创建日志收集文件,必须要以.conf

具体脚本内容和注释如下

2、开启日志收集

​​​​​​-f:file,从指定文件开始收集

--path.data /opt/test1:没启动一个logstash就会有一个数据文件,默认都在/var/log/logstash

最后显示logstash日志收集成功

3、登录kibana,显示日志收集成功

这时候,我们可以先启动nginx,再关闭nginx,可以发现日志收集更新也正常

filebeat

filebeat:是一款轻量级的日志收集工具,不依赖java环境。

用来替代在机器上没有java环境的情况下进行日志收集。

filebeat启动收集日志,只要10M左右的内存。、

elk+filebeat架构

elk+filebeat实操

在上面实现ELK的基础上,完成elk+filebeat实操。

实验架构如下

filebeat:mysql2,192.168.254.32

我们在192.168.254.32主机上,安装filebeat软件,然后模拟filebeat收集本机上nginx和mysql日

志。具体操作如下:

1、首先配置mysql主配置文件,打开mysql日志记录功能

2、安装filebeat包,filebeat包解压即用

3、配置filebeat主配置文件/usr/local/filebeat/filebeat.yml,添加内容和注释如下

  • #指定本机收集nginx和mysql日志,包括类型、收集日志的位置及索引名称等
  • #允许这个进程开启线程
  • #logstash的端口,不是说logstash一定是5044,理论上来说可以是任意端口,5044是logstash起始端口,如果被别的程序占用,可以从5044依次往后改。

4、创建logstash的nginx和mysql日志收集文件/etc/logstash/conf.d/test1.conf

5、先启动filebeat,再启动logstash的日志收集文件test1.conf

  • -e:输出的格式为标准输出
  • -c:指定配置文件

最后我们在启动filebeat程序运行中,可以看出filebeat的主机和logstash的主机连接成功

6、登录kibana,显示日志收集成功

相关推荐
2401_850410834 小时前
ELK+filebeat+kafka
分布式·elk·kafka
zyplanke2 天前
Elasticsearch及ELK使用(四):与数据库DB交互
数据库·elk
2401_878961722 天前
ELK zookeeper kafka
elk
高hongyuan2 天前
ELK日志平台搭建 (最新版)
elk
栀寒老醑5 天前
ELK日志收集
linux·运维·服务器·nginx·elk·centos·graylog
007php0075 天前
gozero项目接入elk的配置与实战
运维·开发语言·后端·elk·golang·jenkins·ai编程
弗罗里达老大爷6 天前
ELK日志收集系统部署
运维·elk·jenkins
编程、小哥哥6 天前
ELK 使用教程采集系统日志 Elasticsearch、Logstash、Kibana
elk·elasticsearch·jenkins
2401_871213306 天前
redis的集群模式与ELK基础
数据库·redis·elk