hashicorp 领事的日志文件在哪里?
Where is the log files for hashicorp consul?
我尝试设置 hashicorp consul(作为 windows 服务)以将数据记录到文件中。文档说要在配置文件中设置 log_level,但没有说明日志文件在 Windows 计算机上的最终位置?有一个领事监视器,但我需要它来记录到文件。
{
"data_dir": "data",
"log_level": "INFO",
"bootstrap_expect": 1,
"server": true,
"bind_addr": "0.0.0.0",
"ui": true,
"datacenter": "dc1",
"addresses": {
"http": "0.0.0.0"
},
"ports": {
"http": 8518,
"dns": -1,
"https": -1,
"rpc": 8218,
"serf_lan": 8318,
"serf_wan": 8418,
"server": 8618
}
}
在这种情况下,我需要记录领事何时进入 on/off 行以及领事知道哪些服务,当然还有 errors/warnings.
如何使用 hashicorp consul 登录到文件?
最好的问候
这是不可能的,您必须从命令提示符 运行 服务,然后将 STDOUT 重定向到文件。这不是最好的解决方案,但它是我找到的唯一方法。
是的,这是可能的,而且相当简单。
老实说,我不记得我是在哪里发现的,但最初确实花了一些时间。我发现您可以修改在 consul 安装的 yum 上创建的服务的 ExecStart。通过在该行的末尾添加 -log-file=some-path ,您可以将来自 consul 的日志定向为 /var/log/consul 例如。
[Unit]
Description="HashiCorp Consul - A service mesh solution"
Documentation=https://www.consul.io/
Requires=network-online.target
After=network-online.target
ConditionFileNotEmpty=/etc/consul.d/consul.hcl
[Service]
User=consul
Group=consul
ExecStart=/usr/bin/consul agent -config-dir=/etc/consul.d/ -log-file=/var/log/consul/
ExecReload=/bin/kill --signal HUP $MAINPID
KillMode=process
KillSignal=SIGTERM
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
编辑:我找到了此设置的文档 at Hashicorp
相关选项已记录 very nicely here,除此之外您可能需要在服务配置中添加设置。
日志将记录在系统日志中。
运行 以相反的顺序检索服务的日志(即最近的第一个):
sudo journalctl -u consul.service -r
我尝试设置 hashicorp consul(作为 windows 服务)以将数据记录到文件中。文档说要在配置文件中设置 log_level,但没有说明日志文件在 Windows 计算机上的最终位置?有一个领事监视器,但我需要它来记录到文件。
{
"data_dir": "data",
"log_level": "INFO",
"bootstrap_expect": 1,
"server": true,
"bind_addr": "0.0.0.0",
"ui": true,
"datacenter": "dc1",
"addresses": {
"http": "0.0.0.0"
},
"ports": {
"http": 8518,
"dns": -1,
"https": -1,
"rpc": 8218,
"serf_lan": 8318,
"serf_wan": 8418,
"server": 8618
}
}
在这种情况下,我需要记录领事何时进入 on/off 行以及领事知道哪些服务,当然还有 errors/warnings.
如何使用 hashicorp consul 登录到文件?
最好的问候
这是不可能的,您必须从命令提示符 运行 服务,然后将 STDOUT 重定向到文件。这不是最好的解决方案,但它是我找到的唯一方法。
是的,这是可能的,而且相当简单。
老实说,我不记得我是在哪里发现的,但最初确实花了一些时间。我发现您可以修改在 consul 安装的 yum 上创建的服务的 ExecStart。通过在该行的末尾添加 -log-file=some-path ,您可以将来自 consul 的日志定向为 /var/log/consul 例如。
[Unit]
Description="HashiCorp Consul - A service mesh solution"
Documentation=https://www.consul.io/
Requires=network-online.target
After=network-online.target
ConditionFileNotEmpty=/etc/consul.d/consul.hcl
[Service]
User=consul
Group=consul
ExecStart=/usr/bin/consul agent -config-dir=/etc/consul.d/ -log-file=/var/log/consul/
ExecReload=/bin/kill --signal HUP $MAINPID
KillMode=process
KillSignal=SIGTERM
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
编辑:我找到了此设置的文档 at Hashicorp
相关选项已记录 very nicely here,除此之外您可能需要在服务配置中添加设置。
日志将记录在系统日志中。
运行 以相反的顺序检索服务的日志(即最近的第一个):
sudo journalctl -u consul.service -r