使用 ELK Stack 进行云原生日志记录和监控:AWS 中的开发运营方法

news2024/11/25 15:20:58

使用 ELK Stack 进行云原生日志记录和监控

       欢迎来到雲闪世界。在当今的云原生世界中,日志记录和监控是强大的 DevOps 策略的重要组成部分。监控应用程序性能、跟踪错误和分析日志对于确保无缝操作和主动识别潜在问题至关重要。在本文中,我们将指导您使用 AWS 上的 ELK Stack(Elasticsearch、Logstash 和 Kibana)设置云原生日志记录和监控,从而实现以 DevOps 为中心的方法来管理基于云的应用程序。

1.什么是ELK堆栈?

ELK Stack 是一种流行的开源解决方案,用于集中、搜索和可视化日志和指标。它由三个核心组件组成:

- Elasticsearch:分布式、可扩展的搜索引擎,用于存储日志和指标并为其建立索引。 - Logstash:一种数据处理管道,可在将日志发送到 Elasticsearch 之前从各种来源获取并转换日志。 - Kibana:一个强大的数据可视化和探索工具,可以实时洞察 Elasticsearch 中存储的数据。

2. 在 AWS 上设置 Elasticsearch

我们将使用 AWS CLI 在 Amazon Elasticsearch Service 中创建 Elasticsearch 集群。确保您已安装 AWS CLI 并使用适当的凭证进行配置。

 
# Use AWS CLI to create an Elasticsearch clustercreate an Elasticsearch cluster
aws es create-elasticsearch-domain --domain-name my-elasticsearch-domain \
    --elasticsearch-version "7.13" \
    --elasticsearch-cluster-config InstanceType=t2.small.elasticsearch,InstanceCount=2 \
    --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=10

注意:将“my-elasticsearch-domain”替换为您的域的唯一名称。

3. 在 AWS 上设置 Logstash

为了设置 Logstash,我们将使用 Amazon Linux 2 AMI 启动安装了 Logstash 的 EC2 实例。使用 SSH 连接到实例。

 
# Launch an EC2 instance with Logstash
aws ec2 run-instances --image-id ami-0c3fd0f5d33134a76 --instance-type t2.micro \--image-id ami-0c3fd0f5d33134a76 --instance-type t2.micro \
    --key-name your-key-pair-name --security-group-ids sg-xxxxxxx --subnet-id subnet-xxxxxxx

注意:将 `ami-0c3fd0f5d33134a76` 替换为适合您所在区域的 Amazon Linux 2 AMI ID。另外,将 `your-key-pair-name` 替换为您的 SSH 密钥对的名称,将 `sg-xxxxxxx` 替换为您的安全组的 ID,将 `subnet-xxxxxxx` 替换为您的子网的 ID。

接下来,通过 SSH 进入实例:

 
ssh -i /path/to/your-key-pair.pem ec2-user@public-ip-of-instancei /path/to/your-key-pair.pem ec2-user@public-ip-of-instance

现在,安装 Logstash 并将其配置为将日志转发到 Elasticsearch。

 
# Install Logstash
sudo yum install -y logstash
# Create a Logstash configuration file
sudo vi /etc/logstash/conf.d/my-logstash-config.conf

在 my-logstash-config.conf 文件中,添加以下配置以从 Filebeat 接收日志:

 
input {
  beats {
    port => 50445044
  }
}

output {
  elasticsearch {
    hosts => ["https://your-elasticsearch-endpoint"]
    index => "my-application-logs-%{+YYYY.MM.dd}"
  }
}

启动 Logstash:

 
sudo systemctl start logstash
sudo systemctl enable logstashenable logstash

4. 在 AWS 上设置 Kibana

与 Logstash 类似,我们将使用 Amazon Linux 2 AMI 启动另一个安装了 Kibana 的 EC2 实例。

 
# Launch an EC2 instance with Kibana
aws ec2 run-instances --image-id ami-0c3fd0f5d33134a76 --instance-type t2.micro \--image-id ami-0c3fd0f5d33134a76 --instance-type t2.micro \
    --key-name your-key-pair-name --security-group-ids sg-xxxxxxx --subnet-id subnet-xxxxxxx

通过 SSH 登录 Kibana 实例:

 
ssh -i /path/to/your-key-pair.pem ec2-user@public-ip-of-instancei /path/to/your-key-pair.pem ec2-user@public-ip-of-instance

现在,安装 Kibana:

 
# Install Kibana
sudo yum install -y kibana
# Configure Kibana to connect to Elasticsearch
sudo vi /etc/kibana/kibana.yml

在 `kibana.yml` 文件中,添加以下配置以指定 Elasticsearch 端点:

 
elasticsearch.hosts: ["https://your-elasticsearch-endpoint"]

将 `your-elasticsearch-endpoint` 替换为您的 Elasticsearch 集群的端点。

sudo systemctl start kibana
sudo systemctl enable kibanaenable kibana

5. 将日志流式传输到 ELK Stack

选择以下日志传送程序之一将日志从您的应用程序流式传输到 Logstash:

使用 Filebeat(用于文本日志):

在应用程序服务器上安装并配置 Filebeat:

# Install Filebeat
sudo yum install -y filebeat
# Configure Filebeat to send logs to Logstash
sudo vi /etc/filebeat/filebeat.yml

在 filebeat.yml 文件中添加以下配置:

 
output.logstash:
 hosts: ["logstash-private-ip:5044"]

将 `logstash-private-ip` 替换为 Logstash 实例的私有 IP 地址。

启动并启用 Filebeat:

 
sudo systemctl start filebeat
sudo systemctl enable filebeatenable filebeat

使用 Fluentd(用于 JSON 日志):

在应用程序服务器上安装并配置 Fluentd:

 
# Install Fluentd
curl -L https://toolbelt.treasuredata.com/sh/install-amazon2-td-agent4.sh | sh
# Configure Fluentd to send logs to Logstash
sudo vi /etc/td-agent/td-agent.conf

在`td-agent.conf`文件中,添加以下配置:

 
<match my_application.**>
  @type forward
  <server>
    host logstash-private-ip
    port 5044
  </server>
</match>

启动并启用 Fluentd:

sudo systemctl start td-agenttd-agent
sudo systemctl enable td-agent

6. 在 Kibana 中监控和可视化日志

从您的 Web 浏览器访问 Kibana:

http://public-ip-of-kibana-instance

在 Kibana 中创建索引模式来定义日志数据结构。在 Kibana 中探索、可视化和创建仪表板,以深入了解应用程序的性能和运行状况。

结论 通过执行这些步骤并使用提供的 AWS CLI 命令和配置文件,我们可以使用 AWS 上的 ELK Stack 设置云原生日志记录和监控。这种以 DevOps 为中心的方法使我们的团队能够高效地排除故障、调试和优化云原生应用程序,从而在云原生时代增强客户体验并取得业务成功。通过集中的日志和指标,我们可以深入了解您的应用程序的性能和运行状况,从而更好地制定决策并主动管理您的基于云的应用程序。

感谢关注雲闪世界。(Aws解决方案架构师vs开发人员&GCP解决方案架构师vs开发人员)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2100738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搞定——pip 升级失败!pip._vendor.urllib3.exceptions.ReadTimeoutError 这个闹心的问题

pip 升级失败的解决方法 由于网络原因&#xff0c;可能很多小伙伴们都遇到过pip 升级失败的这个问题把&#xff01;提示如下&#xff1a; pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(hostfiles.pythonhosted.org, port443): Read timed out. 怎…

Java学习日记(day26)

一、MVC MVC全名是Model View Controller&#xff0c;是模型(model)&#xff0d;视图(view)&#xff0d;控制器(controller)的缩写&#xff0c;一种软件设计典范&#xff0c; 用一种业务逻辑、数据、界面显示分离的方法组织代码&#xff0c;将业务逻辑聚集到一个部件里面&…

Java基础(8)- Java代码笔记5

目录 一、static关键字 1.概述&#xff1a;静态关键字 2.使用 a.修饰一个成员变量 b.修饰一个方法 3.调用静态成员&#xff1a;类名直接调用&#xff08;不用new对象&#xff09; 4.静态成员特点&#xff1a; 5.static修饰成员的访问特点 6.静态成员在开发中的使用场景…

搭建 canal 监控mysql数据到Elasticsearch(总结)

搭建 canal 监控mysql数据到 elasticsearch 中 需求: 要将 MySQL 数据库 info 中的 notice 和 result 表的增、删、改操作同步到 Elasticsearch 的 notice 和 result 索引&#xff0c;您需要正确配置 MySQL、Canal 、Canal Adapter 、 Elasticsearch 和 kibana 系统rocky9.2…

Django + websocket 连不上

看了网上的几个简单例子&#xff0c;一步一步做&#xff0c;但无一成功。都连不上websocket。 后来按一个视频教程的操作步骤来做&#xff0c;成功了。差别在于视频教程中加了 pip install daphne 和setting.py中 连不上的表现&#xff1a; 前端报错&#xff1a; WebSock…

如何打造在线音乐网站?java springboot架构,vue前端开发,音乐分享新体验

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

基于Prometheus 和K8S kubernetes 构建 搭建监控告警系统

目录 1、Prometheus介绍&#xff1f; 2、Prometheus特点&#xff1f; 2.1 样本 3、Prometheus组件介绍 4、Prometheus工作流程 4、Prometheus和zabbix对比分析 5、Prometheus的几种部署模式 5.1 基本高可用模式 5.2 基本高可用远程存储 5.3 基本HA 远程存储 联邦集群…

【QA】牙科光固化机类产品导光元件在进行检测时应关注哪些问题?

版权说明&#xff1a;本文来源【国家药品监督管理局】&#xff0c;如果您认为我们的文中描述与事实不符或有侵权行为&#xff0c;请及时联系我们。感谢您的关注。

怎么找TikTok代运营助力?灵感魔方怎么样?

在当今全球化的浪潮中&#xff0c;海外版抖音已然成为了品牌出海的重要阵地。然而&#xff0c;面对这个充满机遇与挑战的平台&#xff0c;如何找到专业的TikTok代运营团队来助力品牌成功出海呢&#xff1f;以下是一些关键的考量因素和方法。 首先&#xff0c;专业的TikTok代运…

ubuntu系统如何跑分

win系统下&#xff0c;跑分工具很多&#xff0c;ubuntu的话&#xff0c;估计很多人陌生。 这里介绍ubuntu跑分工具--geekbench 1&#xff0c;geekbench安装 下载地址i&#xff1a;https://www.geekbench.com/download/linux/ 点击进去就自动下载了。 没有下载到就继续点击…

MATLAB代码|中心差分卡尔曼滤波(CDKF)的滤波例程,无需下载,直接复制到MATLAB上面就能运行

文章目录 CDKF介绍代码运行结果各模块解析初始化系统模型设置CDKF循环绘图另有关于EKF和CDKF的对比程序:EKF+CDKF两个滤波的MATLAB程序,估计三轴位置,带中文注释—— https://blog.csdn.net/callmeup/article/details/136610153。 CDKF介绍 中心差分卡尔曼滤波(Central D…

C# 上位机开发指南:高效学习建议

目录 前言 上位机概念 基础知识 1、C#语言基础 2、.NET框架 3、桌面应用开发 4、设备通信 5、数据操作 6、多线程和并发 7、UI/UX设计 8、调试和测试 关键概念 事件驱动编程 异步编程 设计模式 通信协议学习 数据处理与存储 实时性与并发处理 技术选型 1、框…

CosyVoice 本地部署详细教程 手把手小白教程

CosyVoice 本地部署详细教程 注意事项 所有相关的软件、文件名称不要使用中文名称&#xff0c;也不要有中文路径&#xff0c;也不要有空格。 包括C盘用户名&#xff0c;不要有中文或空格。 模型部署前准备 nvidia显卡,建议显存6G以上AI框架CUDA、cuDNN安装 &#xff08;已安…

集成电路学习:什么是IP知识产权

一、IP&#xff1a;知识产权 IP是Intellectual Property的缩写&#xff0c;即知识产权。知识产权是一种无形的财产权&#xff0c;也称智力成果权&#xff0c;它指的是通过智力创造性劳动所获得的成果&#xff0c;并且是由智力劳动者对成果依法享有的专有权利。这种权利包括人身…

神仙公司名单(南京)

神仙公司&#xff08;南京&#xff09; 继续&#xff0c;神仙公司系列。 上一期我们介绍了 深圳的神仙公司&#xff0c;结果留言区的重点全都指向了 HW 和 BYD &#x1f923;&#x1f923; 不愧是你们&#xff0c;但我们不是"那个"排行。 言归正传&#xff0c;这期给…

笔记:《利用Python进行数据分析》之透视表和交叉表

透视表和交叉表 透视表&#xff08;pivot table&#xff09;是各种电子表格程序和其他数据分析软件中一种常见的数据汇总工具。它根据一个或多个键对数据进行聚合&#xff0c;并根据行和列上的分组键将数据分配到各个矩形区域中。在Python和pandas中&#xff0c;可以通过本章所…

代码随想录算法训练营第十八天| 669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树

今日内容 leetcode. 669 修剪二叉搜索树leetcode. 108 将有序数组转换为二叉搜索树leetcode. 538 把二叉搜索树转换为累加树 Leetcode. 669 修剪二叉搜索树 文章链接&#xff1a;代码随想录 (programmercarl.com) 题目链接&#xff1a;669. 修剪二叉搜索树 - 力扣&#xff08…

mathtype批量更改公式编号的格式

这是一个笔记 在使用的时候遇到的问题,经过研究发现mathtype生成的右编号公式可以批量更新 调整前 如图,如果调整前使用的是默认的编号格式,显示为 1.5 1.5 1.5: 这里面1和5的意义为: 1:节编号5:公式编号 如下:调整后 如果需要不按章节形式来分类,则可以通过以下…

大数据中心运营管理整体规划方案(32页PPT)

随着信息技术的飞速发展&#xff0c;大数据已成为推动产业升级、促进经济社会发展的重要力量。大数据中心作为数据存储、处理与分析的核心基础设施&#xff0c;其运营管理的规范化、高效化、智能化直接关系到数据价值的有效挖掘和企业的核心竞争力。大数据中心运营管理整体规划…

免费下载Win11 24H2专业版!附详细安装教程

今日&#xff0c;系统之家小编给大家带来2024年最新的Windows11 24H2专业版系统&#xff0c;更新后系统版本号将升至26100.1591。系统基于微软官方最新Windows 11 24H2专业版进行离线制作与优化&#xff0c;确保系统安全无毒&#xff0c;兼容性强&#xff0c;可完美支持新老机型…