簡介
本文檔介紹如何在CloudCenter上配置Sensu伺服器和其他操作,以便向伺服器新增或移除工作虛擬機器(VM)。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
背景資訊
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客戶端,則會看到來自對該裝置的三項檢查的詳細資訊。
更新操作指令碼
- 下載Sensu.zip。
- 解壓縮檔案。
- 編輯sensuinstall.sh。
- 將線路主機更改為"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)中刪除該服務。
相關資訊