裸机使用|裸机使用 filebeat 采集裸机上的日志文件,并发到 elasticsearch
部署 elasticsearch 和 kibana
因为是 demo 性质的使用,所以就用 docker-compose 简单跑一下
version: "3"
services:
elk-elasticsearch:
container_name: elk-elasticsearch
image: elasticsearch:7.17.1
ports:
- "9200:9200"
- "9300:9300"
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms1g -Xmx1g" # 限制 es 的内存大小,不然会吃掉 10GB+ 的 RAMelk-kibana:
container_name: elk-kibana
image: kibana:7.17.1
ports:
- "5601:5601"
environment:
- ELASTICSEARCH_HOSTS=http://192.168.31.245:9200
volumes:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml # kibana 其实是支持中文的,只要在 /usr/share/kibana/config/kibana.yml 加一行 i18n.locale: "zh-CN"
elasticsearch 和 kibana 的版本要一致。同样的,后面的 filebeat 也要版本一致!
这次我们都用
7.17.1
如果需要用 dbeaver 之类的工具连接 elasticsearch 遇到 current license is non-compliant for [jdbc]
,可以参考:current license is non-compliant for jdbc 解决!
创建索引
一开始,我参考了这个教程:EFK 搭建简单的日志分析系统不得不说这个教程写的非常的烂,缺斤短两,但即便如此,这已经还是谷歌搜索出来排名靠前
部署好了 elasticsearch 和 kibana 之后,我们需要去 elasticsearch 创建索引
为什么需要创建索引(index)?怎么创建索引?方法有很多,比如:
index 这个概念在 elasticsearch 中就相当于 mysql 中的 table(elasticsearch 没有 db 这个概念)。主要注意的是,elasticsearch 的 index,创建的时候,只给一个 index name 就可以,不需要定义 schema
- 通过 dbeaver,连接到 elasticsearch,然后在 dbeaver 为 elasticsearch 创建索引
- 使用 kibana 连接到 elasticsearch,然后在 kibana 为 elasticsearch 创建索引
- 使用 python、java 等编程语言提供的 elasticsearch client sdk 直接连接到 elasticsearch 创建索引
python 的 elasticsearch client sdk 版本也要版本保持一致!下面给几个参考代码:
pip install elasticsearch==7.17.1
关于如何使用 elasticsearch client sdk 操作 elasticsearch,可以参考这篇文章: Elasticsearch 基本介绍及其与 Python 的对接实现(这个文章中的 elasticsearch client sdk 比较老,所以一些 api 的参数名等等都发生了变化了 )
【裸机使用|裸机使用 filebeat 采集裸机上的日志文件,并发到 elasticsearch】创建 index
from elasticsearch import Elasticsearches = Elasticsearch("http://192.168.31.245:9200")
result = es.indices.create(index='nie')
print(result)
这里很简单,实际上,你还需要添加一些参数,比如指定 index 的『副本数』、『分片数』。比如你的 elasticsearch 集群有 3 个 node,那『分片数』就应该是 3 的倍数,这样才能更好的利用集群的资源!裸机使用 filebeat 采集裸机上的日志文件,并发到 elasticsearch
推荐阅读
- 使用CloudSight|使用CloudSight API进行图像识别的Python脚本
- 为什么使用Well-Architected Framework()
- java|使用环信进行即时通信IM
- 即时通讯使用|极光通讯用于java web即时通信---构建idea下maven+springboot第三方即时通讯
- 软引用和弱引用|如何通过软引用和弱引用提升JVM内存使用效率()
- 云原生|Helm理解和使用
- 浏览器突然关闭,如何恢复浏览器进程()
- 使用|使用 Azure 静态 Web 应用服务免费部署 Hexo 博客
- 咱们500万条数据测试一下,如何合理使用索引加速()
- FPGA|Xilinx FPGA 使用Microblaze实现串口命令行