目录

简介

先决条件

要求

使用的组件

背景信息

配置

安装Epel存储库

安装Erlang

安装Redis、RabbitMQ和配置RabbitMQ

注册Sensu存储库

安装和配置Sensu

启用SENSU服务

安装和配置内和

验证服务器是否运行

配置检查

重新启动Sensu

更新操作脚本

创建Sensu操作

相关信息

简介

本文档介绍如何在CloudCenter上配置Sensu服务器和其他操作，以从服务器添加或删除工作虚拟机(VM)。

先决条件

要求

Cisco 建议您了解以下主题：

- CloudCenter操作

- 仙宿

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

背景信息

Sensu是一个程序，用于监控机器的各个方面。它可以整合到CloudCenter中，为任何已部署的虚拟机提供更强的监控能力。本演示旨在展示如何通过操作将Sensu与CloudCenter集成。

配置

该功能可在直接访问互联网的CentOS 7虚拟机上运行。如果需要连接到代理，请在继续之前执行该配置。

为传入和传出打开以下端口：3000、3030、4567、5671、5672、6379.

确保Sensu服务器具有静态IP地址。

注意：代码块内的所有内容都设计为复制并粘贴到终端中。

安装Epel存储库

sudo yum -y install epel-release

安装Erlang

sudo yum -y install erlang

安装Redis、RabbitMQ和配置RabbitMQ

sudo rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

sudo rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.1/rabbitmq-server-3.4.1-1.noarch.rpm

sudo rabbitmq-plugins enable rabbitmq_management

sudo yum -y install redis

sudo chkconfig redis on

sudo service redis start

sudo chkconfig rabbitmq-server on

sudo /etc/init.d/rabbitmq-server start

sudo rabbitmqctl add_vhost /sensu

sudo rabbitmqctl add_user sensu secret

sudo rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"

注册Sensu存储库

echo '[sensu]

name=sensu-main

baseurl=http://repositories.sensuapp.org/yum/el/7/x86_64/

gpgcheck=0

enabled=1' |sudo tee /etc/yum.repos.d/sensu.repo

安装和配置Sensu

sudo yum -y install sensu

sudo rm -f /etc/sensu/config.json.example

echo '{

"api": {

"host": "localhost",

"bind": "0.0.0.0",

"port": 4567

}

}' |sudo tee /etc/sensu/conf.d/api.json

echo '{

"client": {

"name": "sensu-server",

"address": "127.0.0.1",

"environment": "sensu",

"subscriptions": [ "linux"],

"keepalive":

{

"handler": "mailer",

"thresholds": {

"warning": 250,

"critical": 300

}

},

"socket": {

"bind": "127.0.0.1",

"port": 3030

}

}

}' |sudo tee /etc/sensu/conf.d/client.json

echo '{

"rabbitmq": {

"host": "127.0.0.1",

"port": 5672,

"vhost": "/sensu",

"user": "sensu",

"password": "secret"

}

}' |sudo tee /etc/sensu/conf.d/rabbitmq.json

echo '{

"redis": {

"host": "127.0.0.1",

"port": 6379

}

}' |sudo tee /etc/sensu/conf.d/redis.json

echo '{

"transport": {

"name": "rabbitmq",

"reconnect_on_error": true

}

}' |sudo tee /etc/sensu/conf.d/transport.json

启用SENSU服务

sudo chkconfig sensu-server on

sudo chkconfig sensu-client on

sudo chkconfig sensu-api on

sudo service sensu-server start

sudo service sensu-client start

sudo service sensu-api start

安装和配置内和

sudo yum -y install uchiwa

echo '{

"sensu": [

{

"name": "sensu",

"host": "localhost",

"port": 4567,

"timeout": 10

}

],

"uchiwa": {

"host": "0.0.0.0",

"port": 3000,

"refresh": 10

}

}' |sudo tee /etc/sensu/uchiwa.json

sudo chown uchiwa:uchiwa /etc/sensu/uchiwa.json

sudo chmod 664 /etc/sensu/uchiwa.json

sudo chkconfig uchiwa on

sudo service uchiwa start

验证服务器是否运行

导航至IP地址：3000/#/事件

此时，您应该有一个名为Sensu-server的客户端。

配置检查

echo '{

"checks": {

"check-cpu-linux": {

"handlers": ["mailer"],

"command": "/opt/sensu/embedded/bin/check-cpu.rb -w 80 -c 90 ",

"interval": 60,

"occurrences": 5,

"subscribers": [ "linux" ]

}

}

}' |sudo tee /etc/sensu/conf.d/check_cpu_linux.json

echo '{

"checks": {

"check-disk-usage-linux": {

"handlers": ["mailer"],

"type": "metric",

"command": "/opt/sensu/embedded/bin/check-disk-usage.rb",

"interval": 60,

"occurrences": 5,

"subscribers": [ "linux" ]

}

}

}' |sudo tee /etc/sensu/conf.d/check_disk_usage_linux.json

echo '{

"checks": {

"check_memory_linux": {

"handlers": ["mailer"],

"command": "/opt/sensu/embedded/bin/check-memory-percent.rb -w 80 -c 90 ",

"interval": 60,

"occurrences": 5,

"refresh": 1800,

"subscribers": [ "linux" ]

}

}

}' |sudo tee /etc/sensu/conf.d/check_memory_linux.json

sudo sensu-install -p cpu-checks

sudo sensu-install -p disk-checks

sudo sensu-install -p memory-checks

重新启动Sensu

sudo service sensu-client restart && sudo service sensu-server restart && sudo service sensu-api restart

一分钟后，您应列出三个检查。

如果单击Sensu-server客户端，您会从三次检查中看到该设备的详细信息。

更新操作脚本

1. 下载Sensu.zip。

2. 解压缩文件。

3. 编辑sensuinstall.sh。

4. 将线路主机更改为SensuServerIP，以获得Sensu Server的IP地址。

5.编辑sensuuninstall.sh。

6.更改curl -s -i -X DELETE http://SensuServerIP:4567/clients/$cliqrNodeHostname行，使其具有Sensu服务器的IP地址。

7.将修改后的文件压缩回Sensu.zip。

8.上传到CloudCenter Manager(CCM)已配置的存储库。

创建Sensu操作

导航至“操作库”，然后选择“新建操作”。

type：命令或脚本

操作名称：注册Sensu

描述:安装Sensu客户端并将其注册到服务器

执行操作：在虚拟机操作系统上

对象映射：

资源类型：CloudCenter部署的虚拟机

应用配置文件：all

云区域：all

云帐户：all

全部服务

资源类型：导入的VM（安装代理）

云区域：all

云帐户：all

操作系统类型：all

操作定义：

从捆绑包执行：Yes

地点：上传到的回购，以及Sensu.zip文件的路径

捆绑包中的脚本：sensuinstall.sh

保存操作并创建新操作

type：命令或脚本

操作名称：注销Sensu

描述:停止Sensu客户端并将其注销到服务器

执行操作：在虚拟机操作系统上

对象映射：

资源类型：CloudCenter部署的虚拟机

应用配置文件：all

云区域：all

云帐户：all

全部服务

资源类型：导入的VM（安装代理）

云区域：all

云帐户：all

操作系统类型：all

操作定义：

从捆绑包执行：Yes

地点：上传到的回购，以及Sensu.zip文件的路径

捆绑包中的脚本：sensuuninstall.sh

保存操作

现在，您可以在任何已部署的VM上使用这些操作将其注册到Sensu服务器并注销。请注意，unregister不会卸载Sensu客户端，它只会停止服务并从服务器数据库(DB)中删除服务。

相关信息

- 仙宿

- 操作库

- 技术支持和文档 - Cisco Systems