jumpserver二次开发(二)-资产高级搜索
基于版本 Version 1.4.10-2 GPLv2. jms自带的资产管理,采用全局搜索,不是很方便,同时因为我们自己加了项目管理,希望可以自定义搜索的功能,本文主要讲资产的高级搜索。 一、概述Jumpserver用的是python的django框架开发,API 采用了DRF(Django REST framework),基于CBV(Class-based views)开发模式,因此,二次开发也是比较简单的,一般先定义model,然后写api,再使用template渲染,前端基本用datatables较多。 实现效果: 二、实战完全代码请看:https://github.com/getway/jumpserver/commit/073a4e50f4a4a08ebee410992a14279a557e5c0b
jumpserver二次开发(一)-增加项目管理功能
Jumpserver是全球首款完全开源的堡垒机,是符合 4A 的专业运维审计系统。 http://www.jumpserver.org jms很好用,但是引入公司内部,也会有一些问题,比如资产导入,资产和项目关联,如何和现有cmdb打通等问题。我这里只是抛砖引玉,介绍下jms如何二次开发,做企业定制化版的jumpserver,打通DevOps系统的方法。首先,以增加项目管理 这个功能为例,说说堡垒机如何二次开发的。 基于版本 Version 1.4.10-2 GPLv2. 一、概述Jumpserver用的是python的django框架开发,API 采用了DRF(Django REST framework),基于CBV(Class-based...
SHELL日常
Shell运维必备,用在mac和linux里面超级好用,提高了很多生产力,主要介绍下自己常用的一些。 统计各应用内存占用情况: 1top -b -n 1 |tail -n +8 |awk '{a[$NF]+=$6}END{for(k in a)print a[k]/1024,k}'|sort -gr|head -10 统计各应用CPU使用情况: 1top -b -n 1 | tail -n +8 |awk '{a[$NF]+=$9}END{for(k in a)print a[k],k}'|sort -gr|head -10 统计当前tcp连接状态 1netstat -ant | tail -n +3 | awk '{ip[$NF]++} END {for(i in ip) print i,ip[i]}' 批量重命名文件:(默认从1000开始) 123456#...
LDAP SDK python工具
本文主要介绍LDAP...
gitlab统计任务
gitlab统计任务,单个项目很简单,但是对于所有项目,可以想象。。。 问题描述: 最近接到一个任务,要统计这两个季度git仓库所有项目变更情况,当时听到这个任务的时候一脸懵逼…一个项目还简单,但是对于仓库里面所有的项目,这个想想就…时间比较紧,老大只给2个小时左右的时间 解决思路 获取所有项目,项目名&git地址 查找单个项目(git)变更情况 统计所有项目的总计 实现 获取所有项目,项目名&git地址 可以通过jenkins/git去扫描,因为我们这里上线的项目都是通过jenkins ci去构建的,因此,所有的项目名、git地址都可以通过扫描jenkins去获取 123456789101112#获取所有git地址(dev/test所有项目的) find $JENKINS_HOME/jobs -name config.xml |xargs -i grep -o '<url>.*</url>' {} | sed -e 's/<url>//'...
企业微信报警机器人(zabbix)
zabbix报警,企业微信接收,企业微信支持zabbix机器人 github源码地址:git@github.com:getway/qyweixin.git
ansible cmdb 动态变量整合
ansible自动部署非常方便,但是一旦主机多了,inventory和group_vars管理配置略显麻烦,其实各个公司都有自己的cmdb管理主机以及一些资产的管理,如果能将二者结合,就非常完美了。未完。。。
ambari集成工具
ambari配置插件,支持新组件的接入 1 组件集成说明1.1 插件目录:/var/lib/ambari-server/resources/stacks/HDP//services我的版本是HDP2.5,所以插件可以在 /var/lib/ambari-server/resources/stacks/HDP/2.5/services 中定义。 1.2 代码结构12345678910111213141516|_ stacks |_ <stack_name> |_ <stack_version> metainfo.xml |_ hooks |_ repos repoinfo.xml |_ services #插件目录 |_...
zabbix、jenkins、gitblit等web接入LDAP
自己的一些网站比较多,每个都设置密码的话,维护起来比较麻烦,我这里都采用统一的LDAP认证,免去了密码不一致的问题。本文介绍一些常用软件:zabbix、jenkins、gitblit的ldap配置 1. zabbix配置LDAP zabbix对ldap支持比较友好,可以直接在web界面上设置,管理-认证-默认方式(LDAP) 其中绑定DN就是LDAP的管理域,有的会设置为cn=Manager,dc=xxx,dc=com等,我这里根据自身的来。 2. JenKins配置LDAP 接着是Jenkins,jenkins也是支持ldap的,不过需要安装一个插件: 安装好LDAP插件以后,直接在 【系统设置】-》【全局安全配置】-》LDAP 设置基本上没有什么难度,比较友好。 3. gitblit配置LDAP gitblit这个接入稍微麻烦些,需要在配置文件中增加相关配置 1234567891011121314151617realm.authenticationProviders = ldaprealm.ldap.server =...
openldap支持memberof
openldap的memberof属性,有很多应用在接入用户组的时候,会判断memberof这个属性,属于哪个组,例如apache kylin,grafana等,配置了ldap用户组的角色以后,只需要把用户添加到相应的组即可,用户就有应用的权限了 1.配置ldap123456789101112131415161718192021222324252627282930313233343536[dev] [root@dev-bigdata-haproxy memof]# cat memof.ldifdn: cn=module,cn=configcn: moduleobjectClass: olcModuleListolcModuleLoad: memberof.laolcModulePath: /usr/lib64/openldapdn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=configobjectClass: olcConfigobjectClass:...