更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Ubuntu 22.04系统上安装和配置Sensu监控工具

在Ubuntu 22.04系统上安装和配置Sensu监控工具

更新时间:2023-01-06 10:51:30浏览次数:902+次

本文介绍如何在Ubuntu 22.04系统上安装和配置Sensu监控工具的方法。

简介

Sensu是一个开源的全栈监控工具,适用于任何类型的动态操作环境。它是一个简单、可扩展和可扩展的框架,可帮助您构建所需的监控系统。

Sensu能够监控公共、私有和混合云以及基于容器的环境。它是用Ruby编写的,使用RabbitMQ对检查事件和请求进行排队。需要持久存储的数据(如客户端信息)存储在Redis中。Sensu提供了大量用于监控公共服务的插件。

以下是Sensu的工作原理:

Sensu使用客户端-服务器模型,其中所有要监控的系统都运行一个感官客户端软件。此客户端应用程序负责执行本地检查、管理客户端订阅和注册,以及完成Sensu服务器请求的检查。代理报告检查结果,服务器将根据结果采取行动,例如,如果服务关闭,则向用户发送通知消息。

在Ubuntu 22.04上安装和配置Sensu

在本文中,我将向您展示在Ubuntu 22.04 LTS上安装Sensu监控工具的步骤。我假设您已经有一个正在运行的Ubuntu服务器,它可以是一个本地的虚拟机,也可以是一台专用的服务器。

步骤1:设置服务器主机名、ntp和更新

始终通过将系统包更新到最新版本来启动安装:

sudo apt update && sudo apt -y full-upgrade

[ -f /var/run/reboot-required ] && sudo reboot -f

等待服务器启动,然后设置主机名:

sudo hostnamectl set-hostname sensu.example.com

然后设置NTP和时区。

最好在Sensu服务器和代理上配置NTP,以便在所有数据上设置正确的时间戳。

设置正确的时区:

sudo timedatectl set-timezone Asia/Shanghai

安装ntp包:

sudo apt -y install ntp

显示ntp状态:

$ ntpq -p

步骤2:安装Sensu后端软件包

Sensu后端包可用于Ubuntu/Debian、RHEL/CCentOS和Docker。运行给定的命令以配置包含包的所需存储库:

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

Detected operating system as Ubuntu/jammy.

Checking for curl...

Detected curl...

Checking for gpg...

Detected gpg...

Detected apt version as 2.4.8

Running apt-get update... done.

Installing apt-transport-https... done.

Installing /etc/apt/sources.list.d/sensu_stable.list...done.

Importing packagecloud gpg key... Packagecloud gpg key imported to /etc/apt/keyrings/sensu_stable-archive-keyring.gpg

done.

Running apt-get update... done.

The repository is setup! You can now install packages.

添加存储库并运行后,我们可以安装后端软件包:

sudo apt update

sudo apt install sensu-go-backend

步骤3:配置Sensu并启动服务

有两种方法可用于配置Sensu后端。一种是使用sensu-backend启动标志或/etc/sense/backend.yml文件。

从文档下载配置模板:

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

然后使用systemd服务管理器启动sensu-backend:

sudo systemctl start sensu-backend

验证sensu-backend服务的状态:

$ systemctl status sensu-backend

 sensu-backend.service - The Sensu Backend service.

     Loaded: loaded (/lib/systemd/system/sensu-backend.service; disabled; vendor preset: enabled)

     Active: active (running)

步骤4:通过设置用户名和密码初始化Sensu

在后端运行时,我们需要运行sensu-backend init来设置sensu管理员用户名和密码。

为此,需要具有用户名和密码字符串的环境变量:

export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=admin

export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=StrongAdminPassw0rd

使用提供的用户名和密码,初始化Sensu:

$ sudo sensu-backend init

{"component":"cmd","level":"info","msg":"attempting to connect to etcd server: http://localhost:2379"}

{"component":"backend.seeds","level":"info","msg":"seeding etcd store with initial data"}

{"component":"store","level":"warning","msg":"migrating etcd database to a new version","time"}

{"component":"store","database_version":1,"level":"info","msg":"successfully upgraded database"}

{"component":"store","database_version":2,"level":"info","msg":"successfully upgraded database"}

{"component":"store","level":"warning","msg":"migrating enterprise etcd database to a new version"}

{"component":"store","database_version":1,"level":"info","msg":"successfully upgraded database"}

{"component":"store","database_version":2,"level":"info","msg":"successfully upgraded database"}

使用Sensu/healthAPI检查后端是否已启动并正在运行,以检查后端的运行状况。您应该收到包含“Healthy”: true:

$ curl http://127.0.0.1:8080/health

{"Alarms":null,"ClusterHealth":[{"MemberID":13195394291058371180,"MemberIDHex":"b71f75320dc06a6c","Name":"default","Err":"","Healthy":true}],"Header":{"cluster_id":2037210783374497686,"member_id":13195394291058371180,"raft_term":2}}

步骤5:访问Sensu Web UI

Web UI服务正在侦听端口3000:

$ ss -tunelp | grep 3000

tcp   LISTEN 0      4096          *:3000             *:*    uid:999 ino:32190 sk:16 cgroup:/system.slice/sensu-backend.service v6only:0 <->

web UI提供了可观察事件的统一视图和用户友好的工具。可通过访问打开web UI,地址格式是http://serverIP:3000,如下图:

\

使用步骤4中设置的用户名和密码登录。

步骤6:安装sensoctl

Sensuctl是一个命令行实用程序,可用于管理Sensu中的资源。它调用Sensu的HTTP API来创建、读取、更新和删除资源、事件和实体。该工具可以安装在Linux、Windows和macOS上:

sudo apt install sensu-go-cli

运行sensuctl configure并使用用户凭据、名称空间和Sensu后端URL登录。

#语法

sensuctl configure -n \

--username 'YOUR_USERNAME' \

--password 'YOUR_PASSWORD' \

--namespace default \

--url 'http://127.0.0.1:8080'

#示例

sensuctl configure -n \

--username 'admin' \

--password 'StrongAdminPassw0rd' \

--namespace default \

--url 'http://127.0.0.1:8080'

要查看您的配置文件,请运行以下命令:

$ sensuctl config view

=== Active Configuration

API URL: http://127.0.0.1:8080

Namespace: default

Format: tabular

Timeout: 15s

Username: admin

JWT Expiration Timestamp: 1665750798

至此,配置Sensu完成。