(需要手动安装
让yaml模块与python对象之间进行格式装换,和json类似
常用方法
1.yaml.load解析yaml格式为python对象
yaml.safe_load安全解析
2.yaml.dump将python对象序列化为yaml格式字符串
yaml.safe_dump安全序列化
3.yaml.load_all解析多个yaml文档
4.yaml.dump_add将多个python对象序列化
提取k8s的yaml文件参数
123456789101112131415161718192021222324252627282930313233343536373839404142434...
json格式大体是一个字典的格式,而众所周知字典是什么类型的数据都可以嵌套进去的
方法介绍:
1.json.dump()将python对象转换为json格式写入文件
json.dumps()将python对象转换为json格式输出
2.json.load文件中读取json数据,转换为python对象
json.loads将json数据转换为python对象
读取与重新写入配置文件
12345678910111213141516171819202122{ "service_name": "MyApp", "versio...
fabric是一个更方便的使用ssh的模块,他集成了很多paramiko模块的内容
安装fabric库
pip3 install fabric
参数说明
command——要执行的命令 字符串hide ——True,隐藏输出,相当于安静模式warn ——True,非0输出也不会报错,使用非关键操作检查pty—— True,使用伪终端执行命令
Connection模块执行远程命令
12345678910111213141516#coding=utf-8from fabric import Connectionhost='192.168.10.102'user=(...
需要额外安装
pip3 install paramiko
SSH远程机器
123456789101112131415161718#coding=utf-8import paramiko# 用SSHClient类实例化一个对象ssh=paramiko.SSHClient()# 配置ssh对象,自动填入ssh密钥,不安全ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 创建ssh连接ssh.connect(hostname='192.168.10.102',username='root'...
logging模块常规使用(配置默认日志记录器)
12345678910111213#coding=utf-8import logging# 配置默认日志记录器:设置开启的日志级别logging.basicConfig(level=logging.DEBUG, format='%(asctime)s-%(levelname)s-%(message)s', datefmt='%Y-%m-%d-%H:%M:%S')# 记录日志,调用logging日志记录器logging.deb...
自带的方法能够用来方便的对操作系统硬件状态进行监控
获取当前进程pid和名称
1234#coding=utf-8import psutilfor proc in psutil.process_iter(['pid','name']): print(f"PID:{proc.info['pid']}, Name:{proc.info['name']}")
获取操作系统各个分区磁盘使用情况
12345678910111213141516171819...
可以直接将命令传入系统命令
run模块——执行系统命令
123456789101112131415161718192021222324252627282930#coding=utf-8import subprocess# 使用列表存放传入的命令# capture_output——捕获输出信息# text——编码显示result=subprocess.run(['ls','-l'],capture_output=True,text=True)# stdout——标准输出print(result.stdout)# returncode返回码result...
Mysql主从延时的原因1.网络延时2.主从服务器负载过高3.数据库配置不合理,如缓冲区设置过小4.数据量过大
Mysql主从延时解决方案1.优化SQL语句与事务,选择合适索引2.读写分离3.参数优化,如并行复制(主从性能优化),调整buffer大小4.硬件升级
从库多线程优化参数1234567891011开启GTID开启binlog模式为row模式gtid_node=ONenforce_gtid_consistency=ONlog_slave_updates=ONslave-parallel-type=LOGICAL_CLOCKslave-parallel-workers=16 # 并...
现象
例行巡检时,发现9-11点CPU压力高
查看发现大量CPU用于SYS和WAIT,us正常怀疑是MySQL锁或SQL语句出问题
死锁两个进程同时调用同一行数据,进入互相阻塞的状态
产生死锁时,由于事务的特性,当事务其中一句SQL执行错误时,数据库会反复执行同一段事务的SQL语句,造成大量CPU占用
锁监控命令
123456show status like 'innodb_rows_lock%'select * from infomation_schema.innodb_trx;select * from sys.innodb_lock_waits;select *...
查看是否有锁表
123SHOW STATUS LIKE 'innodb_row_lock%'Innodb_row_lock_current_waits 当前锁等待数量Innodb_row_lock_waits 发生过多少锁
锁表的可能原因1.硬件性能太低——升级硬件2.处理效率太低,产生阻塞——Mysql性能参数优化3.SQL语句问题——查询锁源并提交开发
查询锁源
1234567891011121314151617181920212223242526SELECT locked_table, //产生锁等待的表locked_index, //锁的索引locked_t...