木讷大叔爱运维

其他

K8S驱逐,一份带调料的学习资料!

预计阅读时间2分钟导语❝无状态服务是一种不需要保存任何数据状态的服务,也不需要维护任何会话信息的服务。
2月26日 上午 7:23
其他

运维累了:该故障自愈出场了

预计阅读时间3分钟背景最近晚上23:00甚至是凌晨总收到告警通知:磁盘可用量低于20%,这个时候不得不爬起来处理告警。当然这里要提醒大家:对于小问题,运维也绝不要抱着侥幸的心理,因为只有痛过才知道。磁盘类告警只是我们诸多告警中的冰山一角,虽然我们有值班人员甚至是运维团队支撑,但是也不能因为这种小问题就分散注意力,这时我们就需要考虑如何通过自动化实现。针对这种情况,我们通常会想到以下几点:在告警机器上设置定时任务;编写脚本压缩日志或清理磁盘空间;这种方案虽然可行,但是试想下:如果我们管理的是上千台机器且目录结构混乱,那么我们面临的将是上千个脚本及定时任务,这个工作量是非常大的。运维累都是有原因的,此时就可以轮到故障自愈出场了。故障自愈如图所示,对于生产故障,运维标准的处理流程是收到告警、登录跳板机、故障处理、故障恢复,整个过程都是通过人工手动处理。而故障自愈则是接受监控平台的告警定位,匹配预设的故障处理流程,进而通过自动化手段实现故障的自动恢复。在认识故障自愈后,我们需要考虑的就是如何让运维管理的生产环境更广泛的接入故障自愈,而不是只针对单一的机器或某一类故障。因此在正式接入故障自愈前,我们还有很多的工作要做。1.前提为满足故障自愈通过自动化手段处理故障,我们必须提前制定一系列的流程规范:目录管理规范标准的目录结构,接入故障自愈后可以用一套自动化脚本管理所有文件资源;应用标准规范标准应用规范,接入故障自愈后可以用一套自动化脚本管理所有应用;监控告警规范标准的监控告警规范,通过告警通知,无论是运维团队或自愈平台,都能通过告警通知更快速的定位问题;标准的故障处理流程标准的故障处理流程,不仅可以帮助我们更快速的解决问题,而且可以帮助我们建立起运维团队的知识库;这些流程规范不仅是故障自愈,也是我们日常运维工作过程中需要持续关注的,这也意味着这些基础性的工作是多么的重要。2.监控平台监控平台作为整个故障自愈的源头,必须满足快速准确定位故障的要求,因此就需要在多个维度提供可靠的监控。硬件监控维度此类监控故障自愈一般无法接入,仅作为辅助手段帮我们及时发现问题;基础监控维度基础监控主要是对CPU、内存、磁盘等资源使用情况进行监控,接入故障自愈后可发送占用资源的top10进程及自定义的磁盘清理策略;应用监控维度应用监控主要是对应用状态进行监控,如健康检查、端口、其他自定义告警,接入故障自愈后可对应用进行重启;中间件维度中间件维度主要是对集群的健康状态进行监控,如eureka
2022年7月17日
其他

运维:对数据要有敬畏之心

预计阅读时间2分钟简述“对数据要有敬畏之心”这个主题是同事在一个早会分享时提出的,却直接引起我心中的共鸣。前几年各种删库跑路事件、Facebook宕机事件仍不绝于耳,虽然大家将“删库跑路”当作一个调侃与谈资,但上升到“对数据要有敬畏之心”的高度,作为运维我们就要居安思危,防患于未然。数据的定义从运维的角度,数据不是独立存在的,它存在于日常运维过程中的各个环节,如例行维护、变更、故障处理等。因此如果我们只考虑数据本身则意义不大,要从数据存在的各个环节去分析。在此我们将其大体概括为:数据备份文件系统+例行维护数据库大数据业务版本发布需求变更数据备份从数据安全的角度出发,我们最先想到的肯定是数据备份,下面我们来看下数据备份的几个关键点。首先,根据备份空间和从备份恢复的速度情况下,我们可以将数据备份分为本地备份和异地备份(不考虑多机房容灾)。其次,无论是何种备份方式,我们都需要考虑备份保存周期,因此无规则限制的归档会带来存储成本的不断升高。最后,针对数据丢失或误删等各种场景,我们需要确定就是备份哪些内容。对此我们总结需要备份的内容如下:系统级配置文件
2022年4月16日
其他

运维从零认识云原生

预计阅读时间4分钟需求云原生的理念经过几年发展,不断丰富、落地、实践,云原生已经渡过了概念普及阶段,进入了快速发展期。而无论我们所在的企业是否已经开启了云原生建设,运维都需要去充分的认识云原生,不断的储备和云原生相关的知识点。CNCF
2022年4月9日
其他

容器解决方案周边,技术实力的体现

预计阅读时间4分钟简述无论是学习云原生相关技术栈还是了解容器云相关解决方案,我们都可能看见这些热词:一致性认证、CKA、可信云、信创等,那它们都有什么作用?个人可以学习哪些认证?云厂商都需要哪些认证?通过以下内容的介绍,我们就会对这些热词有一定的了解,从而帮助我们做更好的选择。一、Kubernetes软件一致性认证「Kubernetes软件一致性确保每个供应商的Kubernetes版本都支持所需的API,开源社区版本也是如此。」
2022年4月3日
其他

Archery:数据库工单平台

预计阅读时间4分钟需求在生产环境你是否或多或少遇到过以下问题:应用突发访问数据库慢,因排查时间过长,导致业务投诉;数据库某条sql执行时间超长;数据库被研发误删数据表或某条数据;数据库访问混乱,研发、DBA、测试、运维权限混乱;......无论何时只要出现过以上问题,这就可能意味着数据库规范化管理要提上日程了,因此今天就要轮到我们的主角隆重登场了。Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作。名字论:Archery官方将自己定位为SQL审核查询平台,其实我觉得这个名字其实是有点低调的,而我认为称其为“数据库工单平台”则更为恰当。DBA可以将Archery接入LDAP,以工单的形式审核各部门研发提出的查询、执行命令,还可配合自动审批、SQL优化等其他形式来进行合规管理。功能清单查询审核执行备份数据字典慢日志会话管理账号管理参数管理数据归档MySQL√√√√√√√√√√MsSQL√×√×××××××Redis√×√×××××××PgSQL√×√×××××××Oracle√×√✔️××××××MongDB√√√×××××××运行环境python3.4及以上
2022年3月27日
其他

Pipeline支撑运维自动化:Zabbix屏蔽/恢复监控

客户端,如果屏蔽/恢复监控项,需要按应用IP依次查询,不利于管理。解决方案:我们将应用的监控检查、端口监控都放到某台Zabbix客户端上进行集中管理,而且统一以应用名为前缀:#
2022年3月21日
其他

Python+Celery实现基于Fastnetmon异常流量清洗

统计数据库我们可以复用Influxdb或使用Mysql,但Influxdb作为时序数据库,后续的字段更新必须基于时间戳和tag查询,字段的更新不友好,因此最终我们选择Mysql。2.异步解耦
2022年3月12日
其他

Pipeline支撑运维自动化:sftp原子模块

}}3.流程图总结随着sftp原子模块的完成,我们能够通过自动化完成的运维场景又多了一个:后话:PipeLine支撑运维自动化Apollo:分布式配置管理中心Jenkins
2022年2月26日
其他

后话:PipeLine支撑运维自动化

,每个Rapid项目都有一些工作流,定义了发布流程中的具体动作。工作流可以线性或者并发执行,某个工作流也可以启动另外一个工作流。Rapid将工作请求分发到运行在Borg系统上的生产服务器。SRE:
2022年2月20日
其他

Kwok:开源的 IT 管理系统

等开源软件,提供了一个集中式系统,用于管理/跟踪硬件库存、软件许可、问题、服务合同和供应商联系方式。
2022年2月12日
其他

Jenkins 和 CMDB竟然着了DNS的道

插件中提前定义在配置job过程中直接指定以上几种方式都需要提前知道目标主机的IP,对执行构建人员来说很不友好。那么我们能不能参照DNS的套路,通过特定的名称查询CMDB来获取IP呢?
2022年1月10日
其他

CI/CD支撑运维自动化:系统监控级原子模块

}}由于是在集中管理机上新增监控项,在此我们省略了获取集中管理机的hostid操作。而是直接通过固定的hostid来查找对应的监控项是否存在,最后执行新增操作。3.Jenkins
2021年12月25日
其他

Apollo:分布式配置管理中心

Server三个逻辑角色部署在同一个JVM进程中;这是一套比较经典的微服务架构,其中:Apollo客户端的访问路径为:SLB-->Meta-->Config
2021年12月19日
其他

CI/CD如何支撑运维自动化

运维解密》运维自动化支撑如图,我们通过pipline编排出以下运维场景:服务器自动上架基础组件定制化安装Java应用自动上线Java应用版本发布这些场景运行构建时会调用蓝鲸、pipeline
2021年12月5日
其他

运维思考:Java进程管理规范

临时文件目录-Djava.io.tmpdir=/data/tmpdir其中比较重要的是-Denv=xxx,通过在各个环境预设此变量,可实现不同环境配置文件的绑定。例如:在spring
2021年9月30日
其他

基于Nginx+Lua自建Web应用防火墙

10,则直接跳转到验证码页;注意:此脚本所在服务器须安装nslookup命令;每个ip的访问总量是每天累计的;对需要进行验证码防采集的location,请配置access_by_lua_file
2021年9月12日
其他

Zabbix监控VMware ESXI虚拟主机

vms:虚拟主机中包含的虚拟机数量;我们可根据实际情况手动添加相应的监控图形。6.添加触发器当自动发现所有的虚拟主机和虚拟机后,我们发现涉及的3个模板只有监控项,而且没有触发器。
2021年8月22日
其他

基础运维神器:开源的裸金属服务器管理平台RackShift

在基础运维领域真正做到了我们想做但却做不到的事情,将其应用到生产环境可以节省我们很多的运维成本。Jenkins+Ansible:助力基础设施建设运维思索:接地气的运维自动化建设事件推送网关:
2021年8月15日
其他

cachecloud:支持Redis多种架构的云管理平台

package2初始化数据库导入项目中cachecloud.sql初始化库表结构,默认插入admin超级管理员。创建数据库:url:
2021年8月7日
其他

Jenkins+Ansible:助力基础设施建设

Parameter"虽然在一定程度上满了我们对普通参数的需求,但是无法满足我们对选择参数的联动(即主动选择反应参数),如选择系统初始化剧本,可以和其相关的标签联动。在此我们选择安装"Active
2021年8月2日
其他

运维思索:接地气的运维自动化建设

“让基础设施建设动起来”Grafana+钉钉告警之小细节蓝鲸实现多环境vsphere虚拟机交付运维思索:运维规范如何生成?K8SEASY:一键安装K8S高可用集群运维思考:运维管理与运维自动化
2021年7月25日
其他

ansible自动化:备份管理实践

ansible_all_data_backup.sh总结随着备份类型及量级的不断增多,此时单一的备份中心由于磁盘IO、空间等问题可能成为备份的瓶颈,因此对于备份我们还是要提前规划。事件推送网关:
2021年7月18日
其他

事件推送网关: “让基础设施建设动起来”

web端只负责权限分配;系统隔离是一直是运维管理的一大难题,统一的esb总线来适配所有系统是不现实的,因此我们希望通过事件推送网关来间接打通。解决方案1.cmdb事件推送
2021年7月9日
其他

Grafana+钉钉告警之小细节

false经以上配置,就能解决公网访问grafana问题。一旦触发告警阈值,钉钉就会报警。此时由于钉钉没有访问到图片,因此是404。此时需要开启的local本地存储。vim
2021年7月4日
其他

cmdb事件推送实现jumpserver资产分组同步

grouplist[j]['bk_biz_name']+"_"+grouplist[j]['bk_set_name']+"_"+grouplist[j]['bk_module_name']
2021年6月26日
其他

cmdb事件推送实现zabbix资产同步

grouplist[j]['bk_biz_name']+"_"+grouplist[j]['bk_set_name']+"_"+grouplist[j]['bk_module_name']
2021年6月20日
其他

事件推送网关:让cmdb告别“花瓶”

grouplist[j]['bk_set_name']+"_"+grouplist[j]['bk_biz_name']+"_"+grouplist[j]['bk_module_name']
2021年5月22日
其他

运维思索:cmdb打通zabbix、jumpserver探索

属于test1、test2两个模块,将其从test2模块中删除只保留test1模块,经测试cmdb的操作分为以下三步:将10.10.2.11
2021年5月15日
其他

蓝鲸实现多环境vsphere虚拟机交付

会划分不同的vlan、子网掩码、网关、dns等;vsphere自定义规范不支持更改vlan,因此需要手动调整vlan;多环境vsphere
2021年5月9日
其他

ansible自动化:基础软件的自定义安装

《ansible自动化:操作系统初始化具体实现》一文实现了对操作系统的交付,接下来我们就需要根据研发、运维需求定制各种基础软件,用于日后的系统上线。在此我的实现方式是通过ansible
2021年5月2日
其他

ansible自动化:操作系统初始化具体实现

restart_sshd注意:请最后执行ssh.yml,由于进行了ssh优化,一旦过程中有问题,会导致root无法登录。4.templates
2021年4月24日
其他

ansible自动化:mysql主从同步

defined5.编写模板脚本此模板脚本的作用是获取vars变量中的mysql_db中参数,根据replicate:yes和replicate:no,将需要同步或不同步的库写到my.cnf。#
2021年4月16日
其他

ansible自动化:编译安装mysql

roles/mysql_install/{files,handlers,meta,tasks,templates,vars}[root@test
2021年4月13日
其他

ansible自动化:LAMP环境部署

roles/lamp_install/{files,handlers,meta,tasks,templates,vars}[root@test
2021年4月9日
其他

K8SEASY:一键安装K8S高可用集群

https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.107-1.el7.elrepo.x86_64.rpmyum
2021年3月26日
其他

运维思索:基础设施自动化落地

在服务器基数小的情况下,我们可以手动在各个平台注册主机;一旦需要批量上下架,工作量将会指数增长。因此我们需要这些场景自动化来为我们减负。智能化
2021年3月19日
其他

运维思索:目录管理规范的重要性

下面就来谈谈我们一些看法吧。对于目录来说,最终承载的是各种技术栈、功能组件,因此它们就成了我们目录规范的需求依据。
2021年1月31日
其他

运维思索:操作系统配置规范化、自动化

创建固定的初始目录,如应用、日志、备份等目录limit及内核参数DNS及NTP环境变量及历史命令记录
2021年1月24日
其他

运维思索:操作系统安装规范化

/var/lib/cobbler/kickstarts/Centos-7.6-x86_64.ks#验证配置文件cobbler
2021年1月17日
其他

运维思索:运维规范如何生成?

例如:服务器上架,就涉及到以下几个层面:
2021年1月9日
其他

运维思索:cmdb与zabbix监控系统的融合

1.当cmdb遇上zabbix,工程师的幸福感提升?https://yq.aliyun.com/articles/426766#
2020年12月19日
其他

蓝鲸离线部署二三事

app_mgr、job、bkdata、fta、gse_agent等组件没有问题,但是部署saas应用,如:bk_fta_solution、bk_nodeman时会出现问题:(1)bk_install
2020年12月13日
其他

运维思考:运维管理与运维自动化

例如现在公司已经初步做到场景自动化及智能化,虽然还不深入,在一定程度上我的运维工作也已经解放了80%左右,已经给我释放了大部分时间,我也在想运维管理是否应该步入下一个阶段:运维服务化?理由:
2020年12月6日
其他

运维思索:系统监控体系

点击上方蓝色字体,关注我们
2020年11月28日
其他

一套包含完整前后端的系统如何在K8S中部署?

0640注意:hello.test.cn.conf一定要挂载为subPath,否则将会变成一个目录。4Service前端的Service比较简单,部署类型为NodePort。apiVersion:
2020年11月21日
其他

Prometheus+k8s之告警通知

由于prometheus使用的是docker部署,因此k8s.yml位置必须是容器内部的目录位置,而不是宿主机上的问题。2.添加告警规则groups:-
2020年11月1日
其他

hadoop完全分布式部署

hadoop33.文件同步用于将NameNode上更新的文件更新至远程DataNode节点上#!/bin/bash#1
2020年10月24日