出于某种原因,我在如何做看起来很简单的事情上遇到了麻烦。
如何记录所有通过 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
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 控制台的某个地方随时可用。
我们的客户有一个域。我们称之为example.com。
我们正在客户的网络中运行虚拟机。我们称之为“我们的虚拟机”。
客户正在使用以下名称访问虚拟机:our-vm.example.com。
IP 地址是内部的,例如 10.1.2.3
我们客户 (example.com) 的名称服务器不解析主机名。
我们为客户提供 VPN,并且能够通过 IP 地址访问 10.1.2.3。
但我想按名称访问主机。
我想要的是:
如何以这种方式配置绑定?
子问题:这种类型的配置有名称吗?
这不是(为内部网络覆盖 BIND 中的一些 DNS 条目)的副本,因为我希望 example.com 由客户处理。
我有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)
我是否必须修补它(我不确定是否已准备好修补程序),或者我可以修复动物园管理员数据(例如,使其以某种方式接受新纪元)并继续使用相同的版本吗?
我想从文件中计算一些信息,但除法不起作用。如果我将 更改/为 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) 我们在远程服务器上有大量文件,我想定期备份到本地系统以获得额外的冗余。一些细节:
相似:
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) 使用 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) 我在 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) 你如何在 Ansible 中解决这个问题?
我有一个文件/etc/foo/foo.config。我想将此文件中的字符串“DisallowBar”替换为“AlllowBarUntilMidnight”。
Ansible 应该在这些情况下采取如下行动:
Case3 对我很重要,因为这种状态不应该存在。这是一个错误,不应无声无息地通过。
目前我有一个包含多个项目的个人 GCP 帐户。但我希望将我的项目与组织相关联,因此我创建了一个新的 Cloud Identity 绑定 GCP 帐户。接下来,我尝试使用此处的工具将 GCP 项目从我的个人 GCP 帐户转移到启用 Cloud Identity 的新 GCP 帐户。
虽然我能够成功地将项目迁移请求从新的 Cloud Identity 支持的 GCP 帐户发送到我的个人 GCP 帐户,但当我进入“查看迁移屏幕 -> 选择项目”对话框时,它显示没有可供选择的项目。仅显示文本“没有可用于迁移的项目”。
很难找到任何详细说明在这种情况下该怎么做的文档。任何反馈或想法将不胜感激。
-麦克风
我有时在端口 81 中使用 apache 并使用 nginx 在端口 80(或 443)中运行,就像这样
location / {
proxy_pass http://localhost:81
}
Run Code Online (Sandbox Code Playgroud)
我必须这样做,因为某些软件(如 phpbb 在 nginx 上无法正常运行)这是个好主意吗?
amazon-ec2 ×1
amazon-ses ×1
ansible ×1
apache-2.4 ×1
azure ×1
backup ×1
bash ×1
bind ×1
kafka ×1
linux ×1
nginx ×1
performance ×1
powershell ×1
rsync ×1
terraform ×1
zookeeper ×1