小编Mar*_*mes的帖子

你如何使用 systemd 的 journalctl 模式

我正在尝试使用journalctl的模式匹配SYSLOG_IDENTIFIERS。例如,我有大量消息标记为sshd

$ journalctl -t sshd | wc -l
987
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试使用模式匹配来找到它们:

$ journalctl -t 'ssh*'
-- No Entries --
$ journalctl -t 'ssh.*'
-- No Entries --
Run Code Online (Sandbox Code Playgroud)

journalctl 手册页说模式应该有效,但我找不到关于如何在 systemd 中使用/定义模式的任何其他信息。

$ man journalctl
....
-t, --identifier=SYSLOG_IDENTIFIER|PATTERN
       Show messages for the specified syslog identifier SYSLOG_IDENTIFIER,
       or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.
Run Code Online (Sandbox Code Playgroud)

我正在运行 ArchLinux:

$ journalctl --version
systemd 225
+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP
+GCRYPT +GNUTLS …
Run Code Online (Sandbox Code Playgroud)

arch-linux systemd journald

35
推荐指数
2
解决办法
6万
查看次数

如何为 HA 设置 Traefik?在 Traefik 前需要反向代理吗?

我正在尝试在生产站点上设置 Traefik,但我正在努力解决一些高可用性问题。我认为我们在 Traefik 集群前面仍然需要一个反向代理。以下是我考虑过的潜在设置,以及为什么似乎需要反向代理:

  1. 设置 DNS A 记录以指向每个 Traefik 节点以进行负载平衡和故障转移。

    • 根据包括this SO questionthis SF question在内的多个站点,不鼓励这种做法。

    • 由于 DNS 缓存和 TTL 问题,即使使用像 DNSMadeEasy 这样的服务似乎也不受欢迎。

  2. 将一条 DNS 记录指向运行 Traefik 的节点之一。

    • 该节点成为 SPOF。我的节点在 CoreOS 上运行,每次更新后都会重新启动,因此我们可以保证每周有几分钟的停机时间。

    • 我们可以在预计停机时将 DNS 记录移动到备用节点。这将是手动管理的痛苦。我可以设想一个与 locksmithd 配对的解决方案可以自动处理这个问题,但我真的不想构建它,它也不会处理意外停机时间。

    • 使用 Docker Swarm(或 Kubernetes)的部分理由是使节点可互换。

  3. 在 Traefik 集群前面放置一个负载均衡器/反向代理。反向代理可以在所有 Traefik 节点之间提供故障转移,DNS 将指向反向代理。

    • 是的,这是一个 SPOF,但根据我的经验,通过这种设置很容易获得良好的正常运行时间。如果需要偶尔维护,可以将 DNS 记录指向新的代理。

我是错过了什么还是想多了?

high-availability reverse-proxy

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