APM 服务器和 systemd编辑

这些命令仅适用于 APM 服务器二进制安装方法。Fleet 管理的用户应查看 在边缘主机上启动和停止 Elastic Agent

DEB 和 RPM 包包含一个适用于具有 systemd 的 Linux 系统的服务单元。在这些系统上,您可以使用常用的 systemd 命令来管理 APM 服务器。

我们建议 apm-server 进程以非 root 用户身份运行。因此,这是 APM 服务器的 DEB 包和 RPM 安装的默认设置。

启动和停止 APM 服务器编辑

使用 systemctl 启动或停止 APM 服务器

sudo systemctl start apm-server
sudo systemctl stop apm-server

默认情况下,APM 服务器服务在系统启动时自动启动。要启用或禁用自动启动,请使用

sudo systemctl enable apm-server
sudo systemctl disable apm-server
APM 服务器状态和日志编辑

要获取服务状态,请使用 systemctl

systemctl status apm-server

日志默认存储在 journald 中。要查看日志,请使用 journalctl

journalctl -u apm-server.service

自定义 APM 服务器的 systemd 单元编辑

systemd 服务单元文件包含您可以覆盖以更改默认选项的环境变量。

变量 描述 默认值

BEAT_LOG_OPTS

日志选项

BEAT_CONFIG_OPTS

配置文件路径的标志

-c /etc/apm-server/apm-server.yml

BEAT_PATH_OPTS

其他路径

-path.home /usr/share/apm-server -path.config /etc/apm-server -path.data /var/lib/apm-server -path.logs /var/log/apm-server

您可以使用 BEAT_LOG_OPTS 设置日志记录的调试选择器。但是,要配置日志记录行为,请设置 配置日志记录 中描述的日志记录选项。

要覆盖这些变量,请在 /etc/systemd/system/apm-server.service.d 目录中创建一个插入式单元文件。

例如,将以下内容的文件放置在 /etc/systemd/system/apm-server.service.d/debug.conf 中将覆盖 BEAT_LOG_OPTS 以启用 Elasticsearch 输出的调试。

[Service]
Environment="BEAT_LOG_OPTS=-d elasticsearch"

要应用您的更改,请重新加载 systemd 配置并重新启动服务

systemctl daemon-reload
systemctl restart apm-server

建议您使用配置管理工具来包含插入式单元文件。如果您需要手动添加插入式单元文件,请使用 systemctl edit apm-server.service

配置文件所有权编辑

在具有 POSIX 文件权限的系统上,APM 服务器配置文件会受到所有权和文件权限检查。这些检查可以防止未经授权的用户提供或修改由 APM 服务器运行的配置。

通过 RPM 或 DEB 包安装时,/etc/apm-server/apm-server.yml 中的配置文件将由 apm-server 拥有,并且具有 0600 (-rw-------) 的文件权限。

只有在配置文件由运行该进程的用户拥有,或者以 root 身份运行且配置所有权设置为 root:root 时,APM 服务器才会启动。

如果您的配置文件未通过这些检查,您可能会遇到以下错误

Exiting: error loading config file: config file ("/etc/apm-server/apm-server.yml")
must be owned by the user identifier (uid=1000) or root

要解决此问题,您可以使用以下命令更改配置文件的所有权:chown apm-server:apm-server /etc/apm-server/apm-server.yml

您也可以将 root 设置为配置文件所有者,尽管不建议这样做:sudo chown root:root /etc/apm-server/apm-server.yml

Exiting: error loading config file: config file ("/etc/apm-server/apm-server.yml")
can only be writable by the owner but the permissions are "-rw-rw-r--"
(to fix the permissions use: 'chmod go-w /etc/apm-server/apm-server.yml')

要解决此问题,请使用 chmod go-w /etc/apm-server/apm-server.yml 从除所有者以外的任何人那里删除写入权限。

禁用严格权限检查编辑

您可以使用 --strict.perms=false 从命令行禁用严格权限检查,但我们强烈建议您保持启用检查。