ELK 日志系统部署实践(中)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: ELK 日志系统部署实践

2、录入数据


新增一个基于geo point类型的数据,可以使用多种方式。


**多种类型描述geo_point类型字段的时候,在搜索数据的时候,显示的格式 **和录入的格式是统一的。不影响搜索。任何数据描述的geo_point类型字段,都适用地理位置搜索。


数据范围要求:纬度范围是-9090之间,经度范围是-180180之间。经纬度数据都是浮点数或数字串(数字组成的字符串),最大精度:小数点后7位。(常

用小数点后6位即可。)


基于对象:latitude:纬度、longitude:经度。语义清晰,建议使用。


PUT /hotel_app/_doc/1 
 { 
 "name": "七天连锁酒店", 
 "pin" : { 
 "lat" : 40.12, 
 "lon" : -71.34 
 } 
 }


基于字符串:依次定义纬度、经度。不推荐使用


PUT /hotel_app/_doc/2 
{ 
"name": "维多利亚大酒店", 
"pin" : "40.99, ‐70.81" 
} 


基于数组:依次定义经度、纬度。不推荐使用


PUT /hotel_app/_doc/3 
 { 
 "name": " 红树林宾馆", 
 "pin" : [40, ‐73.81] 
 } 


3、搜索指定区域范围内的数据


总结:


矩形范围搜索:传入的top_left和bottom_right坐标点是有固定要求的。地图中以北作为top,南作为bottom,西作为left,东作为right。也就是top_left 应该从西北向东南。Bottom_right应该从东南向西北。Top_left的纬度应该大于bottom_right的纬度,top_left的经度应该小于bottom_right的经度。多边形范围搜索:对传入的若干点的坐标顺序没有任何的要求。只要传入若干地理位置坐标点,即可形成多边形。


搜索矩形范围内的数据


GET /hotel_app/_doc/_search 
{ 
"query": { 
"bool": { 
"must": [ 
{ 
"match_all": {} 
} 
], 
 "filter": { 
 "geo_bounding_box": { 
 "pin": { 
 "top_left" : { 
 "lat" : 41.73, 
 "lon" : ‐74.1 
 }, 
 "bottom_right" : { 
 "lat" : 40.01, 
 "lon" : ‐70.12 
 } 
 } 
 } 
 } 
 } 
 } 
 } 
 GET /hotel_app/_doc/_search 
 { 
 "query": { 
 "constant_score": { 
 "filter": { 
 "geo_bounding_box": { 
 "pin": { 
 "top_left": { 
 "lat": ‐70,
 "lon": 39 
 }, 
 "bottom_right": { 
 "lat": ‐75, 
 "lon": 41 
 } 
 } 
 } 
 } 
 } 
 } 
 } 


搜索多边形范围内的数据


GET /hotel_app/_doc/_search 
{ 
"query": { 
"bool": { 
"must": [ 
{ 
"match_all": {} 
} 
], 
 "filter": { 
 "geo_polygon": { 
 "pin": { 
 "points": [ 
 {"lat" : 40.73, "lon" : ‐74.1}, 
 {"lat" : 40.01, "lon" : ‐71.12}, 
 {"lat" : 50.56, "lon" : ‐90.58} 
 ] 
 } 
 } 
 } 
 } 
 } 
 } 


4、搜索某地点附近的数据


这个搜索在项目中更加常用。类似附近搜索功能。


Distance距离的单位,常用的有米(m)和千米(km)。


建议使用filter来过滤geo_point数据。因为geo_point数据相关度评分计算比较耗时。使用query来搜索geo_point数据效率相对会慢一些。建议使用filter。


GET /hotel_app/_doc/_search 
{ 
"query": { 
"bool": { 
"must": [ 
{ 
"match_all": {} 
} 
], 
 "filter": { 
 "geo_distance": { 
 "distance": "200km", 
 "pin": { 
 "lat": 40, 
 "lon": ‐70 
 } 
 } 
 } 
 } 
 } 
 } 
 GET hotel_app/_search 
 { 
 "query": { 
 "geo_distance" : { 
 "distance" : "90km", 
 "pin" : { 
 "lat" : 40.55, 
 "lon" : ‐71.12 
 } 
 } 
 } 
 }


5、统计某位置附近区域内的数据


聚合统计分别距离某位置80英里,300英里,1000英里范围内的数据数量。


其中unit是距离单位,常用单位有:米(m),千米(km),英里(mi)

distance_type是统计算法:sloppy_arc默认算法、arc最高精度、plane最高效率


GET /hotel_app/_doc/_search 
{ 
"size": 0, 
"aggs": { 
"agg_by_pin" : { 
"geo_distance": { 
"distance_type": "arc", 
"field": "pin", 
"origin": { 
 "lat": 40, 
 "lon": ‐70 
 }, 
 "unit": "mi", 
 "ranges": [ 
 { 
 "to": 80 
 }, 
 { 
 "from": 80, 
 "to": 300 
 }, 
 { 
 "from": 300, 
 "to": 1000 
 } 
 ] 
 } 
 } 
 } 
 } 


四、BeatsBeats


是一个开放源代码的数据发送器。我们可以把Beats作为一种代理安装在我们的服务器上,这样就可以比较方便地将数据发送到Elasticsearch或者Logstash中。Elastic Stack提供了多种类型的Beats组件。


审计数据 AuditBeat


日志文件 FileBeat


云数据 FunctionBeat


可用性数据 HeartBeat


系统日志 JournalBeat


指标数据 MetricBeat


网络流量数据 PacketBeat


Windows事件日志 Winlogbeat


Beats可以直接将数据发送到Elasticsearch或者发送到Logstash,基于Logstash

可以进一步地对数据进行处理,然后将处理后的数据存入到Elasticsearch,最后

使用Kibana进行数据可视化。


1、FileBeat简介


FileBeat专门用于转发和收集日志数据的轻量级采集工具。它可以为作为代理安

装在服务器上,FileBeat监视指定路径的日志文件,收集日志数据,并将收集到

的日志转发到Elasticsearch或者Logstash。


2、FileBeat的工作原理


启动FileBeat时,会启动一个或者多个输入(Input),这些Input监控指定的日

志数据位置。FileBeat会针对每一个文件启动一个Harvester(收割机)。


Harvester读取每一个文件的日志,将新的日志发送到libbeat,libbeat将数据收

集到一起,并将数据发送给输出(Output)。


3、安装FileBeat


安装FileBeat只需要将FileBeat Linux安装包上传到Linux系统,并将压缩包解压

到系统就可以了。


FileBeat官方下载地址:


www.elastic.co/cn/download…


上传FileBeat安装到Linux,并解压。


tar ‐xvzf filebeat‐7.6.1‐linux‐x86_64.tar.gz ‐C ../usr/local/es/


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
10天前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
|
3月前
|
Rust 前端开发 JavaScript
Tauri 开发实践 — Tauri 日志记录功能开发
本文介绍了如何为 Tauri 应用配置日志记录。Tauri 是一个利用 Web 技术构建桌面应用的框架。文章详细说明了如何在 Rust 和 JavaScript 代码中设置和集成日志记录,并控制日志输出。通过添加 `log` crate 和 Tauri 日志插件,可以轻松实现多平台日志记录,包括控制台输出、Webview 控制台和日志文件。文章还展示了如何调整日志级别以优化输出内容。配置完成后,日志记录功能将显著提升开发体验和程序稳定性。
174 1
Tauri 开发实践 — Tauri 日志记录功能开发
|
3天前
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
1月前
|
存储 数据采集 监控
云上数据安全保护:敏感日志扫描与脱敏实践详解
随着企业对云服务的广泛应用,数据安全成为重要课题。通过对云上数据进行敏感数据扫描和保护,可以有效提升企业或组织的数据安全。本文主要基于阿里云的数据安全中心数据识别功能进行深入实践探索。通过对商品购买日志的模拟,分析了如何使用阿里云的工具对日志数据进行识别、脱敏(3 种模式)处理和基于 StoreView 的查询脱敏方式,从而在保障数据安全的同时满足业务需求。通过这些实践,企业可以有效降低数据泄漏风险,提升数据治理能力和系统安全性。
348 11
云上数据安全保护:敏感日志扫描与脱敏实践详解
|
4月前
|
存储 消息中间件 网络协议
日志平台-ELK实操系列(一)
日志平台-ELK实操系列(一)
|
29天前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
|
2月前
|
存储 数据采集 监控
云上数据安全保护:敏感日志扫描与脱敏实践详解
随着企业对云服务的广泛应用,数据安全成为重要课题。通过对云上数据进行敏感数据扫描和保护,可以有效提升企业或组织的数据安全。本文主要基于阿里云的数据安全中心数据识别功能进行深入实践探索。通过对商品购买日志的模拟,分析了如何使用阿里云的工具对日志数据进行识别、脱敏(3 种模式)处理和基于 StoreView 的查询脱敏方式,从而在保障数据安全的同时满足业务需求。通过这些实践,企业可以有效降低数据泄漏风险,提升数据治理能力和系统安全性。
|
3月前
|
Web App开发 存储 监控
iLogtail 开源两周年:UC 工程师分享日志查询服务建设实践案例
本文为 iLogtail 开源两周年的实践案例分享,讨论了 iLogtail 作为日志采集工具的优势,包括它在性能上超越 Filebeat 的能力,并通过一系列优化解决了在生产环境中替换 Filebeat 和 Logstash 时遇到的挑战。
161 19
|
2月前
|
存储 监控 安全
|
4月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
65 2

热门文章

最新文章