如何在 Debian 11 上安装 Sensu 监控解决方案如何在 Debian 11 上安装 Sensu 监控解决方案如何在 Debian 11 上安装 Sensu 监控解决方案如何在 Debian 11 上安装 Sensu 监控解决方案
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 11 上安装 Sensu 监控解决方案

在此页

  1. 先决条件
  2. 添加 Sensu 存储库
  3. 安装 Sensu 后端
  4. 安装 Sensuctl 命令行
  5. 安装 Sensu 代理
  6. 通过检查监控服务器资源
  7. 结论

Sensu 是一个开源基础设施和应用程序监控系统,专为容器和非容器监控以及多云基础设施而设计。 Sensu 是一种可扩展、安全且集成的监控解决方案,适用于您的技术和服务器基础设施。它可用于监控服务器、应用程序运行状况和服务,并通过第三方集成向多个目标发送警报通知。

在本教程中,您将学习如何在 Debian 11 服务器上安装 Sensu 监控软件。您还将学习如何设置 Sensu CLI 来管理 Sensu。最后,您将学习如何通过 Sensu Agent 使用 Sensu 设置服务器监控。

先决条件

对于此 Sensu 部署,您需要满足以下要求:

  • 一台 Debian 11 服务器,配备 4 GB RAM 和 2 个 CPU。此要求非常依赖于您的基础架构环境。
  • 具有 sudo/管理员权限的非根用户。
  • Linux 机器将用作监控目标。

添加 Sensu 存储库

要开始安装 Sensu,您需要将 Sensu 包存储库添加到您的所有系统,包括 Sensu 后端和目标服务器。

Sensu 存储库在 packagecloud.io 上可用,可以手动或通过 packagecloud.io 提供的 bash 脚本将其添加到您的系统中。

在添加 Sensu 存储库之前,运行下面的 apt 命令来安装基本的包依赖项。当系统提示确认安装时,按 Y 和 Enter。

sudo apt install debian-archive-keyring curl gnupg apt-transport-https

现在运行以下命令来添加 Sensu 存储库。这个 bash 脚本会自动将 Sensu 存储库和 GPG 密钥添加到您的 Debian 服务器。

curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash

如果要手动添加 Sensu 存储库,请按照以下步骤操作:

创建一个密钥环目录,用于存储 Sensu 存储库的 GPG 密钥。

mkdir -p /etc/apt/keyrings/
curl -fsSL https://packagecloud.io/sensu/stable/gpgkey | gpg --dearmor > /etc/apt/keyrings/sensu_stable-archive-keyring.gpg

使用以下命令添加 Sensu 存储库。此存储库适用于 Debian 11 Bullseye 和最新稳定版的 Sensu。

cat <<EOF | sudo tee /etc/apt/sources.list.d/sensu_stable.list
deb [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
deb-src [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
EOF

现在您可以使用以下 apt 命令更新和刷新您的 Debian 软件包索引。

sudo apt update

安装 Sensu 后端

Sensu 监控解决方案的主要核心是“Sensu 后端”,它提供了一个 HTTP API,管理员可以通过“sensuctl”命令行使用它。 WebSocket API 将被“Sensu Agent”用于监控,还提供用于管理 Sensu 的 Web UI 仪表板。

此外,Sensu 使用“etcd”来存储数据,尤其是在大型 Sensu 集群部署中。

要安装 Sensu 后端,请运行下面的 apt 命令。安装将自动开始。

sudo apt install sensu-go-backend

安装完成后,下载Sensu后台配置示例到\/etc/sensu/backend.yml\。然后,使用以下命令编辑文件“/etc/sensu/backend.yml”。

sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml
sudo nano /etc/sensu/backend.yml

取消注释以下配置。

cache-dir: "/var/cache/sensu/sensu-backend"
config-file: "/etc/sensu/backend.yml"

log-level: "debug"
state-dir: "/var/lib/sensu/sensu-backend"

完成后,保存并关闭文件。

接下来,运行以下 systemctl 命令启动 Sensu 后端服务并启用它。并且 Sensu 后端服务将在系统启动时自动运行。

sudo systemctl start sensu-backend
sudo systemctl enable sensu-backend

使用以下命令检查并验证 Sensu 后端服务。您应该看到 Sensu 后端服务当前正在运行并已启用。

sudo systemctl status sensu-backend

Sensu 后端运行后,您现在将初始化 Sensu 后端安装和配置。这可以通过使用由 Sensu Backend 包提供的命令行“sensu-backend init”来完成。

此外,在 Sensu 后端初始化期间,您将为您的 Sensu 监控解决方案设置管理员用户和密码。

运行以下命令为 Sensu 管理员用户和密码创建新的系统环境变量。在此示例中,您将创建一个新的 Sensu 管理员用户 \adminsensu\,密码为 \SensuRocks\。

export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=adminsensu
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=SensuRocks

现在开始使用以下命令初始化 Sensu 后端。您应该会看到初始化过程,Sensu 会将数据存储在“etcd”数据存储中。

sensu-backend init

要检查和验证您的 Sensu 后端安装,您将通过 curl 命令对在默认端口“8080”上运行的 Sensu HTTP API 执行 Sensu 健康检查。

运行下面的 curl 命令对您的 Sensu 后端安装进行健康检查。您应该会在终端屏幕上看到输出消息,例如 \health: OK\。

curl http://127.0.0.1:8080/health

您还可以通过 TCP 端口“3000”访问 Sensu Web UI 仪表板。打开您的网络浏览器并访问您的服务器 IP 地址后的端口 3000(即:http://192.168.5.100:3000)。您应该会看到 Sensu 登录页面。

输入管理员用户“adminsensu”和密码“SensuRocks”。然后,单击“登录”以登录到 Sensu Web UI 仪表板。

现在您应该看到 Sensu 网络管理仪表板。

安装 Sensuctl 命令行

在 Sensu 上,管理员可以通过 Sensu Web UI 管理仪表板和命令行终端使用“sensuctl”来管理 Sensu 监控解决方案。

\sensuctl\ 是一个用于管理 Sensu 资源的命令行工具。它使用 HTTP API 与 Sensu 后端通信,允许您创建、读取和删除资源、事件和实体。

\sensuctl\ 可以安装在多个操作系统上,例如 Linux、Windows 和 macOS。 \sensuctl\ 的功能类似于 Sensu web UI 仪表板,您可以将其安装在本地工作站或基础设施的安全\堡垒服务器上。

对于基于 Debian/Ubuntu 的系统,运行下面的 apt 命令以安装 \sensuctl\ 命令行工具。安装将自动开始。

sudo apt install sensu-go-cli

安装完成后,运行以下 \sensuctl\ 命令开始配置并连接到 Sensu 后端服务器的 API。

sensuctl configure

系统将提示您进行以下配置:

  • 对于身份验证方法,选择“用户名/密码”。
  • 输入服务器的 Sensu 后端 API URL。在此示例中,我们将在同一台服务器上设置“sensuctl”,因此主机将为 localhost 或“127.0.0.1”。 Sensu HTTP API 的默认端口是“8080”——http://127.0.0.1:8080。
  • 对于命名空间配置,选择“默认”。
  • 对于输出格式,您可以选择“表格”样式或使用“yaml”输出格式。
  • 最后,输入您的 Sensu 后端的管理员用户和密码。

现在您已经完成了“sensuctl”基本配置并连接到 Sensu 后端 API 服务器。

运行下面的 \sensuctl\ 命令来检查您的配置。您应该会看到 \sensuctl\ 的详细 API 配置。

sensuctl config view

此外,\sensuctl\ 还为您的 shell 提供自动完成功能。如果您使用的是 bash,则需要安装“bash-completion”包并在“~/.bashrc”配置文件中添加一些配置。

运行以下 apt 命令以安装“bash-completion”包。

sudo apt install bash-completion

现在使用以下命令编辑 \~/.bashrc\ 配置。

sudo nano ~/.bashrc

将以下配置添加到文件中。

if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

source <(sensuctl completion bash)

完成后,保存并关闭文件。

接下来,使用以下命令重新加载 shell 的当前会话。

source ~/.bashrc

最后,输入命令 \sensuctl\ 并按 TAB 键以获取所有可用的命令选项。您应该获得 \sensuctl\ 命令的所有可用选项。

sensuctl TAB

安装 Sensu 代理

要使用 Sensu 监控主机或机器,您必须在所有主机上安装 Sensu 代理程序包。 Sensu Agent 几乎适用于 Linux 发行版和 Windows。

要在 Linux 系统上安装 Sensu Agent,请确保已添加 Sensu 存储库。

对于基于 Debian/Ubuntu 的系统,运行以下 apt 命令来安装 Sensu Agent 包。现在开始安装。

sudo apt install sensu-go-agent

安装完成后,将 Sensu 代理配置下载到 \/etc/sensu/agent.yml\。然后,使用以下命令编辑配置\/etc/sensu/agent.yml\。

sudo curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o /etc/sensu/agent.yml
sudo nano /etc/sensu/agent.yml

取消注释以下这些配置。请务必将此处的“名称”更改为系统主机名,并将“backend-url”更改为 Sensu 后端服务器的 IP 地址。

在此示例中,我们将添加一台主机名为 \linux-host1\ 并在 \default\ 命名空间中可用的 Debian 机器。这里的Sensu Backend服务器是“192.168.5.100”,Sensu Backend默认的WebSocket API端口是“8081”。

name: "linux-host1"
namespace: "default"
...
backend-url:
  - "ws://192.168.5.100:8081"
cache-dir: "/var/cache/sensu/sensu-agent"
config-file: "/etc/sensu/agent.yml"

完成后,保存并关闭文件。

接下来,运行以下命令启动 Sensu Agent 服务并使其在系统启动时自动运行。

sudo systemctl start sensu-agent
sudo systemctl enable sensu-agent

现在运行以下命令来检查和验证 Sensu Agent 服务。您应该看到 Sensu Agent 正在运行并已启用。

sudo systemctl status sensu-agent

接下来,返回您的 Web 浏览器并选择命名空间 \default\。您应该会看到新的实体主机 \linux-host1\ 可用。

您还可以使用 \sensuctl\ 命令从终端命令行进行检查,如下所示。您应该会看到代理“linux-host1”已添加到 Sensu Monitoring Solution 中。

sensuctl entity list --format tabular

通过检查监控服务器资源

Sensu Agent 的工作只是为代理节点或目标服务器提供一种通过 WebSocket API 连接到 Sensu 后端的方式。要监控 CPU 使用率、带宽使用率和磁盘使用率等服务器资源,您需要设置“订阅”并在其上创建一些“检查”。然后,您可以向 Sensu Agent 或目标服务器添加多个“订阅”。

要使用 Sensu 监控服务器资源,您需要执行以下步骤:

  • 创建订阅
  • 注册 Sensu 运行时资产
  • 定义检查系统资源检查命令

在继续之前,运行以下 \sensuctl\ 命令创建一个名为 \system\ 的新订阅到 \linux-host1\ 实体。

sensuctl entity update linux-host1

系统将提示您回答以下问题:

  • 对于实体类\,保留默认\代理\,然后按 ENTER。
  • 对于“订阅”,输入订阅的名称“系统”,然后按 ENTER。

在 Sensu 上,“Checks”基本上只是定义了一个可以用来监控服务器资源的命令。 \Checks\ 是您可以在 Sensu \Assets\ 和 \Subscriptions\ 之上定义的命令行,以满足您的所有监控需求。要创建“检查”,您将通过“sensuctl”命令设置动态运行时资产。所有 Sensu 的“资产”都可以在 https://bonsai.sensu.io/ 上找到。

现在运行下面的 \sensuctl\ 命令来创建和注册 Sensu \Assets\ 以监控 CPU 使用率。您应该会看到输出消息,例如 \added asset: sensu/check-cpu-usage:0.2.2\。在此示例中,我们还将资产的默认名称重命名为 \check-cpu-usage\ 并带有选项 \-r\。

sensuctl asset add sensu/check-cpu-usage:0.2.2 -r check-cpu-usage

现在运行以下命令来检查 Sensu 资产列表。您应该会看到资产 \check-cpu-usage\ 在 Sensu 上可用。

sensuctl asset list

接下来,运行以下命令创建用于监控 CPU 使用率的“检查”命令。在此示例中,您将创建一个新的检查命令名称 \check_cpu\,它将在 \system\ 订阅上可用并基于资产 \check-cpu-用法\”。您也可以在“--command”选项中更改此处的参数。并且您应该得到诸如“已创建”之类的输出消息。

sensuctl check create check_cpu \
--command 'check-cpu-usage -w 75 -c 90' \
--interval 60 \
--subscriptions system \
--runtime-assets check-cpu-usage

运行以下\sensuctl\命令来检查和验证\check_cpu\。您应该会看到刚刚创建的“check_cpu”的“检查”的详细信息。

sensuctl check info check_cpu --format yaml

现在您可以使用以下命令验证 \check_cpu\ 事件监控。您应该看到 \linux-host1\ 的 CPU 使用率监控已配置并完成。

sensuctl event list --format tabular

现在转到 Sensu 管理仪表板并选择“默认”命名空间。在“实体”菜单上,您应该将“linux-host1”代理添加到 Sensu 监控系统。

现在,如果您单击“linux-host1”代理的详细信息,您将看到您刚刚创建的“Checks”监控“check_cpu”。

接下来,您可以为您的监控系统添加和创建更多“检查”。

结论

您现在已经在 Debian 11 Server 上安装了 Sensu Monitoring Solution。您还了解了用于管理 Sensu 后端的 Sensuctl 命令的基本用法。此外,您已通过 Sensu 代理成功监控 Linux 主机并设置“检查”以监控您的目标服务器。

©2015-2025 艾丽卡 support@alaica.com