在Ubuntu 20.04| 18.04上安装Sensu Monitoring工具

时间:2020-02-23 14:38:48  来源:igfitidea点击:

欢迎我们关于如何在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. sensuvhost的用户完全权限 /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使用已配置的用户名和密码登录。