在Ubuntu 20.04| 18.04上安装Sensu Monitoring工具
欢迎我们关于如何在Ubuntu 20.04上安装Sensu Monitoring工具的教程18.04 LTS。
Sensu是一种开源,全堆栈监控工具,适用于任何类型的动态操作环境。
这是一个简单,可扩展和可延展的框架,可构成所需的监控系统。
Sensu Monitoring工具简介
Sensu能够监控公共,私人和混合云以及基于Docker的环境。
它是用Ruby编写的,并使用RabbitMQ进行队列检查事件和请求。
需要客户端信息等持久存储的数据存储在Redis中。
Sensu船用了一吨插件,用于监控公共服务。
Sensu如何工作
Sensu使用客户端 - 服务器模型,其中要监视的所有系统运行Sensu客户端软件。
此客户端应用程序负责执行本地检查,管理客户端订阅和注册,并满足Sensu Server请求的检查。
代理报告检查结果,服务器将基于结果进行操作,例如,如果服务关闭,则将通知消息发送给用户。
在Ubuntu 20.04/18.04 LTS上安装Sensu Monitoring工具
在本节中,将介绍在Ubuntu 20.04/18.04 LTS上安装Sensu Monitoring工具的步骤。
我假设我们已经有一个运行的Ubuntu 20.04/18.04服务器,它可以是本地的VM,云中或者专用服务器。
第1步:设置服务器主机名,NTP和更新
始终通过将系统包更新到最新版本来启动安装。
sudo apt-get update sudo apt-get -y upgrade sudo reboot
等待服务器提出然后设置主机名:
sudo hostnamectl set-hostname sensu.example.com
设置NTP和TimeZone
在Sensu Server和Agents上配置NTP是良好的,用于所有数据的正确时间戳。
设置正确的时区:
sudo timedatectl set-timezone Africa/Nairobi
安装NTP包:
sudo apt -y install ntp
显示NTP状态:
$ntpq -p
第2步:安装Redis和RabbitMQ
RabbitMQ在Erlang Runtime上运行,我们需要导入GPG密钥:
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add
使用以下命令添加Erlang存储库:
echo "deb http://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/erlang-solutions.list
安装RabbitMQ:
sudo apt update sudo apt install rabbitmq-server
完成后,为Sensu创建RabbitMQ vhost
$sudo rabbitmqctl add_vhost /sensu Creating vhost "/sensu"
添加用户来管理vhost
$sudo rabbitmqctl add_user sensu StrongPassword Creating user "sensu"
代替 StrongPassword
使用密码。
assing. sensu
vhost的用户完全权限 /sensu
$sudo rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*" Setting permissions for user "sensu" in vhost "/sensu"
安装Redis Server:
sudo apt -y install redis-server
第3步:安装和配置Sensu
Sensu包在官方Ubuntu存储库上不可用。
我们需要在安装之前添加上游存储库 sensu
软件包。
echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | sudo tee /etc/apt/sources.list.d/sensu.list
导入存储库GPG密钥:
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add
更新包索引并安装sensu:
sudo apt update sudo apt -y install sensu
Sensu配置文件,插件和扩展将放在下面 /etc/sensu/
目录。
创建用于连接到RabbitMQ,API和Redis的Sensu配置文件
创建API配置文件:
sudo tee /etc/sensu/conf.d/api.json<<EOF { "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 } } EOF
创建RabbitMQ访问配置:
sudo tee /etc/sensu/conf.d/rabbitmq.json<<EOF { "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "StrongPassword" } } EOF
redis配置:
sudo tee /etc/sensu/conf.d/redis.json<<EOF { "redis": { "host": "127.0.0.1", "port": 6379 } } EOF
第4步:安装和配置Uchiwa Sensu Web界面
通过运行安装Uchiwa:
sudo apt -y install uchiwa
创建配置文件:
为配置Senu进行设置一些变量:
DOMAIN="sensu.example.com" UI_USERNAME="admin" UI_PASSWORD="Hyman@theitroad"
创建配置文件:
sudo tee /etc/sensu/conf.d/uchiwa.json<<EOF { "sensu": [ { "name": "$DOMAIN", "host": "127.0.0.1", "port": 4567, "timeout": 10 } ], "uchiwa": { "host": "0.0.0.0", "port": 3000, "refresh": 10, "user": "$UI_USERNAME", "pass": "$UI_PASSWORD" } } EOF
配置Sensu客户端:
sudo tee /etc/sensu/conf.d/uchiwa.json<<EOF { "client": { "environment": "development", "name": "sensu-server", "address": "127.0.0.1", "subscriptions": [ "development", "sensu-server" ] } } EOF
设置权限:
sudo chown sensu. /etc/sensu/conf.d/*
第5步:启动Sensu服务
我们现在可以启动Sensu Services并启用它们启动启动:
for i in sensu-server sensu-api sensu-client uchiwa; do sudo systemctl enable $i sudo systemctl start $i done
访问Sensu Dashboard使用 http://[ip|hostname]:3000
使用已配置的用户名和密码登录。