ELK(elasticsearch+logstash+kabana)安装及简单入门

本文介绍了Elasticsearch的安装步骤、配置方法及常用操作,包括文档的增删改查和查询语法。同时,还提供了Kibana和Logstash的安装配置教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ElasticSearch安装

  • 1、下载安装包
https://www.elastic.co/downloads/elasticsearch
wget https://www.elastic.co/downloads/elasticsearch
  • 2、解压到文件夹
tar -zxvf elasticsearch-5.2.2.tar.gz -C /bigdata/
  • 3、修改配置文件(在安装目录的config目录下)
    编辑配置文件elasticsearch.yml(配置es的相关配置)
    vi /bigdata/elasticsearch-5.2.2/config/elasticsearch.yml 修改
cluster.name: ELK #集群名称,以此作为是否是同意集群的判断 
node.name: es-01 #节点名称,以此作为集群中不同节点的分区条件 
path.data: /data/es/data #数据存储地址 
path.logs: /data/es/logs #日志存储地址 
network.host: 192.168.1.34 #(主机地址)对外发布的网络地址 
http.port: 9200 #ES默认监听的端口 
discovery.zen.ping.unicast.hosts: ["node01"]

编辑配置文件jvm.options(jvm的相关配置)

IMPORTANT: JVM heap size #配置jvm的大小(默认配置是2G)
-Xms2g
-Xmx2g

编辑配置文件log4j2.properties(日志打印输出相关配置,一般不需要修改)
配置文件的参数也可以在启动的时候指定
例如:bin/elasticsearch -Ehttp.port=19200
本地快速启动集群

bin/elasticsearch #默认的配置启动
bin/elasticsearch -Ehttp.port=19200 #修改端口号为19200启动
#看到started说明集群启动成功
输入:http://ip:port 查看Elasticsearch服务状态
查看节点时候组成集群,在浏览器中输入http://ip:port/_cat/nodes
例如:
http:192.168.1.31:9200/_cat/nodes
查看集群相关信息,执行http://ip:port/_cluster/stats
http://192.168.1.31:9200/_cluster/stats
  • 4、elasticsearch常用术语
    Document文档数据(就是具体存在ES中的一条数据)
    Index索引(可以理解为mysql中的数据库)
    Type索引中的数据类型(可以理解为mysql中的table)
    Field字段,文档的属性
    Query DSL查询语法

  • 5、Elasticsearch中CRUD操作

Create创建文档 
POST /accounts/person/1 { "name":"John""lastname":"Doe", "job_description":"Systems asministrator and Linux specialit" } 
#accounts 相当于索引Index 
#person 相当于类型Type 

Read读取文档 GET /accounts/person/1 

update更新文档 POST /accounts/person/1/_update { "name":"John""lastname":"Doe", "job_description":"Systems asministrator and Linux specialit" } 

Delete删除文档 DELETE /accounts/person/1
  • 6、ElasticSearch 中Query语法
第一种Query String 
GET /accounts/person/_search?q=john 
第二种Query DSL 
GET /accounts/person/_search { "query" :{ "match" :{ "name" : "john" } } }

Kabana安装

  • 1、下载kabana
https://www.elastic.co/downloads/kibana
  • 2、解压缩
tar -zxvf kibana-6.2.3-darwin-x86_64.tar.gz -C /bigdata/
  • 3、修改配置文件安装启动
    修改config/kibana.yml
server.port: 5601 # Kibana对外访问的端口 
server.host: "192.168.1.31" #Kibana对外访问的地址 
elasticsearch.url: "http://192.168.1.31:9200"  #Kibana需要访问的ElasticSearch的地址 

启动服务后,看到server running的时候说明已经跑起来了
  • 4、kabana常用功能
Discover数据搜索查看 
Visualize图表制作 
Dashboard仪表盘制作 
Timelion时序数据的高级可视化分析 
DevTools开发者工具(经常会用到) 
Managerment配置管理

LogStash使用

  • 1、下载
https://www.elastic.co/downloads/logstash
  • 2、解压缩

  • 3、准备logstash 配置文件

input { stdin { } }
output {
  elasticsearch { hosts => ["127.0.0.1:9200"] }
  stdout { codec => rubydebug }
}
  • 4、启动
    logstash -f logstash.conf
### ELK 堆栈的日志管理和分析 #### 工作原理概述 ELK 是由 ElasticsearchLogstash 和 Kibana 组成的一个开源工具链,用于日志管理与分析。其基本工作流如下: - **Logstash** 负责从各种来源收集日志数据,并对其进行过滤和格式化后发送至 Elasticsearch[^1]。 - **Elasticsearch** 提供强大的搜索引擎功能,负责对接收到的数据进行索引和存储。 - **Kibana** 则作为前端界面,允许用户通过图形化的方式查询、分析以及可视化这些数据[^3]。 #### 安装与配置步骤说明 ##### 1. 安装 Elasticsearch Elasticsearch 是整个系统的基石,它提供了分布式搜索和数据分析的能力。安装过程中需要注意版本兼容性问题。下载地址可以通过官方链接获取[^2]。完成安装后需调整 `elasticsearch.yml` 文件中的集群名称、节点名称以及其他必要的网络设置参数以适应实际环境需求。 ##### 2. 部署 Logstash Logstash 主要承担着数据输入端的角色,可以从文件系统、数据库或其他服务中提取原始记录再经过一系列插件处理之后传送给下游组件即 Elasticsearch 实例群组里去。具体操作包括解压软件包到目标目录下然后编辑对应的 configuration file 来定义 pipeline 的行为模式比如 source type filter output destination等等。 ##### 3. 设置 Kibana 最后一步就是启动 Kibana 应用来连接已有的 ES 数据库实例从而实现交互式的探索体验。同样地也需要修改默认路径下的 kibana.config.json 或者其他形式的初始化脚本来指定正确的 backend URL 地址确保两者之间能够正常通信握手成功建立联系。 以下是简单的 Python 示例来演示如何向运行中的 logstash 发送消息: ```python import logging import socket def send_log_to_logstash(message): host = 'localhost' # 替换为您的logstash主机名/IP port = 5000 # 替换为您所使用的TCP端口号 try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((host, port)) sock.sendall(bytes(message + '\n', 'utf-8')) sock.close() except Exception as e: logger.error(f"Failed to send message {message} due to error: {e}") if __name__ == "__main__": test_message = "This is a test log entry" send_log_to_logstash(test_message) ``` 此代码片段展示了怎样利用标准库里的套接字模块构建起基础版客户端程序以便于测试目的验证我们的pipeline是否按预期那样运作良好。 #### 总结 综上所述,通过合理规划各部分之间的协作关系再加上细致入微得当的各项设定就可以顺利达成基于ELK框架之上高效稳定可靠的解决方案来满足企业级应用场合当中对于海量结构化半结构性乃至完全非结构化的各类事件追踪审计等方面提出的苛刻要求了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值