集中管理和分析日志:使用 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 的可视化工具和搜索功能来查看和分析日志数据。
例如,你可以创建一个可视化来显示来自特定日志文件的消息数量:
- 在 Kibana 中,进入 “Visualize” 部分。
- 点击 “Create visualization”。
- 选择 “Area” 类型。
- 在 “Index pattern” 字段中,选择 “syslog-*”。
- 在 “Metrics” 部分,添加一个 “Count” 指标。
- 在 “Buckets” 部分,添加一个 “Date” 桶,并将其设置为 “Auto”。
- 点击 “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 套件构建强大的日志管理平台
集中管理和分析日志:使用 ELK 套件构建强大的日志管理平台 日志是监控和调试应用程序和系统的重要工具。集中管理和分析日志可以帮助你快速定位问题、了解系统运行状况和性能,并提高你的日志管理效率。ELK 是一个流行的日志管理解决方案,由 …...
深度学习 - 模型的保存与部署方式汇总
深度学习模型保存和加载格式科普 在深度学习中,模型的保存和加载是非常重要的环节。不同的格式有不同的特点和适用场景。本文将为新手朋友们介绍几种常见的模型格式,包括它们的简介、保存方式、加载方式、优缺点以及应用场景。 1. PyTorch (.pth, .pt)…...
人工智能对网络安全有何影响?
人工智能网络安全在短期、中期和长期如何变化 当今数字时代网络安全的重要性 在谈论人工智能在网络安全中的作用时,必须首先考虑短期影响,因为它们是最明显的,而且它是一个未知的领域,需要超越直接炒作的能力。 因此࿰…...
Oracle的RECYCLEBIN回收站:轻松恢复误删对象
目录 Oracle的RECYCLEBIN回收站:轻松恢复误删对象一、概念二、工作原理三、使用方法1 查看回收站中的对象2 恢复回收站中的对象2.1 恢复表(TABLE)2.2 恢复索引(INDEX)2.3 恢复视图(VIEW)2.4 恢复…...
Android 内存原理详解以及优化(二)
上一篇讲了内存原理,如果还没看可以先看上一篇:Android 内存原理详解以及优化(一) 这一篇我总结一下我们经常遇到的内存优化问题: 1.内存抖动 自定义view的ondraw是会被频繁调用的,那在这个方法里面就不能频…...
Shell学习——Shell变量
文章目录 Shell变量使用变量只读变量删除变量变量类型字符串变量: 在 Shell中,变量通常被视为字符串。整数变量: 在一些Shell中,你可以使用 declare 或 typeset 命令来声明整数变量。数组变量: Shell 也支持数组&#…...
Java中的持续集成与持续部署(CI/CD)
Java中的持续集成与持续部署(CI/CD) 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨Java中的持续集成(Co…...
极狐GitLab 将亮相2024空天信息大会暨数字地球生态峰会,携手中科星图赋能空天行业开发者
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…...
Beats:使用 Filebeat 从 Python 应用程序中提取日志
本指南演示了如何从 Python 应用程序中提取日志并将其安全地传送到 Elasticsearch Service 部署中。你将设置 Filebeat 来监控具有标准 Elastic Common Schema (ECS) 格式字段的 JSON 结构日志文件,然后你将在 Kibana 中查看日志事件发生的实时可视化。虽然此示例使…...
51单片机第23步_定时器1工作在模式0(13位定时器)
重点学习51单片机定时器1工作在模式0的应用。 在51单片机中,定时器1工作在模式0,它和定时器0一样,TL1占低5位,TH1占高8位,合计13位,也是向上计数。 1、定时器1工作在模式0 1)、定时器1工作在模式0的框图…...
linux的服务管理
systemd systemd 是一个系统和服务管理器,用于Linux操作系统中,旨在替代传统的Unix系统V初始化系统(SysV init)。 不一定所有使用 yum 安装的软件都可以通过 systemctl start 来管理。能否通过 systemctl start 管理取决于软件包…...
动手学深度学习(Pytorch版)代码实践 -循环神经网络-53语言模型和数据集
53语言模型和数据集 1.自然语言统计 引入库和读取数据: 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())一元语法…...
Python 学习之自动化运维技术(八)
Python 的自动化运维技术 Python的自动化运维技术是指利用Python编程语言和相关工具实现运维工作的自动化,以提高效率、减轻工作负担。以下是对Python自动化运维技术的清晰归纳和详细介绍: 一、自动化运维的核心优势 ● 提高效率:通过自动化脚…...
【python】PyQt5可视化开发,如何设计鼠标显示的形状?
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
利用大模型知识库,优化智能客服问答效果 | 创新场景
ITValue 痛点 SSC( Share Service Center ,共享服务中心)是企业日常接触最多的场景之一,更多是对内服务,包括 HR 、财务、IT 等。该场景对专业度要求非常高,知识点非常多,对于知识的使用者或者查…...
物联网协议都包含哪些协议?
物联网协议是物联网生态系统中不可或缺的组成部分,它们负责处理和协调物联网设备之间的通信。具体介绍如下: Ethernet:以太网是一种有线网络协议,广泛应用于局域网络(LAN)中,提供稳定的高速数据传输。Wi-Fi࿱…...
面试专区|【52道微服务架构高频题整理(附答案背诵版)】
简述什么是微服务? 微服务是一种软件架构风格,它将应用程序拆分成一系列小型、独立的服务,每个服务都运行在其自己的进程中,通过轻量级通信机制进行通信。每个服务都具有明确的业务能力,并且可以独立开发、测试、部署…...
数据结构之算法的时间复杂度
1.时间复杂度的定义 在计算机科学中,算法的时间复杂度是一个函数,它定量描述了算法的运行时间。一个算法所花费的时间与其中语句的执行次数成正比列,算法中的基本操作的执行次数,为算法的时间复杂度 例1: 计算Func1…...
unity中物体被激活自动执行挂载代码
在Unity中,如果希望当物体被激活时自动执行特定的函数,可以利用 MonoBehaviour 的生命周期函数 OnEnable()。这个方法会在对象被激活时调用,可以用来执行初始化或者处理其他逻辑。以下是如何在脚本中使用 OnEnable() 方法: using UnityEngine;public class ActivateFuncti…...
Pandas数据可视化详解:大案例解析(第27天)
系列文章目录 Pandas数据可视化解决不显示中文和负号问题matplotlib数据可视化seaborn数据可视化pyecharts数据可视化优衣库数据分析案例 文章目录 系列文章目录前言1. Pandas数据可视化1.1 案例解析:代码实现 2. 解决不显示中文和负号问题3. matplotlib数据可视化…...
Redis基础教程(七):redis列表(List)
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝Ὁ…...
鸿蒙开发:Universal Keystore Kit(密钥管理服务)【生成密钥(C/C++)】
生成密钥(C/C) 以生成ECC密钥为例,生成随机密钥。具体的场景介绍及支持的算法规格。 注意: 密钥别名中禁止包含个人数据等敏感信息。 开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复…...
ssm“落雪”动漫网站-计算机毕业设计源码81664
目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据新增流程 3.2.2 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 系统总体设…...
【面试题】Reactor模型
Reactor模型 定义 Reactor模型是一种事件驱动的设计模式,用于处理服务请求。它通过将事件处理逻辑与事件分发机制解耦,实现高性能、可扩展的并发处理。Reactor模型适用于高并发、事件驱动的程序设计,如网络服务器等。 特点 事件驱动&#…...
RedHat9 | kickstart无人值守批量安装
一、知识补充 kickstart Kickstart是一种用于Linux系统安装的自动化工具,它通过一个名为ks.cfg的配置文件来定义Linux安装过程中的各种参数和设置。 kickstart的工作原理 Kickstart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,…...
k8s-第五节-StatefulSet
StatefulSet StatefulSet 是用来管理有状态的应用,例如数据库。 前面我们部署的应用,都是不需要存储数据,不需要记住状态的,可以随意扩充副本,每个副本都是一样的,可替代的。 而像**数据库、Redis **这类…...
ai机器狗
ai机器狗的代码很早就开源了,相当于核心,最难东西美国人公开了,开源了,如果有钱,有足够资源的,造出东西有可能比公开这些核心代码的公司或者组织还好。没有技术含量,技术含量别人都解决了&#…...
数据库关键字执行顺序
在 SQL 中,关键字的执行顺序通常如下: FROM:确定要查询的表或数据源,并执行表之间的连接操作(如 INNER JOIN、LEFT JOIN 等)。FROM 子句执行顺序为从后往前、从右到左。ON:应用连接条件…...
Linux 永久挂载磁盘
文章目录 前言一、使用步骤1.命令 总结 前言 一、使用步骤 1.命令 第一步:创建挂载点 sudo mkdir /hhkj 第二步:磁盘挂载到挂载点(lsblk、lvdisplay) sudo mount /dev/sdb2 /hhkj 或者 sudo mount /dev/centos/home /hhkj 第三…...
windows启动Docker闪退Docker desktop stopped
Windows启动Docker闪退-Docker desktop stopped 电脑上很早就安装有Docker了,但是有一段时间都没有启动了,今天想启动启动不起来了,打开没几秒就闪退,记录一下解决方案。仅供参考 首先,参照其他解决方案,本…...
探索Redis GEOMETRY数据结构:地理空间索引与查询(基于Redis GEO和Java实现附近商户查找功能)
摘要 Redis是一个高性能的键值存储系统,广泛应用于缓存、消息队列、排行榜等场景。本文将介绍Redis中一个假设的GEOMETRY数据结构,用于高效地存储和查询地理空间数据。 1. Redis地理空间数据结构概述 地理空间数据结构允许用户存储地理位置信息&#…...
DP学习——策略模式
学而时习之,温故而知新。 敌人出招(使用场景) 业务中需要多个算法可替换,而不能重构代码时,怎么办?或者一个对象在运行中要根据业务切换不同的模式或者采用不同的算法,怎么办? 到…...
0701_ARM5
练习:使用usart4 main.c #include "uart4.h"int main() {// 初始化 UART4hal_uart4_init();while (1) {// 发送一个字符串//hal_put_char( hal_get_char());hal_put_string(hal_get_string());}return 0; } usart4.c #include "uart4.h"//**…...
Python用户宝典:了解并实现遗传算法
遗传算法是一种基于自然选择的技术,用于解决复杂问题。由于问题很复杂,遗传算法(而不是其他方法)被用来得出解决问题的合理方案。本文介绍遗传算法的基础知识以及如何用Python来实现。 遗传算法的要素 适应度函数 适应度函数衡…...
如何使用深度学习进行实时目标检测:速度与精度的双重挑战
如何使用深度学习进行实时目标检测:速度与精度的双重挑战 目标检测作为计算机视觉领域的核心任务之一,其目的是在图像或视频中识别和定位感兴趣的对象。随着深度学习技术的发展,基于深度学习的目标检测算法在实时性、准确性方面取得了显著进…...
创新引领,构筑产业新高地
在数字经济的浪潮中,成都树莓集团以创新驱动为核心,通过整合行业资源、优化服务、培养数字产业人才等措施,致力于打造产业高地,推动地方经济的高质量发展。 一、创新驱动,引领产业发展 1、引入新技术、新模式…...
npm,yarn清楚缓存
1.运行以下命令来清理npm缓存: npm cache clean --force或者运行以下命令清理Yarn缓存: yarn cache clean2.删除 node_modules 和锁文件: 删除 node_modules 目录和 package-lock.json 或 yarn.lock 文件,然后重新安装依赖 rm …...
httpclient访问https请求报错处理
C#通过httpclient调用https请求时,报错 错误信息为:The remote certificate is invalid according to the validation procedure 该错误是由于使用httpclient访问不合法的https站点导致出现的异常。 处理代码如下 public static string HttpPostWithT…...
ffmpeg + opencv 把摄像头画面保存为mp4文件(Ubuntu24.04)
参考链接 ffmpeg opencv 把摄像头画面保存为mp4文件_ffmpeg转化摄像头mp4-CSDN博客 调试环境 Ubuntu24.04 ffmpeg 6.1.1 opencv 4.6 g 13.2.0 C源码 #include <iostream> #include <sys/time.h> #include <string>#ifdef __cplusplus extern "…...
Fastapi 项目第二天首次访问时数据库连接报错问题Can‘t connect to MySQL server
问题描述 Fastapi 项目使用 sqlalchemy 连接的mysql 数据库,每次第二天首次访问数据库相关操作,都会报错:sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, “Can’t connect to MySQL server on ‘x.x.x.x’ ([Err…...
尚硅谷k8s 2
p54-56 k8s核心实战 service服务发现 Service:将一组 Pods 公开为网络服务的抽象方法。 #暴露Deploy,暴露deploy会出现在svc kubectl expose deployment my-dep --port8000 --target-port80#使用标签检索Pod kubectl get pod -l appmy-depapiVersion: v1 kind: Service metad…...
机器学习---线性回归
1、线性回归 例如:对于一个房子的价格,其影响因素有很多,例如房子的面积、房子的卧室数量、房子的卫生间数量等等都会影响房子的价格。这些影响因子不妨用 x i x_{i} xi表示,那么房价 y y y可以用如下公式表示: y …...
字符串去重、集合遍历 题目
题目 JAVA38 字符串去重描述输入描述:输出描述: 示例:分析:代码:大佬代码: JAVA39 集合遍历描述输入描述:输出描述: 示例:分析:代码: JAVA38 字符串去重 描述 从键盘获取…...
Hook 实现 Windows 系统热键屏蔽(二)
目录 前言 一、介绍用户账户控制(UAC) 1.1 什么是 UAC ? 2.2 UAC 运行机制的概述 2.3 分析 UAC 提权参数 二、 NdrAsyncServerCall 函数的分析 2.1 函数声明的解析 2.2 对 Winlogon 的逆向 2.3 对 rpcrt4 的静态分析 2.4 对 rpcrt4…...
SQL窗口函数详解
详细说明在sql中窗口函数是什么,为什么需要窗口函数,有普通的聚合函数了那窗口函数的意义在哪,窗口函数的执行逻辑是什么,over中的字句是如何使用和理解的(是不是句句戳到你的痛点,哼哼~&#x…...
如何用Java写一个整理Java方法调用关系网络的程序
大家好,我是猿码叔叔,一位 Java 语言工作者,也是一位算法学习刚入门的小学生。很久没有为大家带来干货了。 最近遇到了一个问题,大致是这样的:如果给你一个 java 方法,如何找到有哪些菜单在使用。我的第一想…...
基于STM32设计的管道有害气体检测装置(ESP8266局域网)176
基于STM32设计的管道有害气体检测装置(176) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成【3】ESP8266模块配置【4】上位机开发思路【5】项目模块划分【6】LCD显示屏界面布局【7】上位机界面布局1.2 项目功能需求1.3 项目开发背景1.4 开发工具的选择1…...
iCloud照片库全指南:云端存储与智能管理
iCloud照片库全指南:云端存储与智能管理 在数字化时代,照片和视频成为了我们生活中不可或缺的一部分。随着手机摄像头质量的提升,我们记录生活点滴的方式也越来越丰富。然而,这也带来了一个问题:如何有效管理和存储日…...
IDEA中使用Maven打包及碰到的问题
1. 项目打包 IDEA中,maven打包的方式有两种,分别是 install 和 package ,他们的区别如下: install 方式 install 打包时做了两件事,① 将项目打包成 jar 或者 war,打包结果存放在项目的 target 目录下。…...
TreeMap、HashMap 和 LinkedHashMap 的区别
TreeMap、HashMap 和 LinkedHashMap 的区别 1、HashMap2、LinkedHashMap3、TreeMap4、总结 💖The Begin💖点点关注,收藏不迷路💖 在 Java 中,TreeMap、HashMap 和 LinkedHashMap 是三种常用的集合类,它们在…...