Sensu是一个免费的开源工具,用于组成您需要的监控系统。 它是用Ruby编写的,它使用RabbitMQ来处理消息和Redis来存储数据。 Sensu提供了监控基础设施和应用程序健康的框架。 Sensu支持许多平台,如IBM AIX,Ubuntu,Debian,RedHat,CentOS,FreeBSD,Mac OS,Solaris,Windows等等。 Sensu使组织能够组成满足其独特业务需求的综合监控解决方案。 Sensu提供了数百种插件,可为您的业务依赖的工具和服务提供本地工具,包括Web服务器和代理,数据库,消息队列,日志聚合,索引,搜索,缓存,网络和系统资源,配置管理和发现,通用,Chef,Clack等等。
在本教程中,我们将在Ubuntu 16.04上逐步安装Redis,RabbitMQ和Sensu。
要求
- Ubuntu 16.04服务器安装在您的系统上。
- 在系统上设置sudo权限的非root用户。
- 静态IP地址192.168.0.227在您的系统上配置。
更新系统
在启动之前,建议将系统更新到最新的稳定版本。 您可以通过运行以下命令来更新系统:
sudo apt-get update -y
sudo apt-get upgrade -y
更新系统后,请重新启动系统以使用以下命令应用所有更新:
sudo reboot
重新启动后,使用sudo用户登录到您的系统,然后继续下一步。
安装和配置RabbitMQ
在启动之前,RabbitMQ运行在Erlang上,所以您需要将Erlang安装到系统中。
首先,使用以下命令将Erlang存储库和Erlang公钥添加到您的信任密钥列表中:
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
接下来,使用以下命令更新存储库:
sudo apt-get update -y
一旦存储库更新,运行以下命令安装Erlang:
sudo apt-get install socat erlang-nox -y
接下来,您需要将最新版本的RabbitMQ存储库下载并安装到系统中。 您可以通过运行以下命令来执行此操作:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server_3.6.10-1_all.deb
sudo dpkg -i rabbitmq-server_3.6.10-1_all.deb
安装存储库后,使用以下命令更新存储库:
sudo apt-get update -y
最后,通过运行以下命令安装RabbitMQ服务器:
sudo apt-get install rabbitmq-server -y
安装完成后,启动RabbitMQ服务,并使用以下命令启动它:
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
接下来,您将需要为Sensu创建一个RabbitMQ vhost和用户。 您可以通过运行以下命令来执行此操作:
sudo rabbitmqctl add_vhost /sensu
sudo rabbitmqctl add_user sensu your-password
sudo rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
完成后,您可以继续安装Redis服务器。
安装Redis Server
Sensu使用Redis服务器来存储他们的数据。 默认情况下,Sensu在Ubuntu存储库中可用。 您可以通过运行以下命令来安装Redis服务器:
sudo apt-get install redis-server apt-transport-https -y
安装完成后,启动Redis服务器,并通过运行以下命令使其启动:
sudo systemctl start Redis-server
sudo systemctl enable Redis-server
完成后,可以继续下一步。
安装和配置Sensu
默认情况下,Sensu在Ubuntu存储库中不可用。 因此,您需要将公钥和存储库添加到系统中。
首先,使用以下命令添加GPG密钥:
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add -
接下来,使用以下命令,在/etc/apt/sources.list.d目录中创建sensu.list文件来添加Sensu存储库:
sudo nano /etc/apt/sources.list.d/sensu.list
添加以下行:
deb https://sensu.global.ssl.fastly.net/apt sensu main
使用以下命令保存文件并更新存储库:
sudo apt-get update -y
一旦存储库更新,请使用以下命令安装Sensu:
sudo apt-get install sensu -y
安装Sensu后,您将需要配置Sensu for RabbitMQ和Redis。 默认情况下,Sensu将从/etc/sensu/conf.d/目录加载配置。 因此,您将需要为RabbitMQ,Redi和Api创建配置文件。
首先,通过运行以下命令在/etc/sensu/conf.d目录中创建一个rabbitmq.json文件:
sudo nano /etc/sensu/conf.d/rabbitmq.json
添加以下行以连接RabbitMQ实例:
{ "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "your-password" } }
完成后保存并关闭文件。
接下来,使用以下命令创建redis.json文件:
sudo nano /etc/sensu/conf.d/redis.json
添加以下行以包含Sensu访问Redis的连接信息:
{ "redis": { "host": "127.0.0.1", "port": 6379 } }
完成后保存并关闭文件。
接下来,创建一个api.json文件,通过运行以下命令来包含Sensu的访问API服务的连接信息。
sudo nano /etc/sensu/conf.d/api.json
添加以下行:
{ "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 } }
完成后保存并关闭文件,然后可以继续下一步。
安装和配置Sensu仪表板
默认情况下,Sensu不附带仪表板通过Web界面监控Sensu。
因此,您需要在系统中安装一个开源的Dashboard Uchiwa。 默认情况下,Uchiwa在Ubuntu存储库中不可用。 所以,您需要在系统中添加Uchiwa存储库。
首先,使用以下命令添加Uchiwa的公钥:
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add -
接下来,使用以下命令,在/etc/apt/sources.list.d目录下创建一个Uchiwa存储库:uchiwa..list文件。
sudo nano /etc/apt/sources.list.d/uchiwa.list
添加以下行:
deb https://sensu.global.ssl.fastly.net/apt sensu main
保存文件,然后使用以下命令更新存储库:
sudo apt-get update -y
一旦存储库更新,请使用以下命令安装Uchiwa:
sudo apt-get install uchiwa -y
安装Uchiwa后,使用以下命令创建Uchiwa的配置文件:
sudo nano /etc/sensu/conf.d/uchiwa.json
添加以下行:
{ "sensu": [ { "name": "Sensu", "host": "localhost", "port": 4567, "timeout": 10 } ], "uchiwa": { "host": "0.0.0.0", "port": 3000, "refresh": 10 } }
完成后保存并关闭文件。
最后,重新启动Sensu和Uchiwa服务,并使用以下命令启动它们的启动时间:
sudo systemctl start sensu-server
sudo systemctl enable sensu-server
sudo systemctl start sensu-api
sudo systemctl enable sensu-api
sudo systemctl start sensu-client
sudo systemctl enable sensu-client
sudo systemctl start uchiwa
sudo systemctl enable uchiwa
完成后,可以继续下一步。
访问Sensu仪表板
在访问Sensu仪表板之前,您将需要通过UFW防火墙允许端口3000。
首先,通过运行以下命令安装UFW防火墙:
sudo apt-get install ufw -y
一旦安装了UFW,请使用以下命令启用UFW服务:
sudo ufw enable
接下来,使用以下命令,通过UFW防火墙允许端口3000:
sudo ufw allow 3000
配置防火墙后,打开Web浏览器并输入URL http://192.168.0.227:3000 ,您将看到以下页面:
接下来,点击数据中心图标,你应该看到Sensu服务器实例如下:
接下来,您将需要添加客户端来监控Sensu服务器本身。 您可以通过创建一个client.json文件:
sudo 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-client服务以应用这些更改:
sudo systemctl restart sensu-client
最后,通过点击客户端图标来检查客户端的状态,如下所示:
结论
恭喜! 您已经在Ubuntu 16.04服务器上成功安装并配置了Sensu服务器。 您现在可以根据需要轻松添加更多客户端。 如果您有任何问题,欢迎给我发消息。