“Devops”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
 
(未显示同一用户的38个中间版本)
第18行: 第18行:
  
 
[https://juejin.cn/post/6844903858691538952  「DevOps」闲聊我心中的运维开发 ]
 
[https://juejin.cn/post/6844903858691538952  「DevOps」闲聊我心中的运维开发 ]
 +
 +
[https://zhuanlan.zhihu.com/p/22638204 给 DevOps 初学者的入门指南]
 +
 +
=interview=
 +
==python shell 交互 ==
 +
1.os.system(cmd)
 +
>>> os.system('w')
 +
23:30:58 up  7:00,  2 users,  load average: 1.30, 1.81, 2.22
 +
USER    TTY      来自          LOGIN@  IDLE  JCPU  PCPU WHAT
 +
evan    tty7    :0              16:36    7:01m 30:18  21.83s awesome
 +
evan    pts/1    -                23:23    2.00s  0.14s  0.03s sudo -i
 +
0
 +
>>>
 +
2.os.popen(cmd)
 +
 +
3.利用subprocess模块
 +
 +
4.subprocessor模块进阶
 +
 +
== ==
 +
 +
== ==
 +
 +
== ==
 +
 +
 +
== ==
 +
= 常见在线教程=
 +
 +
https://www.w3cschool.cn/tutorial
 +
 +
=安全=
 +
 +
[[Linux安全]]
 +
=前端=
 +
https://bootstrap-vue.org/
 +
 +
[https://code.z01.com/bootstrap-vue/ code.z01.com bootstrap-vue]
 +
 +
[https://vvbin.cn/doc-next/guide/introduction.html Vue-Vben-Admin不死在用的 ]
 +
 +
==vue==
 +
 +
[https://juejin.cn/post/6844903762037850126  Vue新手向:14篇教程带你从零撸一个Todo应用 ]
 +
 +
[https://zhuanlan.zhihu.com/p/23134551 新手向:Vue 2.0 的建议学习顺序]
 +
 +
[https://blog.fundebug.com/2019/06/03/vue-development-tutorial/ Vue开发入门看这篇文章就够了]
 +
 +
 +
[https://www.runoob.com/vue2/vue-tutorial.html Vue.js 教程vue2 vue-tutorial.html]
 +
 +
 +
[https://www.runoob.com/w3cnote/vue2-start-coding.html Vue2.0 新手入门 — 从环境搭建到发布]
 +
 +
[https://segmentfault.com/a/1190000019339210 你要的 React 面试知识点,都在这了]
  
 
=SQL=
 
=SQL=
第27行: 第83行:
  
 
=cmdb=
 
=cmdb=
 
+
[[Cmdb|cmdb]]
  
 
[https://django-vue-admin.com/ django-vue-admin  使用django+vue进行极速开发的全栈管理系统 ]
 
[https://django-vue-admin.com/ django-vue-admin  使用django+vue进行极速开发的全栈管理系统 ]
  
 
[https://www.gin-vue-admin.com/ gin-vue-admin 使用gin+vue进行极速开发的全栈后台管理系统]
 
[https://www.gin-vue-admin.com/ gin-vue-admin 使用gin+vue进行极速开发的全栈后台管理系统]
 +
 +
[https://blog.csdn.net/Wangtuo1115/article/details/106189158#t33  Python---Django项目实战:CMDB资产扫描和DevOPS自动化运维]
  
 
=python=
 
=python=
第38行: 第96行:
  
 
[[Python学习进程]]
 
[[Python学习进程]]
 +
 +
[https://www.ahhhhfs.com/19962/ Python – 100天从新手到大师 ]
  
 
==python文件开头声明UTF-8编码的几种常用形式==
 
==python文件开头声明UTF-8编码的几种常用形式==
第61行: 第121行:
  
 
[https://blog.csdn.net/weixin_39983427/article/details/111759102  python实现自动化运维项目_Python自动化运维项目开发最佳实战]
 
[https://blog.csdn.net/weixin_39983427/article/details/111759102  python实现自动化运维项目_Python自动化运维项目开发最佳实战]
 +
 +
[https://blog.csdn.net/weixin_44621343/category_10744616_4.html Python学习笔记]
 +
 +
 +
[https://www.zhihu.com/question/399160308 运维岗真有人用Python脚本运维吗?]
 +
 +
[https://www.zhihu.com/question/28661987 你用 Python 写过哪些有趣的脚本?]
  
 
=django=
 
=django=
 +
 +
[https://www.cnblogs.com/yinzhengjie/tag/Django%E5%BC%80%E5%8F%91/ 当前标签:Django开发 ]
  
 
[https://zhuanlan.zhihu.com/p/142610295 Django开发常用30个软件包]
 
[https://zhuanlan.zhihu.com/p/142610295 Django开发常用30个软件包]
第70行: 第139行:
  
 
=monitor=
 
=monitor=
===zabbix===
+
== 要监控的东西==
 +
 
 +
 
 +
[https://www.jenkins.io/doc/book/system-administration/monitoring/ Monitoring Jenkins ]
 +
==zabbix==
 
<pre> zabbix server的图像展示接口 原创  
 
<pre> zabbix server的图像展示接口 原创  
 
zabbix server的图像展示接口:
 
zabbix server的图像展示接口:
第95行: 第168行:
  
 
=shell=
 
=shell=
 +
常用脚本
 +
<pre>
 +
 +
cat warp
 +
#清空日志常用 ls 最后放个目录  不要搞错了
 +
for loo in `ls . `
 +
do
 +
echo >$loo
 +
#echo " warp$loo"
 +
done
 +
 +
</pre>
 +
 +
 
[https://blog.csdn.net/HaiBingiDB/article/details/82562663 生产上运维脚本和语言的学习(shell、Python)]
 
[https://blog.csdn.net/HaiBingiDB/article/details/82562663 生产上运维脚本和语言的学习(shell、Python)]
 +
=带宽常识=
 +
什么叫入网带宽
 +
 +
也叫下行带宽,是收费的。方向是从ECS实例流出去的公网带宽流量.例如,最常见的方法是提供从云服务器ECS到外部世界的网络访问,并使用ftp从云服务器下载文件。云服务器在网络之外的带宽就是我们真正购买的带宽。例如,如果您购买了一台服务器,页面上显示1个2g1m,则网络带宽为1m。
 +
 +
 +
用户的云服务器公网带宽就是出网带宽(下行),入网带宽(上行)是免费的,详情如下:
 +
 +
 +
阿里云1Mbps服务器实际下载速度阿里云服务器1Mbps带宽实际下载速度峰值为128KB/S,1M带宽为什么不是1M/S,当然不是,无论是阿里云还是腾讯云或者其他云厂商,云服务器1M带宽实际下载速度都是128KB/S。云服务器N兆带宽下载速度峰值计算公式:128KB/S * N,2M就用128KB/S乘以2,5M乘以5,10M乘以10...以此类
 +
 +
云服务器1M带宽支撑最大并发连接数云服务器1M带宽支持最大连接数与用户的应用有关,云服务器吧以Web网站应用为例,1M带宽下载速度是128KB/S,假设网页优化后的大小为30KB,大概可以支撑4个用户并发在1秒内打开网页(128/30约等于4个),什么?服务器1M带宽才能支撑4个并发数?这种算法有些极端,对于一般流量的网站而言,4个用户在同一秒钟同时打开网页的的概率较小。当然本文说的就是并发,1秒钟支持4个并发,一般来讲,3秒内打开网页的速度都是可以接受的,稍微降低下用户体验,将打开时间延长为3秒,则1M带宽可支撑12个并发。什么?3秒12人?一天86400秒,1M带宽可以正常34万人访问?当然不可能,用户不可能分配的那么均匀,一般都集中在上午9点到11点,下午3点到5点,晚上8点到10点之间。一个网站如果日IP达到30万,那需要多台ECS实例搭配SLB。我们将网站图片、视频等媒体内容存储到更廉价的OSS上,然后将网站接入CDN,我有个网站,使用的是就是1M云服务器带宽,日均2000IP是完全支撑的(网站接入了CDN),通过阿里云控制台的云监控查看,公网流出平均30Kbps,如下图所示:
 +
 +
 +
 +
 +
[https://blog.csdn.net/fds3rd/article/details/109216386?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link  阿里云服务器的出网宽带和入网宽带是怎么回事?]
  
 
=books=
 
=books=
第132行: 第236行:
  
 
[https://www.youtube.com/watch?v=6p_nIXbsgDM&list=PLljKjXpjNpgdlycFQEcudWNlMf_MgdKlh&index=4 Python自动化开发-类Zabbix监控项目开发与实战-2.项目功能需求讨论]
 
[https://www.youtube.com/watch?v=6p_nIXbsgDM&list=PLljKjXpjNpgdlycFQEcudWNlMf_MgdKlh&index=4 Python自动化开发-类Zabbix监控项目开发与实战-2.项目功能需求讨论]
 +
 +
 +
高级篇:
 +
 +
      在深圳待了几年之后,已经对运维行业未来的前景也有了充分的认识,再加上随着多年的发展,西安的it行业也越来越好了,相应的运维岗位也越来越多,因此果断的回到了老家陕西。当时炒的比较火热的那就是python开发了,有着多年工作的我也灵敏的嗅觉到这个是以后的运维必不可少的一项技能,因此一心也扑向了python的编程海洋。当时学习python也是找不到北,不知道学了之后怎么应用到实战中去,这可能也是很多学习python朋友的苦恼的地方了,为了帮助这些朋友,我把我学习python的一些心得分享给大家。学习编程语言不能光看哦,一定要练,否则都是白搭,别给我说你找不到练习题,百度随便一搜一大把,根据找到的练习题,把之前的理论学习知识应用到练习题中去,这个就是你实战的第一步,把python的基础知识打牢之后。
 +
 +
        下来对于我们运维人员来说,那就是自己写一个web方面的运维平台了,这里就牵扯到了Django框架的学习了,当然其他的框架也是可以实现的,但是基于Django的强大功能,因此我选择了Django,这里我们重点要学习的就是Django models、Django jinja2模板、Django url、Django视图,像Django form等内容如果你有空的话可以看看,这个不是重点,html form也可以实现。这里比较难的就是Django models的ORM,一对一、一对多、多对多经常把新手搞的晕头转向的,我当时就是这种感受,这个时候我的建议是查看官方文档,然后结合实例自己写一些小的案例,然后把关系搞清楚,对数据库的增删改查先搞清楚,然后再把各个表的关联查询搞清楚,这个时候千万不要着急,因为这个时候也是最容易让新手打退堂鼓的时候了,我当时就有想放弃的想法,最后咬牙坚持住了,之后是云开雾散了,其他内容的学习我觉的就没有什么难度了。
 +
 +
      Django的各种知识打下基础之后,下来就是前端的学习了,对于我们运维人员来说也不需要太专业的前端知识,我们只需要学习下bootstrap、jquery、ajax、js就足以了,这里我们重点学习jquery和ajax,这个牵扯到我们后期要做前端和后端的数据交互。
  
 
=Celery 是一个专注于实时处理和任务调度的分布式任务队列=
 
=Celery 是一个专注于实时处理和任务调度的分布式任务队列=
 +
 +
== lower==
 +
Celery提供了一个工具flower,将各个任务的执行情况、各个worker的健康状态进行监控并以可视化的方式展现,
 +
  pip3 install flower;  celery flower --port=5566
 +
 +
https://flower.readthedocs.io/en/latest/install.html
 +
 
[https://www.jianshu.com/p/027538ffb8c1 celery]
 
[https://www.jianshu.com/p/027538ffb8c1 celery]
 +
 +
[https://blog.csdn.net/weixin_32102617/article/details/113378608  celery backend mysql_Celery 部署小记]
 +
 +
=devops 日常=
 +
 +
==日常shell==
 +
<pre>
 +
#!/bin/bash
 +
#打包他们要的文件
 +
for loop in  `ls -l | grep 2021093016245406371 | awk '{print $9}'`
 +
do
 +
#echo $loop
 +
cp  $loop  /home/evan/13/
 +
done
 +
 +
 +
 +
 +
 +
#!/bin/bash
 +
#日常清空一个目录太多日志文件
 +
for loop in `ls`
 +
do
 +
echo >$loop
 +
done
 +
 +
 +
 +
 +
#!/bin/bash
 +
#Usage  得放成shell script 执行 放在终端 可能有问题  自动添加用户了key
 +
function Adduser()
 +
{
 +
useradd devops
 +
mkdir /home/devops/.ssh/
 +
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3Xx74sxOVEZ6f2hpWK4RsL8QWaTUtUYFhXbmzkLzaPbgA02oWoV4lUalL59clVv7hQkfPa5JRTcYYfnl6yKjDY3N1yE08mI+zHfPJ1MneJFO8TOAE30q5FvrtfT8Cm7fvVqhGVmIqhIzMr0CiqF+QaqS09gnl/Jg6PNI3IDIr1TzKWNfMHfVRpwMrJEdvcU1OIk0MhLOTC7kqwSwp3ykt/Z6FAt0oQu5bs41GRamEBa58rZD5Y2yALLliGm4CTc7eehUpu8mWtXMvEreRPnYUEw3ipUwa6YSyh03UsTEA2FVTKdAX6QLCkvdxvIcgJqcmLpZfCAVuHqvzmSe2pHk0PDWtdXf4nC7edfoy3v97SxNkeOBlK+3/WRQA1fyMYt+mhtqdJ5FG0gRZQG5LKGVdzKBrLDivq/7idIw2qGq77atSTSsLXcar1NlIgNAjj+bnDRByefvcP3XzzsQFsTUt7nL0NMYnI3BNSbHT8rEVoR7EChglwsr7/15NrYeqDC8= root@puppetagent2
 +
' >> /home/devops/.ssh/authorized_keys
 +
 +
chown  devops.devops -R /home/devops/.ssh/  ; chmod -R 700 /home/devops/.ssh/
 +
chmod  600 /home/devops/.ssh/authorized_keys
 +
}
 +
 +
Adduser
 +
</pre>
 +
 +
 +
== [[Linux日志查看]]==
 +
[[Linux日志查看]]
 +
==Linux查看硬盘是否固态硬盘ssd==
 +
<pre>
 +
方法一:
 +
 +
打开terminal,运行如下命令,因为SSD是非转动盘,如果返回结果为0说明是SSD硬盘,如果返回结果为1,说明是转动盘HDD类的硬盘 注意vda 也可能是sda 其它类型
 +
  cat  /sys/block/vda/queue/rotational
 +
  1
 +
 +
方法二:
 +
 +
还可以运行下面命令,同样是根据SSD是非转动盘的属性来区分,返回结果为1,说明不是SSD
 +
lsblk -d -o name,rota
 +
NAME ROTA
 +
sr0    1
 +
vda    1
 +
vdb    1</pre>
 +
 +
=常用基础常识=
 +
 +
[https://blog.csdn.net/Wangtuo1115/article/details/105226959  HTTP请求方式中的8种请求方式]
 +
 +
=运维的主要工作内容=
 +
<pre>
 +
运维的主要工作内容。总之运维是一个涉及知识面比较广的工作,需要对各个方面都有所了解,但是要做好运维还是要抓重点对核心问题进行重点关注。下面给大家附上关于Linux学习的视频资料,需要的可以点击链接进行学习。
 +
 +
1.基础设施管理
 +
 +
基础设施位于整个系统的最底层,为上层应用提供基本的运行环境。涉及到IDC机房或数据中心的网络、服务器、存储等,不仅要做到对这些资产的管理,还要保证及时掌握设备的运行状态,保证设备安全稳定运行。
 +
 +
 +
2.环境管理
 +
 +
环境管理是指为开发提供各种应用环境,如开发环境、测试环境、生产环境等,保证一套代码能够在不同的环境下正常运行,避免因环境差异导致的各种应用问题,满足开发、测试、产品等不同团队的测试需求。
 +
 +
3.部署及交付
 +
 +
系统上线需要服务器上架、环境初始化、系统部署及版本更新,因为我们需要一套自动化的流程快速完成以上工作。
 +
 +
4.系统监控
 +
 +
系统监控可以帮助我们及时了解生产环境的各业务、应用、业务的运行状态,能够及时对告警进行响应,保证系统的无故障运行。
 +
 +
5.告警管理
 +
 +
随着业务系统的不断增多,监控系统也会慢慢变得庞大,此时如果做不好告警管理,一旦出问题可能会导致告警泛滥,将会使运维错过最重要的告警信息,因此运维需要做好告警层面的管理。
 +
 +
6.性能优化
 +
 +
性能优化是一个长期的过程,通过对运行数据的了解,我们需要对不同的业务节点进行优化,以满足业务需求。
 +
</pre>
 +
 +
=jumpserver=
 +
[https://blog.51cto.com/u_11101184/3137009 「Jumpserver」- 通过 SSH 连接 Jumpserver 资产]
 +
=少见的东东=
 +
==ndisasm==
 +
 +
NASM(The Netwide Assembler),是一款基于80x86和x86-64平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。
 +
 +
NASM支持大量的文件格式,包括Linux,*BSD,a.out,ELF,COFF,Mach−O,Microsoft 16−bit OBJ,Win32以及Win64,同时也支持简单的二进制文件生成。它的语法被设计的简单易懂,相较Intel的语法更为简单,支持目前已知的所有x86架构之上的扩展语法,同时也拥有对宏命令的良好支持
 +
 +
[https://www.cnblogs.com/yangwindsor/p/3338620.html  ndisasm常用方法 ]
 +
 +
[http://www.daileinote.com/computer/linux_cmd/68 linux汇编nasm、反汇编ndisasm]
  
 
=see also=
 
=see also=
第142行: 第373行:
  
 
[https://www.zhihu.com/question/265824391 从零开始到开发出Python自动化运维平台需要多久?]
 
[https://www.zhihu.com/question/265824391 从零开始到开发出Python自动化运维平台需要多久?]
 +
 +
 +
[https://blog.csdn.net/TSZ0000/article/details/90023520  Linux查看硬盘是SSD还是HDD]
 
[[category:ops]] [[category:devops]]
 
[[category:ops]] [[category:devops]]

2024年9月15日 (日) 15:59的最新版本

what ?

我也是运维转运维开发的。首先,只会Python是不够的。做运维开发,基本上都得自己写前端……所以你还要会HTML,CSS,JavaScript。还要熟悉一Python个Web框架,Django,Flask,Tornado任选一个, 这是基础。然后自己做项目,不要写小脚本,没什么用,自己做个发布系统,做CMDB,做个简单的监控(数据采集,存储,展示,告警这些基本的要有)。这个期间你不仅有了项目经验,对Python理解也会更。然后你就去面试吧,面试如果不行,哪里不会补哪里。先做起来,不要等,既然是运维,基础技术肯定不怂,比起那些什么都不会也能转开发的同学的优势不是大很多吗?不要怂,就是干!这个时间大概需要多久呢?我也不知道,看个人情况,我用了一个月就转了。但是我之前花了很多时间去纠结!简直浪费生命!所以还是要行动起来。至于面试,一般问项目,问计算机基础,问算法这些。


首先你需要具备运维开发的能力,这个可以通过平时的学习获得。需要学习哪些知识呢?1 前端 HTML 常用的标签CSS 基本的样式,比如会该个字体大小 ,背景颜色啥的Javascript 这个是重点,必须掌握,特别是 Ajax 。 当然你也别怕,你都会 Python 了,学这个就是易如反掌的事情,相信我,因为我就是这么干的。其实这些,都不难,因为我们运维开发不需要都把前端的搞定,前端我们都是使用网上开源的框架,我们只需要会修改框架里的部分代码就行。这是我总结的必会的前端知识,还在持续更新中,感兴趣你看看。西瓜甜:1 | 运维开发人员必会 HTML 常用标签​

运维怎么才能面试上运维开发的工作?

1 | 运维开发人员必会 HTML 常用标签

运维工程师和运维开发工程师有啥区别

对运维开发工作的一些思考

DevOps 日常:别人家的运维这样过

「DevOps」闲聊我心中的运维开发

给 DevOps 初学者的入门指南

interview

python shell 交互

1.os.system(cmd) >>> os.system('w')

23:30:58 up  7:00,  2 users,  load average: 1.30, 1.81, 2.22

USER TTY 来自 LOGIN@ IDLE JCPU PCPU WHAT evan tty7 :0 16:36 7:01m 30:18 21.83s awesome evan pts/1 - 23:23 2.00s 0.14s 0.03s sudo -i 0 >>> 2.os.popen(cmd)

3.利用subprocess模块

4.subprocessor模块进阶

常见在线教程

https://www.w3cschool.cn/tutorial

安全

Linux安全

前端

https://bootstrap-vue.org/

code.z01.com bootstrap-vue

Vue-Vben-Admin不死在用的

vue

Vue新手向:14篇教程带你从零撸一个Todo应用

新手向:Vue 2.0 的建议学习顺序

Vue开发入门看这篇文章就够了


Vue.js 教程vue2 vue-tutorial.html


Vue2.0 新手入门 — 从环境搭建到发布

你要的 React 面试知识点,都在这了

SQL

sql-tutorial

更新发布

实现一套灰度发布系统需要考虑哪些问题

cmdb

cmdb

django-vue-admin 使用django+vue进行极速开发的全栈管理系统

gin-vue-admin 使用gin+vue进行极速开发的全栈后台管理系统

Python---Django项目实战:CMDB资产扫描和DevOPS自动化运维

python

分类 - python 并发编程

Python学习进程

Python – 100天从新手到大师

python文件开头声明UTF-8编码的几种常用形式

常用的形式有以下几种,放在码文件的第一行或第二行

1.# -*- coding: <encoding name> -*- : # -*- coding: utf-8 -*-
2. # coding=<encoding name> : # coding=utf-8
3. # coding:<encoding name> : # coding: utf-8
注意:coding不可省略,如 # utf-8 起不到声明编码的作用!

是coding:utf-8还是coding=utf-8呢

devops python3

看到 while True: 死循环 while大量练习: 2020年 10月 28日


Python自动化运维之1、Python入门

python自动化运维开发


python实现自动化运维项目_Python自动化运维项目开发最佳实战

Python学习笔记


运维岗真有人用Python脚本运维吗?

你用 Python 写过哪些有趣的脚本?

django

当前标签:Django开发

Django开发常用30个软件包


Django实战2-自动化运维之配置管理-03:创建配置管理APP

monitor

要监控的东西

Monitoring Jenkins

zabbix

 zabbix server的图像展示接口 原创 
zabbix server的图像展示接口:

     graph:host,template

     map:图像显示

     screen:把多个graph整合于同一个屏幕进行展示;

     slide show:把多个screen以slide show的方式进行展示;

https://blog.51cto.com/afterdawn/1924150


zabbix API入门使用及二次开发

如何通过python获取zabbix中的graph报表,Python 实现Zabbix自动发送报表

prometheus

Prometheus学习系列(八)之Prometheus API说明

Prometheus:在 HTTP API 中使用 PromQL

shell

常用脚本


cat warp 
#清空日志常用 ls 最后放个目录  不要搞错了 
for loo in `ls . `
do
echo >$loo
#echo " warp$loo"
done


生产上运维脚本和语言的学习(shell、Python)

带宽常识

什么叫入网带宽

也叫下行带宽,是收费的。方向是从ECS实例流出去的公网带宽流量.例如,最常见的方法是提供从云服务器ECS到外部世界的网络访问,并使用ftp从云服务器下载文件。云服务器在网络之外的带宽就是我们真正购买的带宽。例如,如果您购买了一台服务器,页面上显示1个2g1m,则网络带宽为1m。


用户的云服务器公网带宽就是出网带宽(下行),入网带宽(上行)是免费的,详情如下:


阿里云1Mbps服务器实际下载速度阿里云服务器1Mbps带宽实际下载速度峰值为128KB/S,1M带宽为什么不是1M/S,当然不是,无论是阿里云还是腾讯云或者其他云厂商,云服务器1M带宽实际下载速度都是128KB/S。云服务器N兆带宽下载速度峰值计算公式:128KB/S * N,2M就用128KB/S乘以2,5M乘以5,10M乘以10...以此类

云服务器1M带宽支撑最大并发连接数云服务器1M带宽支持最大连接数与用户的应用有关,云服务器吧以Web网站应用为例,1M带宽下载速度是128KB/S,假设网页优化后的大小为30KB,大概可以支撑4个用户并发在1秒内打开网页(128/30约等于4个),什么?服务器1M带宽才能支撑4个并发数?这种算法有些极端,对于一般流量的网站而言,4个用户在同一秒钟同时打开网页的的概率较小。当然本文说的就是并发,1秒钟支持4个并发,一般来讲,3秒内打开网页的速度都是可以接受的,稍微降低下用户体验,将打开时间延长为3秒,则1M带宽可支撑12个并发。什么?3秒12人?一天86400秒,1M带宽可以正常34万人访问?当然不可能,用户不可能分配的那么均匀,一般都集中在上午9点到11点,下午3点到5点,晚上8点到10点之间。一个网站如果日IP达到30万,那需要多台ECS实例搭配SLB。我们将网站图片、视频等媒体内容存储到更廉价的OSS上,然后将网站接入CDN,我有个网站,使用的是就是1M云服务器带宽,日均2000IP是完全支撑的(网站接入了CDN),通过阿里云控制台的云监控查看,公网流出平均30Kbps,如下图所示:


阿里云服务器的出网宽带和入网宽带是怎么回事?

books

前端css


    Py - 基础(21)
    Py - 开发 - Ansible(3)
    Py - 开发 - Docker(8)
    Py - 开发 - FLask(10)
    Py - 开发 - Kubernetes(3)
    Py - 开发工具(2)
    前端 - Vue(29)
    前端 - 基础 - Bootstrap(5)
    前端 - 基础 - CSS(1)
    前端 - 基础 - Jquery(13)
    运维 - Prometheus(1)
    运维 - 基础(5)

https://www.cnblogs.com/cherylgi/


https://item.jd.com/67473491198.html

https://item.jd.com/35208147985.html

https://item.jd.com/29039577754.html

python运维和开发实战-高级篇

10、Python 实战-从菜鸟到大牛的进阶之路

进阶

Python自动化开发-类Zabbix监控项目开发与实战-2.项目功能需求讨论


高级篇:

     在深圳待了几年之后,已经对运维行业未来的前景也有了充分的认识,再加上随着多年的发展,西安的it行业也越来越好了,相应的运维岗位也越来越多,因此果断的回到了老家陕西。当时炒的比较火热的那就是python开发了,有着多年工作的我也灵敏的嗅觉到这个是以后的运维必不可少的一项技能,因此一心也扑向了python的编程海洋。当时学习python也是找不到北,不知道学了之后怎么应用到实战中去,这可能也是很多学习python朋友的苦恼的地方了,为了帮助这些朋友,我把我学习python的一些心得分享给大家。学习编程语言不能光看哦,一定要练,否则都是白搭,别给我说你找不到练习题,百度随便一搜一大把,根据找到的练习题,把之前的理论学习知识应用到练习题中去,这个就是你实战的第一步,把python的基础知识打牢之后。
       下来对于我们运维人员来说,那就是自己写一个web方面的运维平台了,这里就牵扯到了Django框架的学习了,当然其他的框架也是可以实现的,但是基于Django的强大功能,因此我选择了Django,这里我们重点要学习的就是Django models、Django jinja2模板、Django url、Django视图,像Django form等内容如果你有空的话可以看看,这个不是重点,html form也可以实现。这里比较难的就是Django models的ORM,一对一、一对多、多对多经常把新手搞的晕头转向的,我当时就是这种感受,这个时候我的建议是查看官方文档,然后结合实例自己写一些小的案例,然后把关系搞清楚,对数据库的增删改查先搞清楚,然后再把各个表的关联查询搞清楚,这个时候千万不要着急,因为这个时候也是最容易让新手打退堂鼓的时候了,我当时就有想放弃的想法,最后咬牙坚持住了,之后是云开雾散了,其他内容的学习我觉的就没有什么难度了。
     Django的各种知识打下基础之后,下来就是前端的学习了,对于我们运维人员来说也不需要太专业的前端知识,我们只需要学习下bootstrap、jquery、ajax、js就足以了,这里我们重点学习jquery和ajax,这个牵扯到我们后期要做前端和后端的数据交互。

Celery 是一个专注于实时处理和任务调度的分布式任务队列

lower

Celery提供了一个工具flower,将各个任务的执行情况、各个worker的健康状态进行监控并以可视化的方式展现,

 pip3 install flower;  celery flower --port=5566

https://flower.readthedocs.io/en/latest/install.html

celery

celery backend mysql_Celery 部署小记

devops 日常

日常shell

#!/bin/bash
#打包他们要的文件
for loop in  `ls -l | grep 2021093016245406371 | awk '{print $9}'`
do 
#echo $loop 
cp  $loop  /home/evan/13/
done 





#!/bin/bash
#日常清空一个目录太多日志文件
for loop in `ls`
do
echo >$loop
done




#!/bin/bash
#Usage  得放成shell script 执行 放在终端 可能有问题  自动添加用户了key
function Adduser()
{
useradd devops 
mkdir	/home/devops/.ssh/
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3Xx74sxOVEZ6f2hpWK4RsL8QWaTUtUYFhXbmzkLzaPbgA02oWoV4lUalL59clVv7hQkfPa5JRTcYYfnl6yKjDY3N1yE08mI+zHfPJ1MneJFO8TOAE30q5FvrtfT8Cm7fvVqhGVmIqhIzMr0CiqF+QaqS09gnl/Jg6PNI3IDIr1TzKWNfMHfVRpwMrJEdvcU1OIk0MhLOTC7kqwSwp3ykt/Z6FAt0oQu5bs41GRamEBa58rZD5Y2yALLliGm4CTc7eehUpu8mWtXMvEreRPnYUEw3ipUwa6YSyh03UsTEA2FVTKdAX6QLCkvdxvIcgJqcmLpZfCAVuHqvzmSe2pHk0PDWtdXf4nC7edfoy3v97SxNkeOBlK+3/WRQA1fyMYt+mhtqdJ5FG0gRZQG5LKGVdzKBrLDivq/7idIw2qGq77atSTSsLXcar1NlIgNAjj+bnDRByefvcP3XzzsQFsTUt7nL0NMYnI3BNSbHT8rEVoR7EChglwsr7/15NrYeqDC8= root@puppetagent2
' >> /home/devops/.ssh/authorized_keys

chown  devops.devops -R /home/devops/.ssh/  ; chmod -R 700 /home/devops/.ssh/
chmod  600 /home/devops/.ssh/authorized_keys
}

Adduser


Linux日志查看

Linux日志查看

Linux查看硬盘是否固态硬盘ssd

方法一:

打开terminal,运行如下命令,因为SSD是非转动盘,如果返回结果为0说明是SSD硬盘,如果返回结果为1,说明是转动盘HDD类的硬盘 注意vda 也可能是sda 其它类型
  cat   /sys/block/vda/queue/rotational 
   1

方法二:

 还可以运行下面命令,同样是根据SSD是非转动盘的属性来区分,返回结果为1,说明不是SSD
 lsblk -d -o name,rota
NAME ROTA
sr0     1
vda     1
vdb     1

常用基础常识

HTTP请求方式中的8种请求方式

运维的主要工作内容

运维的主要工作内容。总之运维是一个涉及知识面比较广的工作,需要对各个方面都有所了解,但是要做好运维还是要抓重点对核心问题进行重点关注。下面给大家附上关于Linux学习的视频资料,需要的可以点击链接进行学习。

1.基础设施管理

基础设施位于整个系统的最底层,为上层应用提供基本的运行环境。涉及到IDC机房或数据中心的网络、服务器、存储等,不仅要做到对这些资产的管理,还要保证及时掌握设备的运行状态,保证设备安全稳定运行。


2.环境管理

环境管理是指为开发提供各种应用环境,如开发环境、测试环境、生产环境等,保证一套代码能够在不同的环境下正常运行,避免因环境差异导致的各种应用问题,满足开发、测试、产品等不同团队的测试需求。

3.部署及交付

系统上线需要服务器上架、环境初始化、系统部署及版本更新,因为我们需要一套自动化的流程快速完成以上工作。

4.系统监控

系统监控可以帮助我们及时了解生产环境的各业务、应用、业务的运行状态,能够及时对告警进行响应,保证系统的无故障运行。

5.告警管理

随着业务系统的不断增多,监控系统也会慢慢变得庞大,此时如果做不好告警管理,一旦出问题可能会导致告警泛滥,将会使运维错过最重要的告警信息,因此运维需要做好告警层面的管理。

6.性能优化

性能优化是一个长期的过程,通过对运行数据的了解,我们需要对不同的业务节点进行优化,以满足业务需求。

jumpserver

「Jumpserver」- 通过 SSH 连接 Jumpserver 资产

少见的东东

ndisasm

NASM(The Netwide Assembler),是一款基于80x86和x86-64平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。

NASM支持大量的文件格式,包括Linux,*BSD,a.out,ELF,COFF,Mach−O,Microsoft 16−bit OBJ,Win32以及Win64,同时也支持简单的二进制文件生成。它的语法被设计的简单易懂,相较Intel的语法更为简单,支持目前已知的所有x86架构之上的扩展语法,同时也拥有对宏命令的良好支持

ndisasm常用方法

linux汇编nasm、反汇编ndisasm

see also

https://en.wikipedia.org/wiki/DevOps


从零开始到开发出Python自动化运维平台需要多久?


Linux查看硬盘是SSD还是HDD