Sensu是一个免费的开源工具,用于监控基础设施和应用程序的健康状况。它用Ruby编写,使用 RabbitMQ 处理消息,使用Redis存储数据。它可以安装在大多数操作系统上,包括 Ubuntu、Debian、RHEL、CentOS、IBM、AIX、FreeBSD、Mac OS、Solaris、Windows 等。它是最流行的新一代平台之一,取代了其他监控系统,如Zabbix、Icinga和Nagios。Sensu使用客户端-服务器模式。你只需要在你要监控的每个系统上安装一个sensu客户端。
在本教程中,我们将展示如何在Ubuntu 20.04服务器上安装Sensu监控服务器。
1、先决条件
运行Ubuntu 20.04的服务器。
为服务器配置了root密码。
2、入门指南
首先,您需要将系统更新到最新的稳定版本。您可以通过使用以下命令更新所有系统软件包来做到这一点:
apt-get update -y
系统更新后,请使用以下命令安装其他依赖项:
apt-get install gnupg2 curl wget unzip -y
一旦安装了所有软件包,即可继续进行下一步。
3、安装Redis和RabbitMQ
Sensu使用RabbitMQ处理消息,并使用Redis存储数据。因此,两个软件包都必须安装在系统中。默认情况下,Ubuntu 20.04默认存储库中不提供RabbitMQ。因此,您将需要在系统中添加RabbitMQ存储库。
首先,使用以下命令导入GPG密钥:
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -
接下来,通过运行以下命令来添加存储库:
echo "deb http://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list
接下来,更新存储库并使用以下命令安装RabbitMQ软件包:
apt-get update -y
apt-get install rabbitmq-server -y
安装完成后,您将需要为Sensu创建RabbitMQ虚拟主机。您可以使用以下命令创建它:
rabbitmqctl add_vhost /sensu
您应该看到以下输出:
Adding vhost "/sensu" ...
接下来,使用以下命令创建一个用户来管理虚拟主机:
rabbitmqctl add_user sensu password
您应该看到以下输出:
Adding user "sensu" ...
接下来,您将需要为vhost / sensu分配完全权限。
rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
您应该获得以下输出:
Setting permissions for user "sensu" in vhost "/sensu" ...
接下来,使用以下命令安装Redis服务器:
apt-get install redis-server -y
安装完成后,请使用以下命令启动Redis服务并启用它以在系统重新引导时启动:
systemctl start redis-server
systemctl enable redis-server
完成后,您可以继续下一步。
4、安装Sensu服务器
默认情况下,Sensu在Ubuntu官方存储库中不可用。因此,您将需要在系统中添加Sensu存储库。
首先,使用以下命令导入存储库GPG密钥:
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | apt-key add -
接下来,使用以下命令添加存储库:
echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | tee /etc/apt/sources.list.d/sensu.list
添加存储库后,请更新存储库并使用以下命令安装Sensu:
apt-get update -y
apt-get install sensu -y
安装Sensu后,您可以继续执行下一步。
5、配置Sensu
接下来,您将需要为RabbitMQ,Redis和Api创建配置文件。首先,使用以下命令创建api.json文件:
nano /etc/sensu/conf.d/api.json
添加以下行:
{
"api": {
"host": "localhost",
"bind": "0.0.0.0",
"port": 4567
}
}
保存并关闭文件,然后使用以下命令创建redis.json文件:
nano /etc/sensu/conf.d/redis.json
添加以下行:
{
"redis": {
"host": "127.0.0.1",
"port": 6379
}
}
保存并关闭文件,然后使用以下命令创建RabbitMQ配置文件:
nano /etc/sensu/conf.d/rabbitmq.json
添加以下行:
{
"rabbitmq": {
"host": "127.0.0.1",
"port": 5672,
"vhost": "/sensu",
"user": "sensu",
"password": "password"
}
}
完成后,保存并关闭文件。
6、安装和配置Sensu仪表板
接下来,您将需要在系统中安装Uchiwa仪表板。Uchiwa是一个开源仪表板,可通过Web界面监视Sensu。
您可以使用以下命令安装Uchiwa:
apt-get install uchiwa -y
安装Uchiwa后,请使用以下命令为Uchiwa创建配置文件:
nano /etc/sensu/uchiwa.json
添加以下行:
{
"sensu": [
{
"name": "Sensu",
"host": "127.0.0.1",
"port": 4567,
"timeout": 10
}
],
"uchiwa": {
"host": "0.0.0.0",
"port": 3000,
"refresh": 10
}
}
完成后,保存并关闭文件。
接下来,您将需要创建一个client.json文件来监视Sensu服务器本身。您可以使用以下命令创建它:
nano /etc/sensu/conf.d/client.json
添加以下行:
{
"client": {
"name": "sensu-server",
"address": "127.0.0.1",
"environment": "management",
"subscriptions": [
"dev",
"ubuntu"
],
"socket": {
"bind": "127.0.0.1",
"port": 3030
}
}
}
完成后,保存并关闭文件。
接下来,使用以下命令启动Sensu服务器,Api,Uchiwa和Sensu客户端服务:
systemctl start sensu-server
systemctl start sensu-api
systemctl start uchiwa
systemctl start sensu-client
启动所有服务后,您可以使用以下命令验证所有服务的状态:
systemctl status sensu-server sensu-api sensu-client uchiwa
您应该获得以下输出:
完成后,您可以继续下一步。
7、访问Sensu仪表板
现在,打开您的Web浏览器并输入URL http:// your-server-ip:3000。您应该在以下屏幕中看到Sensu仪表板:
现在,单击左窗格中的客户端图标。您应该在以下屏幕上查看Sensu客户端的状态:
至此,您已在Ubuntu 20.04服务器上成功安装并配置了Sensu和Uchiwa。现在,您可以添加更多客户端,并从Uchiwa仪表板开始工作。