建設(shè)銀行曲江支行網(wǎng)站優(yōu)化分析
目錄
一、背景
二、目的
三、創(chuàng)建安裝agent流程
四、通過標準運維 API 安裝 Agent
?五、總結(jié)
一、背景
??????? 藍鯨平臺正常情況納管主機需要在節(jié)點管理手工安裝agent,不能達到完成自動化安裝agent的效果。想通過腳本一鍵安裝agent,而不需要在藍鯨平臺進行過多的菜單操作。
????? 參考藍鯨社區(qū)大神的文檔:
https://bk.tencent.com/s-mart/community/question/11003?type=articlehttps://bk.tencent.com/s-mart/community/question/11003?type=article
二、目的
??????? 通過標準運維平臺API安裝agent,并輸出使用API 安裝agent的一鍵安裝腳本,用戶需要保證藍鯨集群能正常通過ssh訪問需要納管的主機。
三、創(chuàng)建安裝agent流程
??????? 登錄到藍鯨平臺,在標準運維對應的業(yè)務下創(chuàng)建項目流程;目前公共流程我測試未成功,公共流程會讀取業(yè)務id(bk_biz_id)失敗。
1、新建流程
???????? 到此,已完成了安裝 agent流程配置??梢灾苯油ㄟ^ 流程任務安裝agent了,要是想通過 API調(diào)用 則需要 參考后續(xù)的步驟(第四章節(jié)),創(chuàng)建 流程是 API調(diào)用 安裝 agent的必須前提。
?2、新建任務(測試流程正??捎?
??????? 此項不是必須項,此項是證明剛才創(chuàng)建標準流程已正常可用。
四、通過標準運維 API 安裝 Agent
?1、操作方法
2、下圖由藍鯨社區(qū)提供
藍鯨社區(qū)大神文檔地址:
https://bk.tencent.com/s-mart/community/question/11003?type=articlehttps://bk.tencent.com/s-mart/community/question/11003?type=article
2、獲取鑒權(quán)信息
?3、API 請求內(nèi)容(可通過postman 執(zhí)行)
4、通過shell 腳本調(diào)用 標準運維 API 安裝agent
???????? 使用者直接下載腳本或者復制腳本修改執(zhí)行即可,他會自動生成json請求文件,完成調(diào)用。
?????????使用者在執(zhí)行腳本前,必須修改的內(nèi)容有
- IP='替換成你的IP'
- PASSWORD='替換成你的主機 root 密碼,若是你的流程指定的是其他用戶,則寫對應用戶的密碼'
- template_id="替換成你的業(yè)務流程 ID 號"
- bk_app_secret='替換成你的安全密鑰值'
- bk_biz_id=3 # 請將數(shù)字修改成你的 業(yè)務 ID 值
- apiurl='"替換成你自己域名"/api/c/compapi/v2/sops/create_and_start_task/'
#!/bin/bash
# creator @土豆
# date 2023-05-18
# 通過藍鯨流程 API 自動化納管主機,安裝藍鯨agent
# 執(zhí)行本腳本即可納管主機: sh bk_agent.sh
# 要確保藍鯨集群能通過 ssh 訪問到目標主機
# 參考藍鯨社區(qū)文檔: https://bk.tencent.com/s-mart/community/question/11003?type=article##########################################################
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 多個IP,通過應用分號分隔,將值傳遞給在創(chuàng)建該流程設(shè)定的全局變量: ${IP} 和 ${PASSWORD} )
IP='192.168.1.101,192.168.1.102'
PASSWORD='替換成你的主機 root 密碼,若是你的流程指定的是其他用戶,則寫對應用戶的密碼'# 流程執(zhí)行任務的名稱,自定義即可
install_name=install_agent_$(date +%F_%T)#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
####################################################################################################################
# 固定內(nèi)容,這些內(nèi)容是 依據(jù)模塊而來,第一次使用需要修改
########################################################### 改成您的項目流程 ID
template_id="替換成你的業(yè)務流程 ID 號"# bk_username:藍鯨登錄用戶,可用其他有權(quán)限的用戶,默認值:admin
bk_username='admin'# bk_app_code 和 bk_app_secret 的值可從應用開發(fā)獲取: 藍鯨開發(fā)者中心 ->應用開發(fā)->標準運維->基本設(shè)置->基本信息
# bk_app_code: 應用ID,我在 json里面指定默認值為:bk_app_code='bk_sops'
# bk_app_code='bk_sops'# 應用 TOKEN ,安全密鑰
bk_app_secret='輸入你的安全密鑰值'# 業(yè)務默認值: 測試業(yè)務環(huán)境(我的流程是在 ID 是 3 的業(yè)務下)
bk_biz_id=3 # 請將數(shù)字修改成你的 業(yè)務 ID 值# 流程模板來源,business:默認值,業(yè)務流程,common:公共流程
# TEMPLATE_SOURCE=common# 任務流程類型,common: 默認值,常規(guī)流程,common_func:職能化流程
# FLOW_TYPE='common'## 請求的 API 地址,改成你自己的 API 地址
# 獲取方法: 藍鯨開發(fā)者中心->云API->API文檔->組件API文檔->管理工具->標準運維->API列表->create_and_start_task->API地址
apiurl='"替換成你自己域名"/api/c/compapi/v2/sops/create_and_start_task/'##########################################################
# 固定內(nèi)容,這些內(nèi)容是 依據(jù)模塊而來,第一次使用需要修改
########################################################### 獲取服務器第一個網(wǎng)卡的第一個IP
GetIP() {# 獲取服務器第一個網(wǎng)卡的第一個IPif [ -z ${IP} ];thenHostIP=`ifconfig |grep inet|grep -oP "\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}"| grep -vE "127.0.0.1|^255"|head -n 1`IP=$HostIPecho "您沒有輸入主機IP,自動獲取到的主機IP是:"echo $IPelseecho "您輸入的IP是: "echo $IPfi}# 生成請求內(nèi)容
RequestFile() {# 請求主體 json, 可自行參照 API文檔說明修改
# 藍鯨開發(fā)者中心->云API->API文檔->組件API文檔->管理工具->標準運維->API列表->create_and_start_task->請求參數(shù)示例
cat > agent.json << EOF
{"name": "${install_name}","template_id": "${template_id}","bk_app_code": "${bk_app_code:-bk_sops}","bk_app_secret": "${bk_app_secret}","bk_username": "${bk_username:-admin}","bk_biz_id": "${bk_biz_id}","template_source": "${template_source:-business}","flow_type": "${flow_type:-common}","constants": {"\${IP}": "${IP}","\${PASSWORD}": "${PASSWORD}","bk_biz_id": "${bk_biz_id}","description": "通過 API 自動化安裝 藍鯨 agent"}
}
EOF}# 安裝agent
InstallAgent() {# 發(fā)送 POST 請求,執(zhí)行自動安裝 藍鯨 agent #curl -XPOST $apiurl -H 'Content-Type: application/json' -d @agent.jsoncurl -s -XPOST $apiurl -H 'Content-Type: application/json' -d @agent.json# if [ $? -eq 0 ];then
# echo "installed Successed"
# else
# echo "installed failed .."
# fi
}# 執(zhí)行函數(shù)
GetIP
RequestFile
InstallAgent
5、驗證腳本 成功調(diào)用API安裝 藍鯨agent
?五、總結(jié)
??????? 1、在藍鯨平臺創(chuàng)建 安裝agent的流程
??????? 2、獲取相關(guān)信息,如鑒權(quán)信息等
??????? 3、通過 shell 腳本調(diào)用 API 接口,一鍵批量安裝agent
??????? 4、腳本有說明使用方法和獲取相關(guān)鑒權(quán)信息的知道方法,具體方案看截圖也可