当前位置: 首页 > 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、脚本有说明使用方法和获取相关鉴权信息的知道方法,具体方案看截图也可

相关文章:

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

目录 一、背景 二、目的 三、创建安装agent流程 四、通过标准运维 API 安装 Agent 五、总结 一、背景 蓝鲸平台正常情况纳管主机需要在节点管理手工安装agent&#xff0c;不能达到完成自动化安装agent的效果。想通过脚本一键安装agent&#xff0c;而不需要在蓝鲸平台进行过…...

python 图片保存成视频

&#x1f468;‍&#x1f4bb;个人简介&#xff1a; 深度学习图像领域工作者 &#x1f389;工作总结链接&#xff1a;https://blog.csdn.net/qq_28949847/article/details/128552785 链接中主要是个人工作的总结&#xff0c;每个链接都是一些常用demo&#xff0c…...

uniapp 引入 Less SCSS

✨求关注~ &#x1f600;博客&#xff1a;www.protaos.com 本文将介绍如何在 UniApp 中引入 Less 和 SCSS&#xff0c;两种流行的 CSS 预处理器。通过使用 Less 和 SCSS&#xff0c;你可以在 UniApp 项目中更灵活地编写样式&#xff0c;并享受预处理器提供的便利功能。 代码实现…...

Linux程序设计:文件操作

文件操作 系统调用 write //函数定义 #include <unistd.h> size_t write(int fildes, const void *buf, size_t nbytes); //示例程序 #include <unistd.h> #include <stdlib.h> int main() { if ((write(1, “Here is some data\n”, 18)) ! 18)write(2, …...

【自制C++深度学习推理框架】Tensor模板类的设计思路

Tensor模板类的设计思路 为什么要把Armadillo线性代数库arma::fcube封装成Tensor模板类&#xff1f; arma::fcube是Armadillo线性代数库中的一种数据类型&#xff0c;它是一个三维的float类型张量。Armadillo库是一个C科学计算库&#xff0c;提供了高效的线性代数和矩阵运算。…...

linux--systemd、systemctl

linux--systemd、systemctl 1 介绍1.1 发展sysvinitupstart主角 systemd 登场 1.2 简介 2 优点兼容性启动速度systemd 提供按需启动能力采用 linux 的 cgroups 跟踪和管理进程的生命周期启动挂载点和自动挂载的管理实现事务性依赖关系管理日志服务systemd journal 的优点如下&a…...

加密解密软件VMProtect教程(七):主窗口之控制面板“详情”部分

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic&#xff08;本机&#xff09;、Virtual Pascal和XCode编译器。 同时&#xff0c;VMProtect有一个内置的反汇编程序&#xff0c;可以与Windows和Mac OS X可执行文件一起…...

国产仪器 4945B/4945C 无线电通信综合测试仪

4945系列无线电通信综合测试仪是多功能、便携式无线电综合测试类仪器&#xff0c;基于软件无线电架构&#xff0c;集成了跳频信号发生与分析、矢量信号发生与解调分析、模拟调制信号发生与解调分析、音频信号发生与分析、音频示波器、自动测试等功能&#xff0c;它可完成无线通…...

数据库原理及应用上机实验一

✨作者&#xff1a;命运之光 ✨专栏&#xff1a;数据库原理及应用上机实验报告整理 目录 ✨一、实验目的和要求 ✨二、实验内容与步骤 &#x1f353;&#x1f353;前言&#xff1a; 数据库原理及应用上机实验报告的一个简单整理后期还会不断完善&#x1f353;&#x1f353;…...

【操作系统】线程常用操作

线程号 就像每个进程都有一个进程号一样&#xff0c;每个线程也有一个线程号。进程号在整个系统中是唯一的&#xff0c;但线程号不同&#xff0c;线程号只在它所属的进程环境中有效。 进程号用 pid_t 数据类型表示&#xff0c;是一个非负整数。线程号则用 pthread_t 数据类型…...

C++编译预处理

目录 一、包含头文件 1&#xff09;#include包含头文件又两种方式&#xff1a; ①#include<文件名>: ②#include"文件名"&#xff1a; 2&#xff09;C98标准后的头文件&#xff1a; ①C的标准库 ②C的标准库 3&#xff09;注意 二、宏定义 1&#xf…...

Spring IOC 的理解

IoC容器是什么&#xff1f; IoC文英全称Inversion of Control&#xff0c;即控制反转&#xff0c;我么可以这么理解IoC容器&#xff1a; “把某些业务对象的的控制权交给一个平台或者框架来同一管理&#xff0c;这个同一管理的平台可以称为IoC 容器。” 我们刚开始学习…...

Linux 学习笔记(七):时间片

一、时间片概念 时间片&#xff08;timeslice&#xff09;又称为 “量子”&#xff08;quantum&#xff09;或 “处理器片”&#xff08;processor slice&#xff09;&#xff0c;是分时操作系统分配给每个正在运行的进程微观上的一段 CPU 时间&#xff08;在抢占内核中是&…...

java并发-ReentrantLock

当多个线程需要同时对共享资源进行操作时&#xff0c;就需要用到线程同步技术。Java中提供了synchronized关键字用于线程同步&#xff0c;而ReentrantLock就是另外一种用于线程同步的技术&#xff0c;本文将介绍ReentrantLock及其使用方法。 ### 1. 概述 ReentrantLock是Java…...

21.模型的访问器和修改器

学习要点&#xff1a; 1.访问器 2.修改器 本节课我们来开始学习数据库模型的访问器和修改器的使用。 一&#xff0e;访问器 1. 访问器&#xff1a;就是在获取数据列表时&#xff0c;拦截属性并对属性进行修改的过程&#xff1b; 2. 比如&#xff0c;我们在输出性别时&#xff0…...

72 yaffs文件系统挂载慢 sync不起作用

1 引言 最近在开放过程中遇到了一个问题&#xff1a;Linux在启动挂载根文件系统时很慢很慢&#xff01;而且每次开机都是这样&#xff0c;一下子让人难以理解。 因为&#xff0c;理论上当机器第一次启动&#xff0c;会扫描完整的rootfs的flash区域&#xff0c;从而建立索引&…...

【无标题】春漫乌海湖!

春漫乌海湖! 杨桂林 黄河流经几字弯内蒙古段的第一段便遇见了镶嵌在大漠中的璀璨明珠乌海湖。 谁也不会相信:这里被乌兰布和、库布其、毛乌素三大沙漠重重包围&#xff0c;矿山林立&#xff0c;煤尘喧嚣飞扬的黑色煤都&#xff0c;如今在金色沙海的映衬下&#xff0c;柔润潋滟周…...

Red Hat重置root密码

目录 前言 1、使用rd.break参数重置root密码 2、使用安装盘重置root密码 前言 我们有时会忘记linux系统的root密码&#xff0c;有的不会重置密码只能重置系统了&#xff0c;下面介绍两种重置root密码的方法 1、使用rd.break参数重置root密码 1、启动系统&#xff0c;并在…...

应急响应之日志排查方法,Linux篇

应急响应之日志排查方法,Linux篇 1.Linux系统日志位置2.Linux日志分析方法3.其他日志的分析中间件日志其他服务日志1.Linux系统日志位置 Linux 系统中的日志一般存放在目录“/var/log/”下,具体的日志功能如下 /var/log/wtmp:记录登录进入、退出、数据交换、关机和重启,即…...

Midjourney AI 官方中文版已开启内测申请;OpenAI 正准备向公众发布一款新的开源语言模型。

&#x1f680; Midjourney AI 官方中文版已开启内测申请&#xff0c;搭载在 QQ 频道上&#xff0c;召唤机器人进行作画。 Midjourney AI 官方中文版已开启内测申请&#xff0c;搭载在 QQ 频道上&#xff0c;召唤机器人进行作画。 可调用 MJ 和 Niji 的最新模型和所有参数&…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...