Git Product home page Git Product logo

tencentblueking / bk-nodeman Goto Github PK

View Code? Open in Web Editor NEW
47.0 10.0 50.0 34.51 MB

蓝鲸节点管理,可以对蓝鲸体系中的GSE Agent进行管理,包括状态查询、版本更新、配置管理、健康检查、进程管理等。

License: MIT License

Python 74.81% Shell 2.45% JavaScript 4.81% TypeScript 2.68% HTML 0.50% Vue 10.17% CSS 3.27% Batchfile 1.03% Smarty 0.13% SCSS 0.10% Procfile 0.01% Makefile 0.01% Dockerfile 0.07%
python devops-tools blueking agent agent-installer ssh node-manager

bk-nodeman's Introduction

license Release Coverage Status PRs Welcome unittest

English | 简体中文

用户的业务主机想要与蓝鲸服务体系建立联系,首先要确保每台业务主机安装 Agent 程序。蓝鲸推出节点管理 SaaS,用以解决各类网络环境下 Agent 的快速安装难题。

节点管理 是一款用来帮助运维人员实现 Agent 安装、插件管理等后台服务管理的应用。

和手动安装 Agent 的原理相同,但是节点管理省去了脚本安装命令的手动键入和繁琐执行。用户无需登录服务器,通过可视化的窗口即可直观简便的执行 Agent 安装和插件管理。支持多种环境下的 Agent 安装,支持主机的并发操作、CMDB 导入和批量导入等,支持插件的启动、停止、重启、重载、是否托管等管理操作,高效方便。

Overview

蓝鲸节点管理

Features

了解更多功能,请参考蓝鲸节点管理白皮书

Getting started

Version plan

Support

BlueKing Community

  • BK-CMDB: 蓝鲸配置平台(蓝鲸 CMDB)是一个面向资产及应用的企业级配置管理平台。
  • BK-CI: 蓝鲸持续集成平台是一个开源的持续集成和持续交付系统,可以轻松将你的研发流程呈现到你面前。
  • BK-BCS: 蓝鲸容器管理平台是以容器技术为基础,为微服务业务提供编排管理的基础服务平台。
  • BK-PaaS: 蓝鲸 PaaS 平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理 SaaS 应用。
  • BK-SOPS: 标准运维(SOPS)是通过可视化的图形界面进行任务流程编排和执行的系统,是蓝鲸体系中一款轻量级的调度编排类 SaaS 产品。
  • BK-BASE: 蓝鲸基础计算平台(BK-BASE)是一个专注于运维领域的的基础平台,打造一站式、低门槛的基础服务。通过简化运维数据的收集、获取,提升数据开发效率,辅助运维人员实时运维决策,助力企业运营体系数字化、智能化转型。

Contributing

如果你有好的意见或建议,欢迎给我们提 Issues 或 Pull Requests,为蓝鲸开源社区贡献力量。关于 蓝鲸节点管理 分支管理、Issue 以及 PR 规范, 请阅读 Contributing Guide

腾讯开源激励计划 鼓励开发者的参与和贡献,期待你的加入。

License

蓝鲸节点管理 是基于 MIT 协议, 详细请参考 LICENSE

我们承诺未来不会更改适用于交付给任何人的当前项目版本的开源许可证(MIT 协议)。

bk-nodeman's People

Contributors

cohlerustw avatar gongongong avatar huayeaaa avatar hubuhito avatar isecloud avatar neko12583 avatar ping15 avatar wyyalt avatar zhangzhw8 avatar zhuozhuocrayon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bk-nodeman's Issues

[FEATURE]展示自开插件的状态

你想要什么功能
想要在节点管理插件管理页面能够展示自开插件的状态

为什么需要
插件状态无法直观的展示状态是否可用或者异常

建议如何实现
插件能够支持自定义展示哪些插件
image

[FEATURE] 项目升级django3

你想要什么功能
升级django3

为什么需要
django3已提供LTS版本,可考虑升级

建议如何实现
升级版本,配置调整

optimization: 插件调试中停止调试

蓝鲸监控在监控调试过程中不合时宜地调用【停止调试接口】时,会造成调试配置残留,需优化调试插件中的流程控制:

  1. 第三方系统调用【停止调试接口】时,不删除ProcessStatus,并写入停用标志
  2. Debug 时读取到停用标志时,直接进入下一步 Stop Debug走完整的回收流程
    wecom-temp-317e46690f58c4275fcc5494e3a11805

[FEATURE] 节点管理AGENT安装并发提高

你想要什么功能
目前自测AGENT安装并发在2000左右,且后台性能资源消耗较大

为什么需要
希望在控制资源消耗的情况下,一次性尽可能安装更多的AGENT

建议如何实现

  1. agent安装时,进行分批聚合,比如200台主机放到一条pipeline里
  2. 把脚本的report log回调放到redis或DB中,在pipeline schedule的时候查询是否已完成安装,参考插件管理中对JOB请求的处理
  3. 多台主机在pipeline component中执行时,通过celery task delay 的方式执行,以便把ssh任务分布到多台节点管理后台的celery worker上,避免把这多台机器都在一台机器上执行,不利于横向扩展

[优化] 监控平台采集下发大量节点(1.6w),节点一直处于执行中且无法终止

客户监控平台的某业务下的一脚本采集配置(下发1.6w个主机节点)一直卡在部署中,持续两天时间,一直终止不了

某业务当前主机总数接近2w,其采集配置常有几千甚至上万的下发节点,在采集运行状态详情及下发过程存在加载延迟等性能问题,请协助支持并优化,谢谢。

经排查,需优化节点管理 instance_status, task_result, statistics 三个接口

feature: 安装AGENT时支持指定安装节点

在特殊的网络场景下,当前默认的安装行为不能满足需求,需新增【安装节点】概念,作为安装时的跳板,类似云区域下Proxy的功能,可以把Proxy理解为云区域默认的安装节点

[FEATURE] 批量手动安装支持合并命令

你想要什么功能
批量手动安装时,把安装命令合为同一条

为什么需要
目前的实现太繁琐,每台机器的安装命令都不一样,操作起来比较麻烦

建议如何实现

  1. 首先把 #103 给做完,假设1000台机器,每批200,那么就有5条pipeline,对应5个pipeline id
  2. TODO

[BUG]重复收集相同的自动触发任务

问题描述
重复收集相同的自动触发任务

重现方法
查看任务历史

预期现象
同一个任务被重复记录

截屏
请提供截屏来解释你的问题,当然这也能更好地帮助我们理解问题。

请提供以下信息

  • bk-nodeman 版本 (发布版本号 或 git tag): 2.1.X
  • 蓝鲸PaaS 版本:
  • bk-nodeman 异常日志:

[BUG]某些情况下suse操作系统pid为空的问题

问题描述
某些情况下suse操作系统pid获取为空的问题导致进程个数判断异常

请提供以下信息

  • bk-nodeman 版本 (发布版本号 或 git tag):
  • 蓝鲸PaaS 版本:
  • bk-nodeman 异常日志:

[BUG] 修改接入点信息不生效

问题描述
修改接入点信息不生效

重现方法

  1. 修改接入点信息
  2. 保存

预期现象
接入点信息修改不生效

请提供以下信息

  • bk-nodeman 版本 (发布版本号 或 git tag):
  • 蓝鲸PaaS 版本:
  • bk-nodeman 异常日志:

[BUG] 'NoneType' object has no attribute 'replace'

问题描述

开始 调试插件.
快速执行脚本operate_plugin,作业任务ID为[xxxx],点击跳转到[作业平台]
调试插件 失败: 'NoneType' object has no attribute 'replace',请先尝试查看错误日志进行处理,若无法解决,请联系管理员处理
插件部署失败,重试次数 +1
******* Begin of collected logs: *******
Traceback (most recent call last):
File "/data/bkee/bknodeman/nodeman/apps/backend/components/collections/base.py", line 63, in wrapper
return service_func(self, data, parent_data, *args, **kwargs)
File "/data/bkee/bknodeman/nodeman/apps/backend/components/collections/base.py", line 383, in schedule
return self.run(self._schedule, data, parent_data, callback_data=callback_data)
File "/data/bkee/bknodeman/nodeman/apps/backend/components/collections/base.py", line 307, in run
service_func(data, parent_data, **kwargs)
File "/data/bkee/bknodeman/nodeman/apps/backend/components/collections/plugin.py", line 1147, in _schedule
self.log_info([subscription_instance_id], new_logs.replace(last_logs, ""))
AttributeError: 'NoneType' object has no attribute 'replace'

重现方法
调试插件

  • bk-nodeman 版本 (发布版本号 或 git tag):
  • 蓝鲸PaaS 版本:
  • [ 2.1.340 ] bk-nodeman 异常日志:

[BUG]

image

未找到文档中所说的build_front_dist.sh 脚本

[BUG]安装proxy脚本渲染错误

问题描述
安装proxy脚本渲染错误

重现方法
3. 错误现象 '....'
image
预期现象
image
截屏

请提供以下信息

  • bk-nodeman 版本 (发布版本号 或 git tag):
  • 蓝鲸PaaS 版本:
  • bk-nodeman 异常日志:

[BUG]安装aix的agent服务安装命令有误

问题描述
安装aix的agent服务安装命令有误,应该为ksh而非bash

请提供以下信息

  • bk-nodeman 版本 (发布版本号 或 git tag):2.0.1322
  • 蓝鲸PaaS 版本:
  • bk-nodeman 异常日志:

[FEATURE] workflows 出包优化

你想要什么功能
代码合入V2.1.X后

  • 自动生成版本日志
  • 创建新的版本分支

为什么需要

  • 当前监听 V2.1.X pr事件,若pr审核没有通过,会重复生产版本日志

建议如何实现

  • V2.1.X push 表示版本变更,所以通过监听该事件,生成版本日志
  • 优化现有的流水线,便于移植到 TencentBlueKing/bk-process-config-manager

[FEATURE] 自动化测试 - 前端埋点

一、背景
产品功能基本稳定,回归用例越来越多,每次发布版本都需要执行几遍核心测试用例,为了减少这种重复的、大量回归的测试任务,我们迫切需要引进一些自动化测试来协助。
在编写自动化脚本过程中发现页面元素没有统一的命名规范,每个开发对页面元素层级及定义都不一样,导致自动化脚本编写难,维护成本高,因此迫切需要制定元素定义的规范。
二、优势
自动化测试可以代替大量的手工机械重复性操作,测试同学可以省下大量的时间来设计测试用例和新功能。
自动化测试可以大幅度提升回归测试的效率,非常适合敏捷开发。
自动化测试可以充分利用无人值守时间,来进行测试,特别是非工作时间执行,工作时间只需要分析一下测试的执行结果

三、规范
!!#ff0000 所有层级都要以:data-test-id="MODULE_BLOCK_NAME" 格式进行规范化定义!!,参考图:
image

MODULE 表示模块:1、非通用模块使用页面的 route 名称作为模块名;2、通用的模块以nav作为模块名,如导航栏;

BLOCK 表示当前的块:1、表单为 form;2、列表/表格为 list;

NAME 表示 BLOCK 的名称:1、以对于元素功能的英文名称命名

四、部分元素修改参考图
image
image

[FEATURE] agent配置zkauth支持加密

你想要什么功能
agent配置zkauth支持加密

为什么需要
当前agent配置中的zkauth明文显示,存在安全风险

建议如何实现
渲染配置时使用gse提供的加密工具对原文进行加密

[BUG] 安装windows pagent 作业平台报错

问题描述
安装windows pagent 作业平台报错

重现方法
列出如何重现的方法或操作步骤

  1. 安装windows pagent

预期现象
安装windows pagent成功
截屏
image

请提供以下信息

  • bk-nodeman 版本 2.1.241

[BUG] 后台渲染变量与settings读取不一致

问题描述
简明扼要地描述bug是什么

重现方法
列出如何重现的方法或操作步骤

  1. 转到 '....'
  2. 点击 '....'
  3. 错误现象 '....'

预期现象
简明扼要地描述预期的现象是什么

截屏
请提供截屏来解释你的问题,当然这也能更好地帮助我们理解问题。

请提供以下信息

  • bk-nodeman 版本 (发布版本号 或 git tag): 2.1.346
  • 蓝鲸PaaS 版本:
  • bk-nodeman 异常日志:

[FEATURE] 下发采集配置前安装插件

你想要什么功能
下发采集配置前安装插件,比如下发日志采集,先检查机器上是否运行了bkunifylogbeat,若不存在,则首先进行插件安装,再完成后续的配置下发

为什么需要
某些场景下,机器上没有对应插件

建议如何实现
先检查机器上是否运行了对应插件,若不存在,则首先进行插件安装,再完成后续的配置下发

[BUG] 权限中心回调地址注册错误

问题描述
权限中心回调地址注册错误

重现方法
用户点击跳转链接不能准确的跳转到申请url,会走默认的自定义权限首页

预期现象
准确的跳转到申请对应权限的url

请提供以下信息

  • bk-nodeman 版本 (发布版本号 或 git tag):
  • 蓝鲸PaaS 版本:
  • bk-nodeman 异常日志:

[BUG] 重装agent端口没有回填

问题描述
重装agent端口没有回填

重现方法
列出如何重现的方法或操作步骤

  1. 安装时修改端口为非默认端口
  2. 重装AGENT

预期现象
预期回填用户输入的端口

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.