[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

尝试 Amazon CloudWatch Logs

AWS

这是基础设施工程师指原!

AWS 有一项名为 CloudWatch 的服务,可以监控 CPU 使用情况等。
CloudWatch有各种各样的功能,但这次我尝试了CloudWatch Logs,我对此很感兴趣。

什么是 CloudWatch Logs?

该服务允许您监视 EC2 和其他应用程序的日志文件,并在确认特定字符串时生成警报。

监控日志文件 - Amazon CloudWatch

现在,我将尝试发送EC2上的apache的访问日志。

创建 IAM 角色

创建 IAM 角色以将日志文件发送到 CloudWatch Logs。

由于日志文件将从 EC2 发送,因此选择 Amazon EC2 作为角色类型。

2016-07-13_12h12_44

CloudWatch Logs 策略可用,因此我们这次将使用它。

选择 CloudWatchlogsFullAccess
2016-07-13_12h13_13

这就是配置 IAM 所需的全部内容。

之后,创建一个分配了 IAM 角色的 EC2 实例。

安装 awslogs

登录启动的实例后,安装专用代理 awslogs。

[ec2-user@ip-172-xxx-xxx-xxx ~]$ sudo yum install awslog

接下来,更改配置文件。
默认设置在北弗吉尼亚区域 (us-east-1) 使用 CloudWatch,因此将其更改为东京区域 (ap-northeast-1)。

[ec2-user@ip-172-xxx-xxx-xxx ~]$ sudo vim /etc/awslogs/awscli.conf [默认] 区域 = us-east-1 ⇒区域 = ap-northeast-1

启动代理并配置自动启动设置。

[ec2-user@ip-172-xxx-xxx-xxx ~]$ sudo /etc/init.d/awslogs start 启动 awslogs: [ OK ]

自动启动设置

[ec2-user@ip-172-xxx-xxx-xxx ~]$ sudo chkconfig awslogs on

现在应该已经发送了!
我们来看看吧! !

确认日志发送

如果您检查控制台,您将看到一个名为“/var/log/messages”的日志组已创建。
2016-07-13_17h42_26

单击该按钮时,会将实例 ID 输出到日志流中。
2016-07-13_17h01_03

此外,如果您点击此按钮,您可以检查消息的内容。
2016-07-13_17h02_46

一切顺利!

为什么消息会写入 CloudWatch Logs?

⇒这是因为消息是默认设置的。

配置写入 /etc/awslogs/awslogs.conf 中。

[/var/log/messages] datetime_format = %b %d %H:%M:%S file = /var/log/messages buffer_duration = 5000 log_stream_name = {instance_id} initial_position = start_of_file log_group_name = /var/log/messages

发送apache访问日志

现在让我们将apache访问日志输出到CloudWatch Logs!

修改服务器上的配置文件。

[ec2-user@ip-172-xxx-xxx-xxx ~]$ sudo vim /etc/awslogs/awslogs.conf

添加以下内容。

[/var/log/httpd/] 文件 = /var/log/httpd/access_log buffer_duration = 5000 log_stream_name = {主机名} 初始位置 = 文件起始位置 log_group_name = /var/log/httpd

这就是上面设置的内容。

文件

指定要推送到 CloudWatch Logs 的日志文件(也可以使用 /var/log/httpd/* 等通配符规范。)

缓冲区持续时间

指定日志事件的批量周期(5000是最小值和默认值)

日志流名称

日志流设置(默认是instance_id,但这次我将使用主机名)

初始位置

还有end_of_file来指定数据读取位置,不过我觉得默认的start_of_file基本就可以了。

日志组名称

指定目标日志组。

重新启动 awslogs 以使设置生效。

[ec2-user@ip-172-xxx-xxx-xxx ~]$ sudo /etc/init.d/awslogs restart

确认日志发送

让我们看看这个! !
从控制台再次检查。 。 。
2016-07-13_17h42_09

“/var/log/httpd”已添加! !
进一步单击。 。

2016-07-13_15h13_46

使用主机名创建日志流! !

我还能够检查 apache 访问日志! !
2016-07-13_17h29_03

那很容易! !
这次我们只是发送了apache访问日志,但也可以监控HTTP状态码,并在出现40x错误时发送警报。

您还可以结合ElasticSearch进行日志分析。

概括

  • 什么是 CloudWatch Logs?
  • 名为 awslogs 的代理使用起来很方便。
  • 超级简单,只需发送即可

接下来,让我们尝试使用AWS Lambda来实现无服务器架构,这是一个热门话题!

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
6,489
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者