15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 如何去搭建一个简单的elasticsearch搜索项目?

如何去搭建一个简单的elasticsearch搜索项目?

时间:2023-12-04 11:24:02 | 来源:网站运营

时间:2023-12-04 11:24:02 来源:网站运营

如何去搭建一个简单的elasticsearch搜索项目?:

前言

日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。

通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。

集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。

开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:https://www.elastic.co/products

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
如图:Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。


在这里插入图片描述
以上内容引自:https://www.jianshu.com/p/2c0ec31c03a0

一、准备工作

1.相关文件结构

在这里插入图片描述

2.修改系统的vm.max_map_count

基于elk-docker Prerequisites的说明,需要将系统的vm.max_map_count设置为
262144或更多。

  1. 修改文件/etc/sysctl.conf
sudo vi /etc/sysctl.conf
  1. 增加以下属性
    vm.max_map_count=262144
  2. 查看修改结果
sysctl -p

二、安装和映射oss

  1. 创建oss的bucket和使用RAM用户访问请参考高级配置 (aliyun.com)
  2. 安装ossfs
// 下载安装包wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm// 安装ossfssudo yum install ossfs_1.80.6_centos7.0_x86_64.rpm
  1. 映射oss到本地
// 将Bucket名称以及具有该Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs // 文件的权限建议设置为640chmod 640 /etc/passwd-ossfs// 创建本地挂载路径mkdir ./elasticsearch/data// 将oss映射到本地ossfs BucketName ./elasticsearch/data -o url=http://oss-cn-hangzhou.aliyuncs.com -oallow_other
  1. 设置开机启动
创建/etc/init.d/ossfs文件

sudo vi /etc/init.d/ossfs填入如下内容

#! /bin/bash## ossfs Automount Aliyun OSS Bucket in the specified direcotry.## chkconfig: 2345 90 10# description: Activates/Deactivates ossfs configured to start at boot time.ossfs BucketName ./elasticsearch/data -o url=http://oss-cn-hangzhou.aliyuncs.com -oallow_other设置开机启动

// 把新建立的ossfs脚本赋予可执行权限。chmod a+x /etc/init.d/ossfs// 把ossfs启动脚本作为其他服务,开机自动启动。chkconfig ossfs on

三、安装和配置ELK服务

1. 获取sebp/elk的原始配置文件

// 在运行容器并且把容器里的配置cp到宿主机当中docker run --name elk sebp/elkdocker cp -a elk:/opt/kibana/config/kibana.yml ./kibanadocker cp -a elk:/opt/logstash/config ./logstash/config//然后删除刚才创建的容器docker stop -f elkdocker rm -f elk

2. 编写docker-compose,内容如下

version: '3'services: elk: image: sebp/elk container_name: elk restart: always ports: - "5601:5601" - "9200:9200" - "5044:5044" volumes: - /opt/docker/elk/elasticsearch/data:/var/lib/elasticsearch - /opt/docker/elk/logstash/conf.d:/etc/logstash/conf.d - /opt/docker/elk/logstash/config:/opt/logstash/config - /opt/docker/elk/kibana/kibana.yml:/opt/kibana/config/kibana.yml networks: - elk_net environment: - TZ=Asia/Shanghainetworks: elk_net: external: true

3. 配置logstash

  1. 创建配置文件
vi ./logstash/conf.d/yourconfigname.conf
  1. 根据需求配置文件内容
input { beats { port => 5044 }}output { stdout { codec => rubydebug } elasticsearch { hosts => ["http://localhost:9200"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" }}

4. 汉化kibana

  1. 修改配置文件
vi ./kibana/kibana.yml
  1. 在文件末尾增加如下内容
i18n.locale: "zh-CN"

5. 启动ELK

docker-compose -f ./docker-compose.yml up -d启动完成后访问 http://ip:5601

总结

基于项目需要,搭建了一套ELK服务进行测试,后续需要考虑安全和分布式部署的问题。

参考链接

https://elk-docker.readthedocs.io/
https://elk-docker.readthedocs.io/#prerequisites
https://help.aliyun.com/document_detail/153893.html
https://help.aliyun.com/document_detail/153892.html

关键词:项目,简单

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭