Python运维相关模块汇总

系统性能信息模块psutil

psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。

发送电子邮件模块smtplib

Python的smtplib模块来实现邮件的发送功能,模拟[……]

继续阅读

网络摄像头带宽估算

像素

一个像素占多大内存 多少字节取决于需要存储一个像素的多少信息,以及是否采用了压缩技术。
如果是非黑即白的二值图像,不压缩的情况下一个像素只需要1个bit。
如果是256种状态的灰度图像,不压缩的情况下一个像素需要8bit(1字节,256种状态)。
如果用256种状态标识屏幕上某种颜色的灰度,而屏幕采用三基色红绿蓝(RGB),不压缩的情况下一个像素需要占用24bit(3字节),这个就是常说的24位真彩色。

分辨率

720P:分辨率1280*720
1080P:分辨率1920*1080
2K:分辨率2048*1080
4K:分辨率4096*2160

其中P表示视频像素总行数,例如7[……]

继续阅读

TCP四层代理透传客户端真实IP

缘起

最近公司准备自建邮箱,大概十年前折腾过自建邮箱的事情,感觉坑很多,这次体会了下确实很多,特别是现在管局对邮箱端口管控越来越严格的情况下,很多之前能行得通的方案需要修改下。
由于SMTP、POP3、IMAP等协议需要做四层代理且还需要能穿透客户端真实IP,硬件网络层代理软件又不能使用的情况下只能考虑软代理,下面是记录的两种解决方案。

方案

Nginx解决方案

1.注意nginx编译时需要加上stream模块及stream_realip_module模块;一个用来四层负载,一个用来获取客户端真实IP
2.开启透传功能proxy_protocol on,用于将连接信息从请求连接的源传递[……]

继续阅读

Docker关键知识点儿汇总

容器

容器=cgroup+namespace+rootfs+容器引擎(用户态工具)

  • Cgroup:资源控制。
  • Namespace:访问隔离。
  • rootfs:文件系统隔离。
  • 容器引擎:生命周期控制。

容器两个核心技术

NameSpace
Namespace又称为命名空间(也可翻译为名字空间),它是将内核的全局资源做封装,使得每个Namespace都有一份独立的资源,因此不同的进程在各自的Namespace内对同一种资源的使用不会互相干扰。

  • IPC:隔离System V IPC和POSIX消息队列。
  • Network:隔离网络资源。
  • Mount:隔离文件系统挂载点。
  • PID:隔离进程[……]

    继续阅读

SRE方法论

参考SRE:Google运维解密

贝特西 拜尔著 孙宇聪译

SRE职责
一般来说,SRE团队要承担以下几类职责:可用性改进,延迟优化,性能优化,效率优化,变更管理,监控,紧急事务处理以及容量规划与管理。

运维工作50%内
SRE团队的运维工作限制在50%以内,SRE团队应该将剩余时间花在研发项目上。

On-call 准则
SRE在每8~12小时的on-call 轮值期间最多只处理两个紧急事件。这个准则保证了on-call工程师有足够的时间跟进紧急事件,这样SRE可以正确地处理故障、恢复服务,并且要撰写一份事后报告。

事后总结
事后总结应该包括以下内容:事故发生、发现、解决的全过程,[……]

继续阅读