目录
一、背景
二、目的
三、创建安装agent流程
四、通过标准运维 API 安装 Agent
五、总结
一、背景
蓝鲸平台正常情况纳管主机需要在节点管理手工安装agent,不能达到完成自动化安装agent的效果。想通过脚本一键安装agent,而不需要在蓝鲸平台进行过多的菜单操作。
参考蓝鲸社区大神的文档:
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访问需要纳管的主机。
三、创建安装agent流程
登录到蓝鲸平台,在标准运维对应的业务下创建项目流程;目前公共流程我测试未成功,公共流程会读取业务id(bk_biz_id)失败。
1、新建流程
到此,已完成了安装 agent流程配置。可以直接通过 流程任务安装agent了,要是想通过 API调用 则需要 参考后续的步骤(第四章节),创建 流程是 API调用 安装 agent的必须前提。
2、新建任务(测试流程正常可用)
此项不是必须项,此项是证明刚才创建标准流程已正常可用。
四、通过标准运维 API 安装 Agent
1、操作方法
2、下图由蓝鲸社区提供
蓝鲸社区大神文档地址:
https://bk.tencent.com/s-mart/community/question/11003?type=articlehttps://bk.tencent.com/s-mart/community/question/11003?type=article
2、获取鉴权信息
3、API 请求内容(可通过postman 执行)
4、通过shell 脚本调用 标准运维 API 安装agent
使用者直接下载脚本或者复制脚本修改执行即可,他会自动生成json请求文件,完成调用。
使用者在执行脚本前,必须修改的内容有
- IP='替换成你的IP'
- PASSWORD='替换成你的主机 root 密码,若是你的流程指定的是其他用户,则写对应用户的密码'
- template_id="替换成你的业务流程 ID 号"
- bk_app_secret='替换成你的安全密钥值'
- bk_biz_id=3 # 请将数字修改成你的 业务 ID 值
- apiurl='"替换成你自己域名"/api/c/compapi/v2/sops/create_and_start_task/'
#!/bin/bash
# creator @土豆
# date 2023-05-18
# 通过蓝鲸流程 API 自动化纳管主机,安装蓝鲸agent
# 执行本脚本即可纳管主机: sh bk_agent.sh
# 要确保蓝鲸集群能通过 ssh 访问到目标主机
# 参考蓝鲸社区文档: https://bk.tencent.com/s-mart/community/question/11003?type=article
##########################################################
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 多个IP,通过应用分号分隔,将值传递给在创建该流程设定的全局变量: ${IP} 和 ${PASSWORD} )
IP='192.168.1.101,192.168.1.102'
PASSWORD='替换成你的主机 root 密码,若是你的流程指定的是其他用户,则写对应用户的密码'
# 流程执行任务的名称,自定义即可
install_name=install_agent_$(date +%F_%T)
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
##########################################################
##########################################################
# 固定内容,这些内容是 依据模块而来,第一次使用需要修改
##########################################################
# 改成您的项目流程 ID
template_id="替换成你的业务流程 ID 号"
# bk_username:蓝鲸登录用户,可用其他有权限的用户,默认值:admin
bk_username='admin'
# bk_app_code 和 bk_app_secret 的值可从应用开发获取: 蓝鲸开发者中心 ->应用开发->标准运维->基本设置->基本信息
# bk_app_code: 应用ID,我在 json里面指定默认值为:bk_app_code='bk_sops'
# bk_app_code='bk_sops'
# 应用 TOKEN ,安全密钥
bk_app_secret='输入你的安全密钥值'
# 业务默认值: 测试业务环境(我的流程是在 ID 是 3 的业务下)
bk_biz_id=3 # 请将数字修改成你的 业务 ID 值
# 流程模板来源,business:默认值,业务流程,common:公共流程
# TEMPLATE_SOURCE=common
# 任务流程类型,common: 默认值,常规流程,common_func:职能化流程
# FLOW_TYPE='common'
## 请求的 API 地址,改成你自己的 API 地址
# 获取方法: 蓝鲸开发者中心->云API->API文档->组件API文档->管理工具->标准运维->API列表->create_and_start_task->API地址
apiurl='"替换成你自己域名"/api/c/compapi/v2/sops/create_and_start_task/'
##########################################################
# 固定内容,这些内容是 依据模块而来,第一次使用需要修改
##########################################################
# 获取服务器第一个网卡的第一个IP
GetIP() {
# 获取服务器第一个网卡的第一个IP
if [ -z ${IP} ];then
HostIP=`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=$HostIP
echo "您没有输入主机IP,自动获取到的主机IP是:"
echo $IP
else
echo "您输入的IP是: "
echo $IP
fi
}
# 生成请求内容
RequestFile() {
# 请求主体 json, 可自行参照 API文档说明修改
# 蓝鲸开发者中心->云API->API文档->组件API文档->管理工具->标准运维->API列表->create_and_start_task->请求参数示例
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() {
# 发送 POST 请求,执行自动安装 蓝鲸 agent
#curl -XPOST $apiurl -H 'Content-Type: application/json' -d @agent.json
curl -s -XPOST $apiurl -H 'Content-Type: application/json' -d @agent.json
# if [ $? -eq 0 ];then
# echo "installed Successed"
# else
# echo "installed failed .."
# fi
}
# 执行函数
GetIP
RequestFile
InstallAgent
5、验证脚本 成功调用API安装 蓝鲸agent
五、总结
1、在蓝鲸平台创建 安装agent的流程
2、获取相关信息,如鉴权信息等
3、通过 shell 脚本调用 API 接口,一键批量安装agent文章来源:https://www.toymoban.com/news/detail-453914.html
4、脚本有说明使用方法和获取相关鉴权信息的知道方法,具体方案看截图也可文章来源地址https://www.toymoban.com/news/detail-453914.html
到了这里,关于蓝鲸平台通过标准运维 API 安装 Agent的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!