- 博客(49)
- 收藏
- 关注
原创 风起于青萍之末,浪成于微澜之间
LDAP系列LDAP落地实战(一):OpenLDAP部署及管理维护LDAP落地实战(二):SVN集成OpenLDAP认证LDAP落地实战(三):GitLab集成OpenLDAP认证LDAP落地实战(四):Jenkins集成OpenLDAP认证DevOps系列记一次诡异的故障排查经历探秘varian:优雅的发布部署程序中小团队快速构建SQL自动审核系统中小团队基于D...
2018-08-11 08:44:27 1342
原创 自研多云管理系统CMP即云上CMDB
云上CMDB该如何构建,多云系统改如何管理,以下是一系列的落地实践文章可以参考CMP多云管理即云上CMDB落地实践
2022-06-14 17:36:33 611
原创 面向老板的需求管理系统
一个服务对象为各种不同品牌、产品、业务的基础技术支持部门,同时在进行的项目就有十几个甚至几十个,对于开发资源的争抢就成了不可避免的问题,每当A产品提出需求,而项目经理告诉他开发资源不足时,他们都会有疑惑,我们只提了3个项目为啥会资源不足?这个时候项目经理就会解释一通B产品在做啥项目,同时也在支持C产品D产品balabala的,这个时候一个包含所有项目的看板就显得非常有用了于是便有了今天这个项目,需求管理系统项目需求需求管理系统比较简单,重点只有两个,其一是有一个看板面向公司所有人能够查看我们所有开发的
2021-12-15 17:24:24 1563 2
原创 再聊我们自研的那些Devops工具
两年前我写了篇文章『我们自研的那些Devops工具』介绍了我们自研的一些DevOps工具系统,两年过去了这些工具究竟还有没有在发光发热,又有哪些新的变化呢,我将通过这篇文章来回顾一下这两年的发展与变化CMDBCMDB配置管理数据库,作为整个运维体系构建的基础,几乎其他所有的运维工具系统都要依赖他提供的基础数据,所以保证稳定非常重要,这里的稳定不仅指的是系统运行状态的稳定,还有数据结构、功能的稳定,其数据结构一旦改变上游系统可能都要跟着修改,所以在规划CMDB的迭代更新时,首先要考虑兼容性,已有功能不做过
2021-12-09 15:55:45 220
原创 Django Model字段加密的优雅实现
早前的一篇文章Django开发密码管理表实例有写我们写了个密码管理工具来实现对密码的管理,当时加密解密的功能在view层实现,一直运行稳定所以也没有过多关注实现是否优雅的问题。最近要多加几个密码表再次回头看之前的代码发现加解密在view层实现较为繁琐,尤其是使用了Sadmin公共库之后view的代码简洁了很多,若再在view层处理显然不够优雅,是时候用更优雅的方式来实现了Sadmin增删改查对数据库表的增删改查是开发过程中最常用到的功能,之前的文章也介绍过我们通过封装Sadmin公共库用最为简洁的代码实
2021-10-25 09:53:38 711
原创 Probius+Prometheus通过API集成POD监控
上一篇文章Probius+Kubernetes任务系统如虎添翼讲了我们把Kubernetes集成进了任务系统Probius,上线后小伙伴反馈虽然摆脱了Kubernetes-Dashboard,但还是得去Grafana系统查看容器的监控数据,能否将容器监控也给集成进Probius呢?只要能优化流程提高效率那就必须给安排当前Kubernetes集群通过Prometheus来收集和存储监控数据同时借助Grafana来画图展示,Probius若想集成容器监控只需要获取Prometheus存储的容器数据并绘图展示即
2021-10-18 10:27:50 397
原创 Probius+Kubernetes任务系统如虎添翼
Probius是一款自定义任务引擎,可以灵活方便的处理日常运维中的各种任务,我们所有的CI/CD任务都通过Probius来完成的,这篇文章Probius:一个功能强大的自定义任务系统对其有详细的介绍,之前通过Probius更新Kubernetes的Deployment是通过脚本的方式来完成的,脚本大概像这样if [ $# != 2 ];then echo "USAGE: $0 PROJ ENVT" exit 1fiPROJ=$1ENVT=$2BASE_DIR=/home/dat
2021-09-26 09:40:15 145
原创 Django+Ansible构建任务中心思路
Ansible作为老牌的自动化运维工具,由Python开发,应用广泛,但其默认只提供了命令行下的使用方式,好在提供有完善的API支持二次开发,可以很方便的集成到我们的自动化运维系统中最近一个朋友跳槽到了新公司转做DevOps开发,接到的第一个需求就是基于Ansible研发简单的任务中心,而他欠缺相关经验就找我帮忙,我就花了两天时间从熟悉Ansible开始写了个项目,由于我们的任务都是通过自研的一套自定义任务引擎Probius来实现的,之前从未正式用过Ansible,趁此机会也算是熟悉了本篇文章只有思路没
2021-09-07 10:02:45 378
原创 Sadmin:打造私有Django公共库实现代码复用
我们借助于Django开发了许多的内部管理系统,例如之前介绍过的Probius、Kerrigan、Proxy等等,这些系统看起来长的都一样,但实际实现的功能确是千差万别,这些不同的系统为什么会长的一样呢?这不仅仅是因为它们使用了同一套前端模板,更为重要的是我们将很多大多系统都要用到的基础功能给集中在了一起,封装成了一个基础的Django应用,例如前端页面及常用插件、后端用户及权限管理等等,任何一个Django项目只要集成了这个应用就能快速拥有这些功能,不仅省去了大把的基础功能开发时间,而且对于后续的更新也是
2021-08-28 10:22:39 301
原创 基金手册 - 新手必备
1 - 基金基本介绍2 - 基金种类介绍3 - 基金常识FAQ4 - 如何选择适合自己的基金5 - 建立投资计划并开始定投6 - 基金止盈及止盈后的操作内容不断更新中,最新内容可查看:https://blog.ops-coffee.cn/f/...
2021-01-07 10:24:52 192
原创 DevOps运维自动化工具系统平台
Alodi:为了保密我开发了一个系统Alodi:环境创建从未如此简单Probius:一个功能强大的自定义任务系统Kerrigan:配置中心管理UI的实现思路和技术细节开源推荐 | CoDo开源一站式DevOps平台我们自研的那些Devops工具Docker环境的持续部署优化实践探秘varian:优雅的发布部署程序中小团队基于Docker的devops实践中小团队落地配置中心详解中小团队快速构建SQL自动审核系统运维效率之数据迁移自动化代码中的敏感信息加密方案Probius使用C..
2020-11-23 11:05:27 4650
原创 Python Django开发的WebSSH 堡垒机
主页https://blog.ops-coffee.cn/webssh功能交互式命令执行,支持 vim\top 之类的指令所有的操作都会被录像,方便审计回放管理员可以实时监控用户操作,必要的时候给强制踢下线支持 zmodem 协议,可以使用 lrzsz 命令上传下载文件窗口自适应,会根据浏览器窗口大小动态调整后端输出终端大小文章Django实现WebSSH操作Kubernetes PodKubernetes WebSSH终端窗口自适应ResizeDjango实现WebSSH操作物
2020-09-24 10:59:45 990
原创 没有基础也能写个小程序
文章记录了小程序的设计思路,介绍了使用的技术,描述了提交审核的故事,还提供了最终的完整源码背景说明微信小程序自从发布以来就占据着超高的话题热度,一直以来都想开发一款自己的小程序,但苦于不懂前端迟迟没有开始。偶然发现了ColorUI这个开源的小程序组件库,界面好看且提供Demo,心中狂喜马上动手做个什么小程序呢?想了一圈这半年多一直坚持在写技术文章,为此开通了微信公众号,因为公众号查看文章...
2020-09-17 12:33:22 236
原创 我们自研的那些Devops工具
随着云技术以及容器技术的崛起,人肉运维的时代结束了2018年为了解决日常运维中的痛点以及更高效的推进运维工作,我们自研并完善了几个工具系统,这些系统无一例外的帮我们节约了时间,提高了效率,这篇文章将分享介绍一下这些工具系统系统介绍CMDBCMDB配置管理数据库,主要用来记录我们管理维护的软硬件信息,包含实体的服务器,交换机以及虚拟的项目、服务、环境等所有需要管理维护的信息,通俗一点理...
2020-09-17 12:32:59 266
原创 Django model update的各种用法介绍
Django开发过程中对表(model)的增删改查是最常用的功能之一,本文介绍笔者在使用model update过程中遇到的那些事[ 运行环境:Django2.0 ]model update常规用法假如我们的表结构是这样的class User(models.Model): username = models.CharField(max_length=255,...
2020-09-17 12:32:14 13228 2
原创 BPMN开源工作流编辑器bpmn-js落地实践中文文档
BPMN是一套标准的业务流程建模符号规范,bpmn-js是基于此规范实现的一套渲染工具包和web建模器,可以实现拖拽生成工作流程图,效果大概如下最近刚好用到,研究之后写了系列文章,分享给有需要的小伙伴最好用的流程编辑器bpmn-js系列之基本使用最好用的流程编辑器bpmn-js系列之本地文件最好用的流程编辑器bpmn-js系列之Modeler最好用的流程编辑器bpmn-js系列之Viewer系列文章,持续更新中,有用到的欢迎关注,同时也搭建了个在线Demo:https://bpmn.ops
2020-09-17 12:31:06 3516 3
原创 武汉疫情 - 新型冠状病毒信息整理
新型冠状病毒之 - 简介新型冠状病毒之 - 症状新型冠状病毒之 - 病因新型冠状病毒之 - 诊断新型冠状病毒之 - 治疗新型冠状病毒之 - 生活新型冠状病毒之 - 预防大疫当前 | 都在说的小汤山模式是什么?...
2020-01-28 17:10:52 3933
原创 开源推荐 | CoDo开源一站式DevOps平台
一群有梦想的年轻人开源了一个云管理平台,他们的口号是:让天下没有996的运维有幸参与到CoDo项目的开发,这是一个非常棒的一站式开源运维平台,分享给大家平台介绍CODO是一款为用户提供企业多混合云、自动化运维、完全开源的云管理平台。CODO前端基于Vue iview开发、为用户提供友好的操作界面,增强用户体验。CODO后端基于Python Tornado开发,其优势为轻量、简洁清晰、...
2019-05-31 09:27:43 14007
原创 Elasticsearch Query DSL查询入门
本篇为学习DSL时做的笔记,适合ES新手,大佬请略过~Query DSL又叫查询表达式,是一种非常灵活又富有表现力的查询语言,采用JSON接口的方式实现丰富的查询,并使你的查询语句更灵活、更精确、更易读且易调试查询与过滤Elasticsearch(以下简称ES)中的数据检索分为两种情况:查询和过滤。Query查询会对检索结果进行评分,注重的点是匹配程度,例如检索“运维咖啡吧”与文档的标...
2019-05-17 07:14:44 2098
原创 Nginx的几个常用配置和技巧
文章列举了几个Nginx常见的,实用的,有趣的配置,希望看过之后能说一句:学到了!文章首发于微信公众号【运维咖啡吧】,版权归作者所有,未经允许不得转载一个站点配置多个域名server { listen 80; server_name ops-coffee.cn b.ops-coffee.cn;}server_name 后跟多个域名即可,多个域名之间用空...
2019-05-05 09:24:58 413
原创 Django使用Channels实现WebSocket--下篇
文章以一个Channels+Celery实现web端tailf功能的例子更加深入的介绍Channels,channels的实际使用案例,并且结合了celery,非常有参考价值,延续了一贯的认真和严谨,不仅能够让你知其然还能知其所以然,写的很棒,原文地址:Django使用Channels实现WebSocket–下篇相关延伸文章:Django使用Channels实现WebSocket–上篇...
2019-04-22 09:45:24 1023
原创 Django使用Channels实现WebSocket--上篇
文章讲解了什么是websocket,websocket有什么用,已经Django实现websocket的channels框架,尤其对Channels框架进行了详细透彻的讲解,涉及到channels中的基础概念理解例如channel,layer,group,auth,scope等等,写的非常棒,原文地址:Django使用Channels实现WebSocket–上篇相关延伸文章:Djang...
2019-04-22 09:42:14 1542
原创 Django集成OpenLDAP认证
本文详细介绍了django-auth-ldap的使用方法,参数含义,并提供了示例代码版本说明Django==2.2django-auth-ldap==1.7.0集成过程Django集成LDAP认证有现成的django-auth-ldap模块可以使用,本文也主要以这个模块的使用为主,先安装模块pip install django-auth-ldap然后在setting.py全...
2019-04-04 09:27:05 413
原创 Filebeat的Registry文件解读
你可能没有注意但很重要的filebeat小知识Registry文件Filebeat会将自己处理日志文件的进度信息写入到registry文件中,以保证filebeat在重启之后能够接着处理未处理过的数据,而无需从头开始registry文件内容为一个list,list里的每个元素都是一个字典,字典的格式如下:{ "source": "/home/logs/app/exception...
2019-03-29 09:42:53 1263
原创 Logstash读取Kafka数据写入HDFS详解
强大的功能,丰富的插件,让logstash在数据处理的行列中出类拔萃通常日志数据除了要入ES提供实时展示和简单统计外,还需要写入大数据集群来提供更为深入的逻辑处理,前边几篇ELK的文章介绍过利用logstash将kafka的数据写入到elasticsearch集群,这篇文章将会介绍如何通过logstash将数据写入HDFS本文所有演示均基于logstash 6.6.2版本数据收集log...
2019-03-21 17:15:58 1570
原创 Django内置权限扩展案例
当Django的内置权限无法满足需求的时候就自己扩展吧~背景介绍overmind项目使用了Django内置的权限系统,Django内置权限系统基于model层做控制,新的model创建后会默认新建三个权限,分别为:add、change、delete,如果给用户或组赋予delete的权限,那么用户将可以删除这个model下的所有数据。原本overmind只管理了我们自己部门的数据库,权限设...
2019-02-28 09:27:03 1051
原创 Django集成Markdown编辑器【附源码】
专注内容写作的你一定不要错过markdown简单介绍markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低目前各大Blog平台都已支持markdown编辑器,某道云笔记也已支持markdown,各开源Blog,Wiki都在逐渐投入markdown的怀抱,身为技术人员如果现在还不知道markdown的话可能会被大佬dissedit...
2019-01-24 18:48:50 1066 1
原创 Django+JWT实现Token认证
对外提供API不用django rest framework(DRF)就是旁门左道吗?基于Token的鉴权机制越来越多的用在了项目中,尤其是对于纯后端只对外提供API没有web页面的项目,例如我们通常所讲的前后端分离架构中的纯后端服务,只提供API给前端,前端通过API提供的数据对页面进行渲染展示或增加修改等,我们知道HTTP是一种无状态的协议,也就是说后端服务并不知道是谁发来的请求,那么如...
2019-01-22 18:58:50 3993
原创 SVN Hooks的介绍及使用
阅读此篇文章你可以:对SVN Hooks有一定的了解获取两个最常用的SVN Hooks案例SVN hooks介绍Hooks 钩子,主要实现的功能就是在特定事件发生之前或者之后自动执行事先定义好的脚本代码来实现某些功能,类似于JS中的监听事件、MySQL中的触发器、Django中的signals信号等大多数开发语言都可以用来编写hooks脚本,常用的如windows下的bat、vb,l...
2018-12-27 09:21:51 5952
原创 Django开发密码管理表实例【附源码】
文章及代码比较基础,适合初、中级人员,高手略过阅读此篇文章你可以:获取一个Django实现增删改查的案例源码了解数据加密的使用场景和方法以及如何在Python3中使用背景介绍DBA需要维护一张密码表,主要记录数据库中创建的账号密码信息,大概如下:目前的维护方式还是最传统的Excel,一个人更新给多个人同步,Excel设置密码以保证安全性,原始且效率低下,既然我们已经上线了ov...
2018-12-07 09:45:50 510
原创 代码中的敏感信息加密方案
曾有个同事不小心把项目代码给传到了Github上,导致代码里边的一个明文邮箱账号密码被利用,为此公司及个人都付出了沉重的代价。那么代码中的敏感信息该如何处理呢?本文将简单介绍一下我们的实践方法。实现目标代码中的敏感信息加密,例如邮箱账号密码、连接数据库的账号密码、第三方校验的key对于生产使用的原始密码等信息应尽量少的人接触,例如数据库的密码应只有DBA知道信息加密信息加密常见的...
2018-10-30 09:32:25 5885 2
原创 Django model转字典的几种方法
平常的开发过程中不免遇到需要把model转成字典的需求,尤其是现在流行前后端分离架构,Json格式几乎成了前后端之间数据交换的标准,这种model转dict的需求就更多了,本文介绍几种日常使用的方法以供参考,所有例子均基于Django 2.0环境演示背景介绍model内容如下:class Group(models.Model): name = models.CharField(m...
2018-10-13 09:27:24 2395
原创 使用Nagios打造专业的业务状态监控
想必各个公司都有部署zabbix之类的监控系统来监控服务器的资源使用情况、各服务的运行状态,是否这种监控就足够了呢?有没有遇到监控系统一切正常确发现项目无法正常对外提供服务的情况呢?本篇文章聊聊我们如何简单的使用Nagios监控业务的状态文中的业务指用户访问的网站页面,对外提供的API接口,移动端的APP等产品监控的思考通常我们会在项目所在的机房部署一套监控系统来监控我们服务器和My...
2018-09-19 09:35:23 666
原创 Etcd安全配置之Basic Auth认证
《中小团队落地配置中心详解》文章中我们介绍了如何基于Etcd+Confd构建配置中心,最后提到Etcd的安全问题时说了可以使用账号密码认证以达到安全访问的目的,究竟该如何开启认证以及怎么设计权限访问呢?本文将为你详细解读认证说明Etcd v2以上的版本才支持权限认证,且仅支持Basic AuthEtcd通过用户(user)-角色(role)-权限的方式来控制访问,用户关联角...
2018-09-12 09:26:08 2067
原创 ELK日志系统之通用应用程序日志接入方案
前边有两篇ELK的文章分别介绍了MySQL慢日志收集和Nginx访问日志收集,那么各种不同类型应用程序的日志该如何方便的进行收集呢?且看本文我们是如何高效处理这个问题的日志规范规范的日志存放路径和输出格式将为我们后续的收集和分析带来极大的方便,无需考虑各种不同路径、格式的兼容问题,只需要针对固定几类日志做适配就可以了,具体的规范如下:日志存放路径规范 1. 项目日志只能输...
2018-09-06 09:18:08 2706
原创 ELK日志系统之使用Rsyslog快速方便的收集Nginx日志
常规的日志收集方案中Client端都需要额外安装一个Agent来收集日志,例如logstash、filebeat等,额外的程序也就意味着环境的复杂,资源的占用,有没有一种方式是不需要额外安装程序就能实现日志收集呢?Rsyslog就是你要找的答案!RsyslogRsyslog是高速的日志收集处理服务,它具有高性能、安全可靠和模块化设计的特点,能够接收来自各种来源的日志输入(例如:...
2018-08-30 07:07:03 282
原创 中小团队落地配置中心详解
不知道配置文件上次什么时候修改的、修改了什么内容?改了配置文件还要重新发布项目或者手动触发重启服务?无缘无故发现配置文件错了影响到线上正常部署?你是否正在因为这些问题而困扰?50+线上项目,数百+配置文件,我们经常被这些配置文件虐的生无可恋,是时候作出改变了!本文将带你解决这些问题,喝着咖啡轻松运维配置中心选型选型的原则:简单,易落地,不挑平台,不挑语言,尽量少的依赖。对比...
2018-08-24 06:11:37 1226
原创 ELK构建MySQL慢日志收集平台详解
上篇文章《中小团队快速构建SQL自动审核系统》我们完成了SQL的自动审核与执行,不仅提高了效率还受到了同事的肯定,心里美滋滋。但关于慢查询的收集及处理也耗费了我们太多的时间和精力,如何在这一块也能提升效率呢?且看本文讲解如何利用ELK做慢日志收集ELK介绍ELK最早是Elasticsearch(以下简称ES)、Logstash、Kibana三款开源软件的简称,三款软件后来被同一...
2018-08-16 09:36:32 3406 3
原创 Django model select的各种用法详解
《Django model update的各种用法介绍》文章介绍了Django model的各种update操作,这篇文章就是她的姊妹篇,详细介绍Django model select的用法,配以对应MySQL的查询语句,理解起来更轻松。基本操作# 获取所有数据,对应SQL:select * from UserUser.objects.all()# 匹配,对应SQL:...
2018-08-13 16:13:07 3439
原创 LDAP落地实战(四):Jenkins集成OpenLDAP认证
前几篇分文章分别介绍了openldap的部署管理和维护以及svn、git的接入,今天我们再下一城接入jenkins。LDAP系列文章: - ldap落地实战:openldap部署及管理维护 - ldap落地实战:subversion集成ldap认证 - ldap落地实战:gitlab集成openldap认证jenkins集成openldap认证1. 安装LDAP插...
2018-08-06 15:56:40 5474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人