当前位置: 首页 > news >正文

蓝鲸平台通过标准运维 API 安装 Agent

目录

一、背景

二、目的

三、创建安装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请求文件,完成调用。

         使用者在执行脚本前,必须修改的内容有

  1. IP='替换成你的IP'
  2. PASSWORD='替换成你的主机 root 密码,若是你的流程指定的是其他用户,则写对应用户的密码'
  3. template_id="替换成你的业务流程 ID 号"
  4. bk_app_secret='替换成你的安全密钥值'
  5. bk_biz_id=3 # 请将数字修改成你的 业务 ID 值
  6. 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() {# 获取服务器第一个网卡的第一个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}# 生成请求内容
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.jsoncurl -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

        4、脚本有说明使用方法和获取相关鉴权信息的知道方法,具体方案看截图也可

http://www.lryc.cn/news/69481.html

相关文章:

  • python 图片保存成视频
  • uniapp 引入 Less SCSS
  • Linux程序设计:文件操作
  • 【自制C++深度学习推理框架】Tensor模板类的设计思路
  • linux--systemd、systemctl
  • 加密解密软件VMProtect教程(七):主窗口之控制面板“详情”部分
  • 国产仪器 4945B/4945C 无线电通信综合测试仪
  • 数据库原理及应用上机实验一
  • 【操作系统】线程常用操作
  • C++编译预处理
  • Spring IOC 的理解
  • Linux 学习笔记(七):时间片
  • java并发-ReentrantLock
  • 21.模型的访问器和修改器
  • 72 yaffs文件系统挂载慢 sync不起作用
  • 【无标题】春漫乌海湖!
  • Red Hat重置root密码
  • 应急响应之日志排查方法,Linux篇
  • Midjourney AI 官方中文版已开启内测申请;OpenAI 正准备向公众发布一款新的开源语言模型。
  • DevOps 的道术法器,探寻 DevOps “立体化”实践之旅
  • redis 7.x 缓存双写一致性的解决方案
  • 真题详解(语法分析输入记号流)-软件设计(八十)
  • ffmpeg-编译汇总01
  • 素雅的登录界面,简单而优雅
  • Docker数据目录迁移方法
  • C++——动态规划
  • 【FAQ】视频编辑服务常见问题及解答
  • JavaEE(系列8) -- 多线程案例(单例模式)
  • 深度剖析,如何从底层代码层面理解Selenium和Appium的关联
  • 【Three.js】第一、二章 入门指南和基础知识