问题列表 - 第4976页

如何记录 AWS SES 事件详细信息

出于某种原因,我在如何做看起来很简单的事情上遇到了麻烦。

如何记录所有通过 AWS Simple Email Service 发送的包含特定消息详细信息的电子邮件?

该日志至少需要包含发送服务器的 IP 地址。但是,我也确实需要TO地址。背景故事——我们有几台服务器使用这项服务,当其中一台启动并开始发送数千封电子邮件时,我们会通过 Cloudwatch 监控收到警报——但无法找出实际发送它们的服务器。

立即,经过研究,您会发现人们确实想要此功能但它不可用的证据。但是,较新的文章表明这​​是可能的。

理想情况下,我曾尝试使用事件发布到CloudWatch的在这两篇文章中描述: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/monitor-using-event-publishing.html https://开头的文档.aws.amazon.com/ses/latest/DeveloperGuide/event-publishing-add-event-destination-cloudwatch.html

  • 我创建了一个新的 SES 配置集。
  • 我向这个配置集添加了一个 cloudwatch 目的地。
  • 我指定了发送的事件类型;拒绝;弹跳;投诉;交货;渲染失败
  • 我选择Message Tag了名称为ses:source-ip和默认值为 的值源source-ip

一段时间后,没有事件发布到 Cloud Watch。

文档只是在整个过程中不是很清楚,并且从未通过示例记录实际细节。

有一些建议我可能必须向我们发出的电子邮件添加标题以进行跟踪,但其他建议是存在默认值,并且我实际上不必修改我们的发送行为。

细粒度- 这些指标按您使用消息标签定义的电子邮件特征进行分类。要将这些指标发布到 CloudWatch,您必须使用 CloudWatch 事件目标设置事件发布,并在发送电子邮件时指定配置集。您还可以指定消息标签或使用 Amazon SES 自动提供的自动标签。

还有一些关于使用 Kinesis Firehose 作为目标的文档,它显示了非常详细的消息信息示例——这正是我想要的:https : //docs.aws.amazon.com/ses/latest/DeveloperGuide/ event-publishing-retrieving-firehose-examples.html#event-publishing-retrieving-firehose-send

我只是不知道该往哪个方向以及如何设置。

我需要最简单的方法来记录看似基本的 SES 诊断信息,然后将其用于故障排除目的。很难相信这些信息不仅可以在 AWS 控制台的某个地方随时可用。

amazon-web-services amazon-ses amazon-cloudwatch

7
推荐指数
1
解决办法
3521
查看次数

绑定:覆盖一台主机的外域

我们的客户有一个域。我们称之为example.com。

我们正在客户的网络中运行虚拟机。我们称之为“我们的虚拟机”。

客户正在使用以下名称访问虚拟机:our-vm.example.com。

IP 地址是内部的,例如 10.1.2.3

我们客户 (example.com) 的名称服务器不解析主机名。

我们为客户提供 VPN,并且能够通过 IP 地址访问 10.1.2.3。

但我想按名称访问主机。

我想要的是:

  • our-vm.example.com 应该由我解决(在我们的网络中运行绑定)
  • www.example.com、mail.example.com 和其他名称应由 example.com 解析

如何以这种方式配置绑定?

子问题:这种类型的配置有名称吗?

这不是(为内部网络覆盖 BIND 中的一些 DNS 条目)的副本,因为我希望 example.com 由客户处理。

domain-name-system bind

2
推荐指数
1
解决办法
105
查看次数

ZooKeeper 未启动,因为acceptedEpoch 小于currentEpoch

我有zookeeper.version=3.4.10,我看到:

https://issues.apache.org/jira/browse/ZOOKEEPER-2307

然而,该问题仍处于悬而未决的状态。问题的出现是因为磁盘空间已满。现在我删除了一些日志并释放了空间,我想启动zookeeper,但由于此错误它不会启动:

[2019-01-22 09:07:32,646] ERROR Unable to load database on disk 
(org.apache.zookeeper.server.quorum.QuorumPeer)
java.io.IOException: The accepted epoch, 13 is less than the current epoch, 
14
    at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:645)
    at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:591)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:164)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
[2019-01-22 09:07:32,648] ERROR Unexpected exception, exiting abnormally 
(org.apache.zookeeper.server.quorum.QuorumPeerMain)
java.lang.RuntimeException: Unable to run quorum server
    at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:649)
    at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:591)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:164)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.io.IOException: The accepted epoch, 13 is less than the current epoch, 14
    at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:645)
    ... 4 more
Run Code Online (Sandbox Code Playgroud)

我是否必须修补它(我不确定是否已准备好修补程序),或者我可以修复动物园管理员数据(例如,使其以某种方式接受新纪元)并继续使用相同的版本吗?

zookeeper kafka

2
推荐指数
1
解决办法
8462
查看次数

除法在 bash 中不起作用

我想从文件中计算一些信息,但除法不起作用。如果我将 更改/为 a+-,则此计算正确。有任何想法吗?

#!/bin/sh
    FILE=/tmp/stats

    for EMPTY in $(cat $FILE |sed '1!d'); do (echo "Empty Servers $EMPTY | Empty-Servers=$EMPTY;"); done
    for SERVERS in $(cat $FILE |sed '2!d'); do (echo "Total Servers $SERVERS | Total=$SERVERS;"); done

    PERCENT=$(((EMPTY / SERVERS)*100))
    echo $PERCENT
Run Code Online (Sandbox Code Playgroud)

linux bash

3
推荐指数
1
解决办法
1551
查看次数

如何使来自远程服务器的 ~2M 文件的 rsync 具有高性能以进行定期备份

我们在远程服务器上有大量文件,我想定期备份到本地系统以获得额外的冗余。一些细节:

  • 远程系统不在我的控制之下。我只有 SSH/rsync 或 FTP 访问权限
  • 远程系统运行 rsync 2.6.6 且无法升级
  • 远程系统最多允许 25 个并发连接,5 个保留用于生产需求(因此,20 个可用)
  • 远程系统包含 2M 文件 - 其中大部分是 100-200K 大小
  • 文件存储在层次结构中

相似:

0123456789/
        0123456
            abc/
                1.fff
                2.fff
                3.fff
            xyz/
                9.fff
                8.fff
                7.fff
9877656578/
        5674563
            abc/
                1.fff
                2.fff
                3.fff
            xyz/
                9.fff
                8.fff
                7.fff
Run Code Online (Sandbox Code Playgroud)

成千上万的根文件夹仅包含一些内部文件夹/文件结构 - 但所有根文件夹都是数字(0-9)。

rsync -aP第一次用直线跑了,结果花了3196m20.040s. 部分原因是因为远程服务器在rsync2.6.6 上,我无法使用 3.xx 中的增量文件功能。编译文件列表需要将近 12 个小时 - 每 10 秒运行大约 500 个文件。我不认为后续运行会花费这么长时间,因为初始运行必须重新下载所有内容 - 然而,即使 12 小时仅用于文件列表也太长了。

文件夹命名分解如下:

$ ls | grep "^[^67]" | wc -l …
Run Code Online (Sandbox Code Playgroud)

backup performance rsync

7
推荐指数
1
解决办法
893
查看次数

AWS Elastic Load Balancer:将请求转发到所有实例

使用 Terraform 在 AWS 中创建 Autoscaling Group(有 2 个实例)和 Elastic Load Balancer (ELB)。

这些实例在端口 3000 上运行用 Go 编写的简单http-echo服务器。

当通过浏览器访问负载均衡器的 DNS 名称时,请求会记录在两个实例中,而不是一个。预期行为应该是向其中一个实例发送请求。

Instance1 的日志:

2019/01/23 05:03:53 <DNS Name of LB> 
10.0.21.217:31904 "GET /favicon.ico HTTP/1.1" 200 58 
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/71.0.3578.98 Safari/537.36" 9.018µs
Run Code Online (Sandbox Code Playgroud)

Instance2的日志:

2019/01/23 05:03:53 <DNS Name of LB> 
10.0.21.217:47620 "GET / HTTP/1.1" 200 58 
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/71.0.3578.98 Safari/537.36" 9.074µs
Run Code Online (Sandbox Code Playgroud)

但是当请求发送curl到同一地址时,负载均衡器按预期工作,只将请求发送到实例之一,并且还会在重复请求时循环遍历实例。这是期望的行为。

curl请求日志:

2019/01/23 05:43:15 <DNS …
Run Code Online (Sandbox Code Playgroud)

load-balancing amazon-ec2 amazon-web-services terraform

0
推荐指数
1
解决办法
617
查看次数

无法使用 Powershell 连接到正确的 Azure 订阅

我在 Azure 上有很多租户,我使用 Powershell 来管理它们。

我正在连接我的帐户:

Login-AzureRmConnect

Account                     SubscriptionName          TenantId                             Environment
-------                     ----------------          --------                             -----------
XXX@XXXX.XXX                Microsoft Partner Network XXXXX-XXXX-XXXX-XXXX-XXXX            AzureCloud
Run Code Online (Sandbox Code Playgroud)

当我想用有效的 SubscriptionID 更改订阅时,我有以下答案:

Select-AzureRmSubscription -SubscriptionId "XXXX-XXXX-XXXX-XXXXX-XXXXXX"
Select-AzureRmSubscription : Please provide a valid tenant or a valid subscription.
Au caractère Ligne:1 : 1
+ Select-AzureRmSubscription -SubscriptionId "XXXX-XXXX-XXXX-XXXXX-X ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError : (:) [Set-AzureRmContext], ArgumentException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Profile.SetAzureRMContextCommand
Run Code Online (Sandbox Code Playgroud)

当我这样做时Get-AzureRmSubscription

Get-AzureRmSubscription
AVERTISSEMENT : Unable to acquire token for tenant 'XXXXX-XXXX-XXXX-XXXX-XXXX'
AVERTISSEMENT : Unable to acquire …
Run Code Online (Sandbox Code Playgroud)

powershell azure azure-powershell

3
推荐指数
1
解决办法
4041
查看次数

Ansible:如果替换没有找到任何要替换的内容,则引发错误

你如何在 Ansible 中解决这个问题?

我有一个文件/etc/foo/foo.config。我想将此文件中的字符串“DisallowBar”替换为“AlllowBarUntilMidnight”。

Ansible 应该在这些情况下采取如下行动:

  • 案例 1:DisallowBar 被发现并被替换:OK
  • 案例 2: AllowBarUntilMidnight 已在文件中。什么都没做:好的
  • 案例 3:DisallowBar 和 AllowBarUntilMidnight 不在文件中:我希望 ansible 失败。

Case3 对我很重要,因为这种状态不应该存在。这是一个错误,不应无声无息地通过。

ansible

1
推荐指数
1
解决办法
178
查看次数

如何成功将 GCP 项目从个人帐户转移到启用 Cloud Identity 的 GCP 帐户?

目前我有一个包含多个项目的个人 GCP 帐户。但我希望将我的项目与组织相关联,因此我创建了一个新的 Cloud Identity 绑定 GCP 帐户。接下来,我尝试使用此处的工具将 GCP 项目从我的个人 GCP 帐户转移到启用 Cloud Identity 的新 GCP 帐户。

虽然我能够成功地将项目迁移请求从新的 Cloud Identity 支持的 GCP 帐户发送到我的个人 GCP 帐户,但当我进入“查看迁移屏幕 -> 选择项目”对话框时,它显示没有可供选择的项目。仅显示文本“没有可用于迁移的项目”。

查看迁移请求对话框

很难找到任何详细说明在这种情况下该怎么做的文档。任何反馈或想法将不胜感激。

-麦克风

google-cloud-platform

3
推荐指数
1
解决办法
1195
查看次数

同时使用 apache 和 nginx 是个好主意吗?

我有时在端口 81 中使用 apache 并使用 nginx 在端口 80(或 443)中运行,就像这样

location / {
proxy_pass http://localhost:81
}
Run Code Online (Sandbox Code Playgroud)

我必须这样做,因为某些软件(如 phpbb 在 nginx 上无法正常运行)这是个好主意吗?

nginx apache-2.4

1
推荐指数
1
解决办法
272
查看次数