当前位置: 首页 > news >正文

集中管理和分析日志:使用 ELK 套件构建强大的日志管理平台

集中管理和分析日志:使用 ELK 套件构建强大的日志管理平台

日志是监控和调试应用程序和系统的重要工具。集中管理和分析日志可以帮助你快速定位问题、了解系统运行状况和性能,并提高你的日志管理效率。ELK 是一个流行的日志管理解决方案,由 Elasticsearch、Logstash 和 Kibana 组成。Elasticsearch 是一个分布式搜索和分析引擎,Logstash 是一个日志收集和解析工具,而 Kibana 是一个可视化界面,用于查看和分析日志数据。

1. 安装 ELK 套件

ELK 套件的安装过程因操作系统而异。以下是在 Ubuntu 和 CentOS 上安装 ELK 套件的步骤。

1.1 在 Ubuntu 上安装 ELK

首先,添加 Elasticsearch 的 APT 仓库:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

更新包列表并安装 Elasticsearch:

sudo apt update
sudo apt install elasticsearch

启动 Elasticsearch 服务:

sudo systemctl start elasticsearch.service

安装 Logstash:

sudo apt update
sudo apt install logstash

安装 Kibana:

sudo apt update
sudo apt install kibana

1.2 在 CentOS 上安装 ELK

首先,添加 Elasticsearch 的 YUM 仓库:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo sh -c 'echo "[elasticsearch-7.x]" > /etc/yum.repos.d/elastic.repo'
sudo sh -c 'echo "name=Elasticsearch repository for 7.x packages" >> /etc/yum.repos.d/elastic.repo'
sudo sh -c 'echo "baseurl=https://artifacts.elastic.co/packages/7.x/yum" >> /etc/yum.repos.d/elastic.repo'
sudo sh -c 'echo "gpgcheck=1" >> /etc/yum.repos.d/elastic.repo'
sudo sh -c 'echo "gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch" >> /etc/yum.repos.d/elastic.repo'
sudo sh -c 'echo "enabled=1" >> /etc/yum.repos.d/elastic.repo'
sudo sh -c 'echo "autorefresh=1" >> /etc/yum.repos.d/elastic.repo'
sudo sh -c 'echo "type=rpm-md" >> /etc/yum.repos.d/elastic.repo'

安装 Elasticsearch:

sudo yum install elasticsearch

启动 Elasticsearch 服务:

sudo systemctl start elasticsearch.service

安装 Logstash:

sudo yum install logstash

安装 Kibana:

sudo yum install kibana

2. 配置 ELK 套件

2.1 配置 Elasticsearch

Elasticsearch 的配置文件位于 /etc/elasticsearch/elasticsearch.yml。编辑此文件以配置 Elasticsearch:

cluster.name: my-cluster
node.name: my-nodenetwork.host: 192.168.1.10
http.port: 9200discovery.seed_hosts: ["192.168.1.10"]
cluster.initial_master_nodes: ["my-node"]

重新加载 Elasticsearch 配置:

sudo systemctl reload elasticsearch.service

2.2 配置 Logstash

Logstash 的配置文件位于 /etc/logstash/logstash.yml。编辑此文件以配置 Logstash:

input {file {path => "/var/log/syslog"start_position => "beginning"}
}filter {grok {match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }}date {match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]}
}output {elasticsearch {hosts => ["192.168.1.10:9200"]index => "syslog-%{+YYYY.MM.dd}"}
}

启动 Logstash 服务:

sudo systemctl start logstash.service

2.3 配置 Kibana

Kibana 的配置文件位于 /etc/kibana/kibana.yml。编辑此文件以配置 Kibana:

server.port: 5601
server.host: "192.168.1.10"
elasticsearch.hosts: ["http://192.168.1.10:9200"]

启动 Kibana 服务:

sudo systemctl start kibana.service

3. 使用 Kibana 分析日志

在浏览器中访问 Kibana 的 Web 界面:http://<Kibana主机IP>:5601。你可以使用 Kibana 的可视化工具和搜索功能来查看和分析日志数据。

例如,你可以创建一个可视化来显示来自特定日志文件的消息数量:

  1. 在 Kibana 中,进入 “Visualize” 部分。
  2. 点击 “Create visualization”。
  3. 选择 “Area” 类型。
  4. 在 “Index pattern” 字段中,选择 “syslog-*”。
  5. 在 “Metrics” 部分,添加一个 “Count” 指标。
  6. 在 “Buckets” 部分,添加一个 “Date” 桶,并将其设置为 “Auto”。
  7. 点击 “Save” 保存可视化。

现在,你可以在 Kibana 中查看来自特定日志文件的日志消息数量随时间的变化。

4. 使用 Logstash 收集日志

Logstash 可以从各种来源收集日志数据,例如文件、syslog 和网络套接字。以下是一个示例 Logstash 配置,它将收集来自 /var/log/syslog 的日志数据,并将其发送到 Elasticsearch:

input {file {path => "/var/log/syslog"start_position => "beginning"}
}filter {grok {match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }}date {match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]}
}output {elasticsearch {hosts => ["192.168.1.10:9200"]index => "syslog-%{+YYYY.MM.dd}"}
}

你可以根据需要修改 Logstash 配置,例如添加其他过滤器来解析特定格式的日志数据。

5. 总结

通过安装和配置 ELK 套件,你可以构建一个强大的日志管理平台,用于集中管理和分析日志数据。这将帮助你快速定位问题、了解系统运行状况和性能,并提高你的日志管理效率。

相关文章:

集中管理和分析日志:使用 ELK 套件构建强大的日志管理平台

集中管理和分析日志&#xff1a;使用 ELK 套件构建强大的日志管理平台 日志是监控和调试应用程序和系统的重要工具。集中管理和分析日志可以帮助你快速定位问题、了解系统运行状况和性能&#xff0c;并提高你的日志管理效率。ELK 是一个流行的日志管理解决方案&#xff0c;由 …...

深度学习 - 模型的保存与部署方式汇总

深度学习模型保存和加载格式科普 在深度学习中&#xff0c;模型的保存和加载是非常重要的环节。不同的格式有不同的特点和适用场景。本文将为新手朋友们介绍几种常见的模型格式&#xff0c;包括它们的简介、保存方式、加载方式、优缺点以及应用场景。 1. PyTorch (.pth, .pt)…...

人工智能对网络安全有何影响?

人工智能网络安全在短期、中期和长期如何变化 当今数字时代网络安全的重要性 在谈论人工智能在网络安全中的作用时&#xff0c;必须首先考虑短期影响&#xff0c;因为它们是最明显的&#xff0c;而且它是一个未知的领域&#xff0c;需要超越直接炒作的能力。 因此&#xff0…...

Oracle的RECYCLEBIN回收站:轻松恢复误删对象

目录 Oracle的RECYCLEBIN回收站&#xff1a;轻松恢复误删对象一、概念二、工作原理三、使用方法1 查看回收站中的对象2 恢复回收站中的对象2.1 恢复表&#xff08;TABLE&#xff09;2.2 恢复索引&#xff08;INDEX&#xff09;2.3 恢复视图&#xff08;VIEW&#xff09;2.4 恢复…...

Android 内存原理详解以及优化(二)

上一篇讲了内存原理&#xff0c;如果还没看可以先看上一篇&#xff1a;Android 内存原理详解以及优化&#xff08;一&#xff09; 这一篇我总结一下我们经常遇到的内存优化问题&#xff1a; 1.内存抖动 自定义view的ondraw是会被频繁调用的&#xff0c;那在这个方法里面就不能频…...

Shell学习——Shell变量

文章目录 Shell变量使用变量只读变量删除变量变量类型字符串变量&#xff1a; 在 Shell中&#xff0c;变量通常被视为字符串。整数变量&#xff1a; 在一些Shell中&#xff0c;你可以使用 declare 或 typeset 命令来声明整数变量。数组变量&#xff1a; Shell 也支持数组&#…...

Java中的持续集成与持续部署(CI/CD)

Java中的持续集成与持续部署&#xff08;CI/CD&#xff09; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨Java中的持续集成&#xff08;Co…...

极狐GitLab 将亮相2024空天信息大会暨数字地球生态峰会,携手中科星图赋能空天行业开发者

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab &#xff1a;https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署…...

Beats:使用 Filebeat 从 Python 应用程序中提取日志

本指南演示了如何从 Python 应用程序中提取日志并将其安全地传送到 Elasticsearch Service 部署中。你将设置 Filebeat 来监控具有标准 Elastic Common Schema (ECS) 格式字段的 JSON 结构日志文件&#xff0c;然后你将在 Kibana 中查看日志事件发生的实时可视化。虽然此示例使…...

51单片机第23步_定时器1工作在模式0(13位定时器)

重点学习51单片机定时器1工作在模式0的应用。 在51单片机中&#xff0c;定时器1工作在模式0&#xff0c;它和定时器0一样&#xff0c;TL1占低5位&#xff0c;TH1占高8位&#xff0c;合计13位&#xff0c;也是向上计数。 1、定时器1工作在模式0 1)、定时器1工作在模式0的框图…...

linux的服务管理

systemd systemd 是一个系统和服务管理器&#xff0c;用于Linux操作系统中&#xff0c;旨在替代传统的Unix系统V初始化系统&#xff08;SysV init&#xff09;。 不一定所有使用 yum 安装的软件都可以通过 systemctl start 来管理。能否通过 systemctl start 管理取决于软件包…...

动手学深度学习(Pytorch版)代码实践 -循环神经网络-53语言模型和数据集

53语言模型和数据集 1.自然语言统计 引入库和读取数据&#xff1a; import random import torch from d2l import torch as d2l import liliPytorch as lp import numpy as np import matplotlib.pyplot as plttokens lp.tokenize(lp.read_time_machine())一元语法&#xf…...

Python 学习之自动化运维技术(八)

Python 的自动化运维技术 Python的自动化运维技术是指利用Python编程语言和相关工具实现运维工作的自动化&#xff0c;以提高效率、减轻工作负担。以下是对Python自动化运维技术的清晰归纳和详细介绍&#xff1a; 一、自动化运维的核心优势 ● 提高效率&#xff1a;通过自动化脚…...

【python】PyQt5可视化开发,如何设计鼠标显示的形状?

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…...

利用大模型知识库,优化智能客服问答效果 | 创新场景

ITValue 痛点 SSC&#xff08; Share Service Center &#xff0c;共享服务中心&#xff09;是企业日常接触最多的场景之一&#xff0c;更多是对内服务&#xff0c;包括 HR 、财务、IT 等。该场景对专业度要求非常高&#xff0c;知识点非常多&#xff0c;对于知识的使用者或者查…...

物联网协议都包含哪些协议?

物联网协议是物联网生态系统中不可或缺的组成部分&#xff0c;它们负责处理和协调物联网设备之间的通信。具体介绍如下&#xff1a; Ethernet&#xff1a;以太网是一种有线网络协议&#xff0c;广泛应用于局域网络(LAN)中&#xff0c;提供稳定的高速数据传输。Wi-Fi&#xff1…...

面试专区|【52道微服务架构高频题整理(附答案背诵版)】

简述什么是微服务&#xff1f; 微服务是一种软件架构风格&#xff0c;它将应用程序拆分成一系列小型、独立的服务&#xff0c;每个服务都运行在其自己的进程中&#xff0c;通过轻量级通信机制进行通信。每个服务都具有明确的业务能力&#xff0c;并且可以独立开发、测试、部署…...

数据结构之算法的时间复杂度

1.时间复杂度的定义 在计算机科学中&#xff0c;算法的时间复杂度是一个函数&#xff0c;它定量描述了算法的运行时间。一个算法所花费的时间与其中语句的执行次数成正比列&#xff0c;算法中的基本操作的执行次数&#xff0c;为算法的时间复杂度 例1&#xff1a; 计算Func1…...

unity中物体被激活自动执行挂载代码

在Unity中,如果希望当物体被激活时自动执行特定的函数,可以利用 MonoBehaviour 的生命周期函数 OnEnable()。这个方法会在对象被激活时调用,可以用来执行初始化或者处理其他逻辑。以下是如何在脚本中使用 OnEnable() 方法: using UnityEngine;public class ActivateFuncti…...

Pandas数据可视化详解:大案例解析(第27天)

系列文章目录 Pandas数据可视化解决不显示中文和负号问题matplotlib数据可视化seaborn数据可视化pyecharts数据可视化优衣库数据分析案例 文章目录 系列文章目录前言1. Pandas数据可视化1.1 案例解析&#xff1a;代码实现 2. 解决不显示中文和负号问题3. matplotlib数据可视化…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...