简介
本文档介绍如何在CloudCenter上配置Sensu服务器和其他操作,以从服务器添加或删除工作虚拟机(VM)。
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
背景信息
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客户端,您会从三次检查中看到该设备的详细信息。
更新操作脚本
- 下载Sensu.zip。
- 解压缩文件。
- 编辑sensuinstall.sh。
- 将线路主机更改为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)中删除服务。
相关信息