127.0.0.1:6379> exit 这里对其他的参数做一下说明: -r -r(repeat)选项代表将命令执行多次 [root@VM_48_10_centos ~]# redis-cli -r 3 (interval)选项代表每隔几秒执行一次命令,但是-i选项必须和-r选项一起使用,下面每隔1s执行一次ping命令: [root@VM_48_10_centos ~]# redis-cli -r 3 --latency 该参数有3个选项,分别是--latency,--latency-history以及--latency-dist,其中: --latency选项可以测试客户端到目标redis的网络延迟 latency-dist会使用统计表的形式从控制台输出延迟统计信息 --stat 该选项可以试试获取Redis的重要统计信息,虽然info命令中的统计信息更全,但是能够实时看到一些增量数据,对于redis的运维还是有一定帮助 例如: redis-server --port 6380 3、配置文件启动 redis-server /dir/redis.conf 除了启动redis之外,还有一个选项--test-memory,
非绑定方法: 2.如果获得的是一个类型或者一个类提供的方法,则是非绑定方法, 需要提供该类型或者类的一个实列 ''' #绑定方法 test = ['1','2','3'] bangding = test.append bangding('4') print test #结果:['1', '2', '3', '4'] #非绑定方法 bangding = list.append test = ['1','2','3'] bangding(test,'4') print test #结果:['1', '2', '3', '4'] import codecs,sys sys.stdout
转载链接http://lizhenliang.blog.51cto.com/7876557/1864869 我的学习心得: 用了小一个月时间写了这个运维管理平台,算是一段学习的总结吧! 因此写好一个比较完善的平台,开发能力会有很大的提高。当然薪资也紧跟着蹭蹭的涨啦! 该怎么学习呢? 刚入门的同学,大都会问这个问题,自己毫无头绪,不知如何下手! 可以考虑使用开源的前端框架,提高开发速度,不用过多考虑兼容性。 经过这八步循环渐进的学习,我相信你已经有足够能力开发一套属于自己的运维管理平台了。 群里朋友经常问,能看懂代码,就是写不出来,怎么办啊? 就说这么多了,以上就是我个人对想转运维开发的朋友们一点学习思路,不能说完全是对的,但是思路我觉得没问题。
Topic的消费kafka-console-consumer.sh More 日常运维 、问题排查 怎么能够少了滴滴开源的 滴滴开源LogiKM一站式Kafka监控与管控平台 1.Topic的发送 默认值) –max-partition-memory-bytes Long 为分区分配的缓冲区大小 16384 –message-send-max-retries Integer 最大的重试发送次数 3 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --whitelist ‘.*’ --from-beginning 3. kafka.tools.NoOpMessageFormatter、kafka.tools.ChecksumMessageFormatter More Kafka专栏持续更新中…(源码、原理、实战、运维
(li[1:]) return li[0] if li[0] > sub_max else sub_max def main(): nums = [10, 4, 2, 5, 7, 3, 其实准确来说,Python 3.x引入了nonlocal关键字,可以用于标识外部作用域的变量。 局部作用域里的代码可以读外部作用域(包括全局作用域)里的变量,但不能更改它。 , y, z): print(x, y, z) # spam = staticmethod(spam) print(type(Foo.spam)) Foo.spam(1,2,3) f = Foo() f.spam(4,5,6) >>> <class 'function'> # 类型本质就是函数 1 2 3 4 5 6 import time class Date: 3.此时TCP连接进入连接半关闭状态,服务器可能还会向客户端发送一些数据。 4.客户端收到来自服务器的确认之后,进入FIN-WAIT-2状态。等待服务器发送连接释放报文。
3、写作不规律。 对于以上存在的问题,今年尽力改善,提升写作质量,记录学习过程,也希望能给读我文章的读者带来一点收获。 今年个人写作的大致计划: 上半年着重开发一个自己的项目上来,主要熟悉开发流程。 3月 开发基础知识 4月 应用开发流程 5月 前后端开源项目解析 6月 个人开源项目发布 下半年就开始着重某一个点,比如从实战项目中涉及的知识点由浅到深解析学习,详细计划根据实际情况选择展开。 以下是对于写作范围的框架,从个人角度出发,一个是从运维开发核心技术栈展开,另一个就是从应用开发角度展开。框架图还会不断完善,感兴趣的读者可后台私信交流学习。
这是学习笔记的第 1890 篇文章 今天把运维开发的体系做了一层梳理,基本把一个整体的脉络理清楚了,这部分的内容也会不断萃取和整理,希望能够给大家一些参考。 ? 首先是运维开发基础,这个部分我是主要包含了Shell和Python,值得一提的是在我的规划中,Shell本身是不属性运维开发技能的,但是从我了解的情况来看,很多萌新对于Linux的使用有些有限,不能作为主要开发语言和不重要是两回事 所以把shell也揉入了进来,基本的系统管理和脚本开发是运维开发的基本功。 基于web的运维开发技术,是在基础开发的部分衍生出来的,掌握了基本的Python技术不一定能够完全掌握基于web的开发技术,因为不是完整的一个技术栈,web方向涉及的知识体系相对要大得多,而且会很杂。 架构和设计是运维开发里面的难点部分,其中自动化运维的架构设计部分就好比是画一幅画,如果把轮廓画好了,基本上画的质量和效果是可以预见的。一个松散没有良好架构设计的系统是很脆弱的,也是经不起考验的。
技术架构设计: 1、开发技术栈,vue+gin的前后端分离架构 前端:vue+antd+ts+vben admin实现前端业务界面 后端:gin+gorm/ent+jwt/casbin 实现后端接口开发 (根据实际情况选择) 2、数据库层,根据情况选择mysql或pg 3、api设计,根据功能定义参数,从资源管理、任务管理、告警规则、权限管理、用户管理、日志收集等 4、中间件用redis用于缓存和消息队列 2、vite只在生产环境下基于rollup打包,开发环境不需要打包,可以快速启动开发服务器,webpack不管是生产还是开发都需要打包构建。 3、vite构建的包体积小,webpack相比vite构建的包文件会更大一些。 4、vite轻量级高性能,能提升开发体验和构建性能。Webpack生态丰富性和功能集成度上处于领先位置。 from 'ant-design-vue' import 'ant-design-vue/dist/antd.css' createApp(App) .use(Antd) .mount('#app') 3、
)查看IP($1代表IP) #cat access_log | awk '{print $1}' (2)对IP排序 #cat access_log | awk '{print $1}'| sort (3) awk '{print $1}'|uniq -c|wc -l > ip.txt (13)查看 access.Log 文件ip统计(从高到低) cat access.log |awk '{print $3} (3) 端口不通时发送邮件 # vim /scripts/ncports.sh #! /bin/bash #denyhost ip cat /var/log/secure|egrep -i -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3 > $fileRfc done tail /sys/class/net/eth*/queues/rx-*/{rps_cpus,rps_flow_cnt} 补充一些知识: Linux运维常见系统服务介绍
crontab -e 编辑任务计划 crontab -l(小写的L) 列出任务计划 crontab -r 删除 crontab -u [username] 指定某个用户 1-5 表示范围1到5 1,2,3 --level 34 network off/on 控制network的等级3和4开关 --add [servicename] 增加一行服务,前提是在/etc/init.d/目录下有文件 --del [
所以开发重建设、运维当然就是维护。所以运维比开发更不受重视也是可以理解的,很难出彩,不出事就是成绩,尽管付出的努力并不少,甚至更多。 看过产品运营的人说过一句话“不要管开发做出的是什么垃圾产品,留住客户才是运维关心的“但是在高层考虑中,尽管运维仍然受重视程度比不上开发,但已经不仅仅是考虑要尽快满足业务需求的问题了。 而系统运维工程师从硬件到软件逐级向上可大概分为: 1、布线工程师、机房工程师:负责机房布线和机房里设备维护 2、驻场工程师:由乙方派到甲方公司的驻场工程师 3、实施工程师:由乙方派到甲方做实施 4、桌面运维工程师 :维护笔记本电脑、邮箱等 5、网络运维工程师:负责网络运维 6、系统运维工程师:主要负责操作系统、数据库、中间件、虚拟化等 7、数据库运维工程师:负责数据库运维 8、运维开发工程师:负责DevOps的运维开发 自动化运维系统->智能化运维系统 私有云系统 3、业务系统: 企业的业务系统,比如核心业务系统、APP、网站、ERP系统、CRM系统等
Topic的消费kafka-console-consumer.sh 3. 持续批量推送消息kafka-verifiable-producer.sh 4. 持续批量拉取消息kafka-verifiable-consumer More 日常运维 、问题排查 怎么能够少了滴滴开源的 滴滴开源LogiKM一站式Kafka监控与管控平台 1.Topic的发送 默认值) –max-partition-memory-bytes Long 为分区分配的缓冲区大小 16384 –message-send-max-retries Integer 最大的重试发送次数 3 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --whitelist ‘.*’ --from-beginning 3. kafka.tools.LoggingMessageFormatter、kafka.tools.NoOpMessageFormatter、kafka.tools.ChecksumMessageFormatter 3.
那么也和其他语言一样,可以开发web应用、桌面应用、移动应用等等。 还是直接上脑图 再说说学习路线 这里根据脑图再说说,要掌握的: 基础部分 1、HTML和CSS,这是构建网页基础 2、数据类型、变量、表达式、运算符 3、控制流程语句:if/else、while、for 3、jQuery 库:掌握 jQuery 库,简化 DOM 操作和事件处理程序。 4、AJAX 异步请求:使用 XMLHttpRequest 对象从服务器获取数据。 3、模块化编程:掌握模块化编程,了解 CommonJS 和 ES6 的模块化规范。 4、测试和调试:会测试JavaScript 代码,能使用浏览器内置的开发工具进行调试。 用的人还是很多,易学易用,突出一个响应式,也具备数据双向绑定、组件化开发、轻量级、使其视图层能够自动更新。
架构图 资产管理 主机资源 webssh 自动发布 飞书审批 -》 运维后台api -》jenkins 定时任务 定时配置 执行记录 过期提醒 过期配置页 通知消息 配置中心 运维导航
这种反类型C DevOps拓扑可能最终需要Type 3(Ops as IaaS)或Type 4(DevOps-as-a-Service)拓扑,当他们的软件变得更加深入和复杂,运维开始需要开发工作“(又称编码 1: 开发和运维协作 2: 共享运维 3: 运维作为基础设施服务 4: DevOps-as-a-Service 5: 临时DevOps团队 6: DevOps 布道者团队 7: SRE 团队 8: 容器驱动 这个拓扑也可能被称为“NoOps”,因为没有明显的或可见的运维团队(尽管Netflix NoOps也可能是类型 3(作为IaaS的Ops))。 有效潜力:高 类型3:运维作为基础设施服务 对于IT运维部门非常传统的组织,不会或者不能(足够)快地速拥抱变化,对于在公共云(Amazon EC2,Rackspace,Azure等)中运行所有应用程序的组织 类型3适应性:具有多种不同产品和服务,传统的运维部门,或其应用程序完全在公有云中运行的组织。
// MongoDB运维与开发(二) // 今天的内容接着昨天的来看,昨天我们说了MongoDB的部署、数据存储方式以及简单的用户创建,今天我们来看MongoDB的其他一些特点 ? 它的常用数据类型有: 1、null 用于表示空值或者不存在的字段 {"x":null} 2、bool 这个容易理解,true or false {"x":true} 3、整数 在MongoDB自带的shell 中不可用,shell中的需要使用函数来表示整数,如下: {"x":NumberInt("3")} 如果我们写成 {"x":3} 这里的3会被表示成double。 这12个字节的生成方式如下: 0、1、2、3位是时间戳,提供秒级别唯一性 4、5、6位是机器的唯一标识符,提供机器级别唯一性 7、8位是当前生成ObjectId的进程标识符,保证不同进程的唯一性 9、10 :"yeyz"}) WriteResult({ "nInserted" : 1 }) > show collections #查看集合,发现aaa这个集合生成了 aaa num person 3、
运维开发的开源项目很多,从很多人的理解中,开源就是把代码一开放就完事了,当然远远没有这么简单。其实如果在GitHub上观察多一些,那些顶级项目都是更新频繁,功能迭代很快的。 运维开发的项目说实话远没有这些开源项目这么火,也没有如此多的更新频率。只能说一些现状和情况情况有些相仿,那些能够活下来的项目,都是经历了一些苦闷的阶段。 我之前的运维平台参考了OpsManage的内容,但是在后期实现的时候,初步的设想是定制一下,修改一些基本的页面满足功能,然后逐步接入业务。 他从开始提到我解决,整个过程大概用了不到5分钟的时间,我在本地测试完成,然后快速发布到了线上,这个时候我感觉我对这个层面的需求可以做到快速响应了,通过这个对比就能够充分体会到敏捷运维里的一些便捷之处。 3.新的技术方案 项目里引入了一些新的解决方案,比如channels,xterm等。还是比较有意思的,编辑器比如CkEditor,个人感觉ACE-Editor更轻量级一些。
MongoDB运维与开发(三) 今天来看MongoDB的用户相关的内容,用户、权限,这块儿的内容还是比较多的。 gssapiServiceName=mongodb Implicit session: session { "id" : UUID("5f2b0fa6-a1e3-4aaf-b43f-3525e19c33d2 gssapiServiceName=mongodb Implicit session: session { "id" : UUID("ef872d7a-77d9-43c2-bf3d-e04867379c0a
3. 未来的工作是人工智能增强和远程。今年商业领域最大的两个悬而未决的问题是远程工作是否会继续存在,以及人工智能将如何影响工作。 3. 网络故障告警:这些告警涉及网络设备、连接或协议的问题。 4. 服务可用性告警:这些告警通知管理员某个服务不可用或无法正常访问。 5. 3. 网络故障告警 网络监控工具:使用网络监控工具(例如Nmap、Wireshark、PRTG等)来监测网络设备和流量,检测到异常时触发告警。 这个就一般由应用运维工程师去配置查看,比如一般的HTTP状态码检测、TCP/UDP端口检测,端口不可达触发告警。还有各种事务、服务日志、容器、云监控等。 6. 梳理了以上告警情况,发现其实很多小公司的运维或开发工程师都会或多或少的去做这上面的告警任务,但是不得不说,正因为做了这些告警和对应的处理规则,就不用担心面对故障手足无措的情况,尽管告警也不能百分百的避免故障的发生
// MongoDB运维与开发(一) // 工作方向上的原因,不得不接触部分MongoDB的运维工作,之前有接触过一些MongoDB的内容,基本的运维操作没有什么问题,包括MongoDB的集群搭建 但是时间久了,很多东西不用就忘记了,最近准备出一个系列的MongoDB的运维操作文章,希望把这块儿内容重新拾起来。 rhel70-4.0.21-rc1.tgz 2、使用tar工具对这个包进行解压,通常解压的路径是/usr/local/ tar -zxvf mongodb-xxxx.tgz -C /usr/local 3、 "sex" : "male", "score" : 100 } ] } { "_id" : ObjectId("5f96e286dee7ee56f803605f"), "age" : 1 } NO.3