Zero's Blog - 2022年8月
https://l2dy.sourceforge.io/2022/08/
-
Nginx proxy_pass 502 Bad Gateway
https://l2dy.sourceforge.io/2022/08/20/nginx-selinux-connect.html
2022-08-20T03:22:00+00:00
Rocky Linux 8 上安装 nginx 后对 nginx.conf 进行修改增加了一个 proxy_pass 配置,但用浏览器访问时提示 502 Bad Gateway,也就是连接不上后端服务。照例先怀疑一下 SELinux。# getsebool httpd_can_network_connect
httpd_can_network_connect --> off检查 SELinux 配置发现没有给 HTTP 服务主动发起 TCP 连接的权限,用 setsebool 调整后就正常了。setsebool -P httpd_can_network_connect on
-
AWS Data Transfer Free Tier 范围之外的收费项
https://l2dy.sourceforge.io/2022/08/17/aws-data-transfer-cost.html
2022-08-17T15:44:00+00:00
AWS EC2 的入向流量完全免费,出向有一个每月免费 100 GB 的额度,包括 “data transfer out under the monthly global free tier” 和 “regional data transfer under the monthly global free tier” 两种收费项都可以用,后者应该是包含了同 region 的跨 AZ 流量费。这样看似乎只要不用超这 100 GB 正常的单 AZ、只访问互联网的话使用是不会收费的。但我还是在 Free Tier 没有用完之前就收到了配置的 0% 预算报警邮件。从 Cost Explorer 按 Usage Type 分组后下载 csv 可以看出收费项是 <使用的region>-<某个未使用的region>-AWS-Out-Bytes。参考 S3 文档可以发现这是从我使用的 region 到一个我没有使用的 region 的数据传输费用。[^] 上图来自 https://aws.amazon.com/blogs/architecture/overview-of-data-transfer-costs-for-common-architectures/从上图可以看出,即使流量通过了 Internet Gateway,到其他 AWS region 的流量还是会按跨 region 流量收费,而这部分是不在 Free Tier 范围内的。这甚至包含了非自己账号下的资源,例如被其他部署在 AWS 上的爬虫扫描和主动调用构建在 AWS 上的第三方服务产生的出向流量。开启 Cost Allocation Tags 尝试分析流量来源发现确实是 EC2 实例调用某 SaaS 服务时产生的费用,只能避免使用该服务了。使用量很小的前几天还没有出现在账单里,但是预算报警已经提前触发了,此时可以从 Cost Explorer 分析来源及时止损。其实 AWS 的本意应该是对于跨 region 的流量按比到互联网更低的 $0.01-0.02/GB 价格收费,但由于这部分没有计入 Free Tier 反而增加了成本。想要完全免费使用 Free Tier 就必须避开构建在 AWS 其他 region 上的服务并且用安全组限制只开放服务给特定网段,例如 https://aws.amazon.com/blogs/security/automatically-update-security-groups-for-amazon-cloudfront-ip-ranges-using-aws-lambda/ 这种使用 Lambda 定时更新安全组的方案。不过话说回来这个价格已经很低了,如果嫌麻烦直接付了也没问题。
-
Notion 任务看板过滤历史和截止时间过于遥远的任务
https://l2dy.sourceforge.io/2022/08/12/notion-task-board-filter.html
2022-08-12T16:27:00+00:00
使用组合 filter 可以过滤掉历史已完成任务和截止时间过于遥远的任务,这样可以减少对当前重要和紧急事务的干扰。P.S. 其中 Last Updated 属性是 Last edited time 类型,值由 Notion 自动维护。
-
Prometheus node_exporter 缩减指标上报量
https://l2dy.sourceforge.io/2022/08/02/prometheus-exporter-cost.html
2022-08-02T12:47:00+00:00
虽然时序数据很好压缩导致占用的存储量不多,但公有云上的托管 Prometheus 是按摄入采样数计费的,对于 15s 间隔的采样来说用量很容易超标。为了控制成本,我们先禁用掉大部分默认导出的指标,然后明确启用需要的采集器。--collector.disable-defaults --web.disable-exporter-metricsUptime--collector.stat --collector.time (Linux)
--collector.boottime --collector.time (FreeBSD)CPU--collector.cpuMEM--collector.meminfoDisk--collector.diskstats --collector.filesystem (Linux)
--collector.devstat --collector.filesystem (FreeBSD)Network--collector.netdev --collector.netstat (Linux)
--collector.netdev --collector.devstat (FreeBSD)OS--collector.os