目錄

簡介

必要條件

需求

採用元件

背景資訊

設定

安裝Epel儲存庫

安裝Erlang

安裝Redis、RabbitMQ和配置RabbitMQ

註冊Sensu儲存庫

安裝和配置Sensu

啟用Sensu服務

安裝和配置Uchiwa

驗證伺服器是否運行

配置檢查

重新啟動Sensu

更新操作指令碼

建立敏感操作

相關資訊

簡介

本文檔介紹如何在CloudCenter上配置Sensu伺服器和其他操作，以便向伺服器新增或移除工作虛擬機器(VM)。

必要條件

需求

思科建議您瞭解以下主題：

- 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

安裝和配置Uchiwa

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

驗證伺服器是否運行

導航到IPAddress: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伺服器的IP地址。

5.編輯sensuuninstall.sh。

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

7.將修改後的檔案壓縮回Sensu.zip。

8.上傳到CloudCenter Manager(CCM)已配置的儲存庫。

建立敏感操作

導航到操作庫，然後選擇新建操作。

Type:命令或指令碼

操作名稱：報名

說明:安裝Sensu客戶端並將其註冊到伺服器

執行操作：在虛擬機器作業系統上

對象對映：

資源型別：CloudCenter部署的虛擬機器

應用程式配置檔案：全部

雲區域：全部

雲帳戶：全部

全部服務

資源型別：已匯入虛擬機器（已安裝代理）

雲區域：全部

雲帳戶：全部

作業系統型別：全部

操作定義：

從捆綁包執行：是

位置：您上傳到的回執和Sensu.zip檔案的路徑

套件組合中的指令碼：sensuinstall.sh

儲存操作並建立另一個新操作

Type:命令或指令碼

操作名稱：取消註冊Sensu

說明:停止Sensu客戶端並在伺服器中取消註冊

執行操作：在虛擬機器作業系統上

對象對映：

資源型別：CloudCenter部署的虛擬機器

應用程式配置檔案：全部

雲區域：全部

雲帳戶：全部

全部服務

資源型別：已匯入虛擬機器（已安裝代理）

雲區域：全部

雲帳戶：全部

作業系統型別：全部

操作定義：

從捆綁包執行：是

位置：您上傳到的回執和Sensu.zip檔案的路徑

套件組合中的指令碼：sensuuninstall.sh

儲存操作

現在，您可以在任何已部署的虛擬機器上使用這些操作來將其註冊到Sensu伺服器並取消註冊。請注意，取消註冊不會解除安裝Sensu客戶端，它只會停止服務並從伺服器資料庫(DB)中刪除該服務。

相關資訊

- 仙素

- 操作庫

- 技術支援與文件 - Cisco Systems