jbd2导致系统IO使用率高问题 收到IO占用高告警系统信息:Linux version 2.6.32-696.18.7.1.el6.ucloud.x86_64 (root@59c188f3c79d)(gcc version 4.4.6 20120305(Red Hat 4.4.6-5) (GCC) ) #1 SMP Fri Jan 5 16:48:58 CST 20181、到机器上看到io使用率忽高,同时iow...
k8s基础概念和常用操作 1、基本概念搞清楚master, node, pod,controller(deployoment,ReplicaSet,DaemonSet,StatefulSet,Job),service概念,在此基础上先学会通过kubernetes命令行客户端 kubectl管理应用。(1)get#login master node,list nodes in cluster$ kubect...
DNS解析 1、DNS解析$ nslookup www.baidu.comServer: 172.17.1.235Address: 172.17.1.235#53 #port 53, local DNS172.17.1.235Non-authoritative answer:www.baidu.com canonical name = www.a.shifen.com...
linux内核学习 最近加入了公司内部linux内核兴趣小组,决定单独开启一篇博客记录成长。以下是倪朋飞老师性能优化课程推荐的几本书,决定最近开始新一轮研读。计算机体系结构书籍:《深入理解计算机系统》Linux 编程书籍:《Linux 程序设计》和《UNIX 环境高级编程》Linux 内核书籍:《深入 Linux 内核架构》性能优化书籍:《性能之巅:洞悉系统、企业与云计算》...
kafka分区,副本,倾斜及日常操作 Topic Summary:Replication 3Number of Partitions 15Sum of partition offsets 0Total number of Brokers 13Number of Brokers for Topic 10Preferred Replicas % 100Brokers Skewe...
nginx http超时重试幂等问题 nginx做反向代理时,作为负载均衡器,对执行失败的任务默认会调度到其他节点执行。默认设置:proxy_next_upstream error timeout #发生网络错误以及超时,才会在其他服务器重试$ proxy_next_upstream error timeout http_500 #500时重试$ proxy_next_upstream error timeout http...
ls -lh文件大小比du -sh大 ls -lh文件大小比du -sh小的情况参考https://blog.csdn.net/wangtingting_100/article/details/80913868du显示的是文件占block大小,通常1byte的文件,du大小是4bytes,这个是可以理解的,可偏偏ls -lh的结果比du -sh的要大。ls显示的是文件的逻辑大小,du显示的是磁盘占用情况,逻辑占用大于磁盘本身...
ETCD ETCD是一个分布式,一致的kew-value存储,主要用于共享配置和服务发现。通过Raft一致性算法管理日志复制,保证强一致性。Reference:https://raft.github.io/ http://thesecretlivesofdata.com/raft/...
python之连接Mysql实现增删改查 Python2.7使用MySQLdb接口连接Mysql,Python3改用了pymysql通用方法是:import pymysql#连接数据库database = pymysql.connect(host="XXXXXXXXXX.mysql.rds.aliyuncs.com",user="xxxxxx_rw",passwd="xxxxxxxxxx",...
go macos环境配置(超级简单) 之前老听同事讲要学go(压根没有在意),直到知道很多开源项目(docker,etcd,kubernetes)都是go的实现。1、$ brew install go #默认源安装2、$ go version #查看版本go version go1.12.1 darwin/amd643、$ vim .bash_profile #修改环境变量export GOPATH=/Users...
nginx防御DDos攻击 DDos攻击通过向目标网站发送大量的数据包,从而耗尽目标网站资源,导致不能响应正常的业务请求而达到攻击目的。通过分析请求来源,如果发现这些ip或者UA大多来源同一个或同一个网段的ip,可以通过修改nginx配置规则进行拦截。场景:某个地址遭受来自海外的攻击目标:禁止http://xxx.xxx.com/location/homepage/?tag=xxxx 海外访问1、#登陆海外接...
kafka笔记 1、kafka基本概念kafka是一个支持离线和在线的、分布式、可分区、可复制消息队列。producer1,producer2-----(topic)----->kafka cluster-----(topic)----->consumer1,consumer2client与server通过TCP协议通信2、producerproducer通过topic将消息发送...
Python面向对象基础 1. classclass Person: '人的基类' perCount=0 def __init__(self, name, gender, age): self.name=name self.gender=gender self.age=age Person.perCount +=1 ...
Python基础笔记 #Python特性,强类型(即强制要求变量类型),dynamic,capital sensitive,隐士类型(不需要声明)and objective.#compile with python3common libs# -*- coding: utf-8 -*-import osimport sysimport urllibimport jsonimport reimpo...
cenos 更新yum源为aliyun源 1、#查看已有源$ ls -a /etc/yum.repos.d/. .. CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo epel.repo yz.repo2、#备份已有的源$mv /etc/yum.repos.d ...
Mac上安装mysql 1、$brew install mysql #源安装2、$ brew services listxcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcru...
dubbo service telnet command 1、$ telnet 10.10.10.10 20881 #10.10.10.10 dubbo service provider's ipor $ telnet localhost 20881Trying 10.10.10.10...Connected to 10.10.10.10.Escape character is '^]'.2、press ENTER3、ls servic...
buffer 与cache 的理解 buffer 与cache :通过 $ man freeBuffers Memory used by kernel buffers (Buffers in /proc/meminfo)cache Memory used by the page cache and slabs (Cached and SReclaimable in /proc/meminfo)buff/cache ...
linux平均负载与CPU使用率关系 想要知道怎么排查,先看哪些因素会影响到平均负载,然后逐一排查。平均负载的定义:处于运行状态和不可中断状态的平均进程数,也就是平均活跃进程数。1、判断平均负载合理性(1)系统负载和CPU总数(逻辑总数)的关系,过载情况:load average > CPU 总数(2)查看系统平均负载$ toptop - 21:52:21 up 386 days, 4:10, 1 u...
php应用CPU使用率100%解决思路 java程序出现问题可以利用的工具很多,最近遇到php进程100%情况,排查了半天,咩有找到好的工具。最后从极客时间上倪朋飞老师课程中寻到了解决办法。(1)查看系统cpu使用率$ top #查看系统的cpu,内存使用情况$ ps #查看进程的cpu 使用情况查看某一个进程的cpu使用情况,使用pidstat$ pidstat 1 3 #每隔1s输出一组数据,总计输出3组 ...
超时时间connectTimeout,socketTimeout,proxy_read_timeout,proxy_connect_timeout笔记 1、一般的的情况客户端(connectTimeout,socketTimeout) -- 七层接入proxy (connect timeout, read timeout, keepalive timeout, send timeout)-- nginx (proxy_read_timeout,proxy_connect_timeout)-- 后端服务器connectTimeout:建连时...
shell整型变量使用 $ cat sum.shsum=0for i in $(cat c.txt)do echo $i sum=$((i+sum)) #需要注意,如果事先声明变量是整型数,就不必使用$((…))或者let;doneecho $sum
公有云vm批量回收 目标:已知应用名,释放公有云上VM服务器(三思后操作)。1、通过应用名,在console机上找到应用对应环境的hostname$ for i in $(cat app_list); #app_list是关于要回收应用列表do evacli -a $i -l |grep "daily"|grep -v "prj" > host_list;done#拿到带有daily,且无prj...
tcpdump 抓包 场景1:在机器下线之前,经常要统计下流转到该台机器的流量,从而知道哪些依赖于这个应用。$ sudo tcpdump -vv -i any dst port 9000 and dst host 10.10.10.10/localhost #抓取目标机为10.10.10.10/本机,目标端口为9000的流量场景2:抓包查看应用服务器到nsq服务器端口4444,topic为 to...
pssh批量操作服务器(查找/删除/写入) 目标:批量查找以下hosts上goods-service.log文件中包含xxxxx的文本,前提是所在的机器到hosts列表中机器ssh是通的。1、#yum源安装即可$ sudo yum install pssh 2、$ pssh --helpUsage: pssh [OPTIONS] command [...]Options: --version ...
linux参数传递之xargs 1、#查看近10个未被修改过的文件$ ls -lt |tail -10 drwxr-xr-x 4 root root 4096 Oct 23 05:36 a-qadrwxr-xr-x 4 root root 4096 Oct 23 05:34 b-qadrwxr-xr-x 4 root root 4096 Oct 23 05:33 c-qadrwxr-xr-x 4 root roo...
linux参数传递之xargs 1、#查看近10个未被修改过的文件$ ls -lt |tail -10 drwxr-xr-x 4 root root 4096 Oct 23 05:36 a-qadrwxr-xr-x 4 root root 4096 Oct 23 05:34 b-qadrwxr-xr-x 4 root root 4096 Oct 23 05:33 c-qadrwxr-xr-x 4 root roo...
dmesg 段错误 放了一个定时任务,定时执行dmesg -c$ cd /etc/cron.d$ cat dmesg_clean*/1 * * * * root dmesg -c &> /dev/null$ sudo ls /var/log/messages* -alk-rw------- 1 root root 566 Aug 21 11:37 /var/log/message...
arthas在线诊断JVM工具 一、镜像安装:1、切换到进程运行所在的用户$sudo su sc #sc为java进程运行的用户2、安装$curl -L https://alibaba.github.io/arthas/install.sh | sh #前提是你的机器到alibaba镜像未做隔离3、从shell进入到arthas$./as.sh选择进程编号,比如14、查看$ thread -n...
nginx性能调优之proxy_read_timeout proxy模块的proxy_read_timeoutsyntax: proxy_read_timeout the_timedefault: proxy_read_timeout 60context: http, server, locationThis directive sets the read timeout for the response of the proxied se...
linux内存泄漏与OOM问题排查 1、诊断存在泄露#观察内存总体使用情况,发现内存free在减少$ vmstat 5procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free buff cache si so bi bo in cs us sy ...
tsar之查看收集应用nginx信息 安装: wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate unzip ./tsar.zip cd tsar-master/ make&& make install如果不用tsar,还可以用sar,perf 等...
nginx反向代理配置 nginx常用的就是反向代理了,下面配置请求到agreement_route.sc-inc.com,后端服务器为10.10.10.10 和10.10.10.11的反向代理。 upstream agreement_route_service { server 10.10.10.10:9080; #9080为机器上该服务所起的端口号,tomcat默认8080。 ...
ansible初始化机器 首先登录到ansible所在机器,到ecs_init.yml初始化脚本所在的目录。cd /home/scops/ansible-playbooks/sc1、首先先进行环境设置. ~/.virtualenvs/ansible/bin/activate2、viminventories/ecs_init/hosts文件,写入需要初始化机器的信息[ecs_inithost]#10.10...
linux磁盘使用率超过90%时清理应用log #!/bin/bash#cleaning top two max applications' log reguarly when disk's usage exceeds 90%maxUsed=$(df -h|awk 'NR==8 {print $5}'|sed 's/%$//')std=90if [ "$maxUsed" -gt "$std" ];thenecho > /home...
rundeck添加后端节点 背景:机器websql拥有所有RDS白名单,rundeck需要访问RDS,rundeck无RDS访问白名单解决方案:现在rundeck上配置不同节点,在websql上做端口映射1、#rundeck机器配置节点#cd /home/sc/rundeck/projects/database_select/etc #database_select为rundeck上你的工程# vim res...
http状态码502与504区别 502 bad gateway 顾名思义 网关错误 后端服务器tomcat没有起来,应用服务的问题(前提是接入层7层正常的情况下)。应用服务问题一种是应用本身问题;另一种是因为依赖服务问题比如依赖服务RT高,依赖的服务有大的读取(mysql慢查,http等),以至于调用方超过超时read时间;服务集群压力大时,也会出现502超时(502理解为不可响应或响应不过来,其实还是不可响应)。504...
rundeck用户权限管理 (1) 用户管理$ vim $RDECK_BASE/server/config/realm.properties# The format is# <username>: <password>[,<rolename> ...]admin:admin,user,admin #用户名为admin,密码为admin,权限为普通用户user和管理员用户admin的配置...
清理磁盘日志后发现并未正常释放 1、查看磁盘占用情况$ df -h2、查看占用的目录结构$ du -sh *发现文件目录占用并不是很多,可磁盘依旧100%,怀疑可能未能正常释放。3、查看未正常删除的文件$ lsof | grep deleted$ sudo apt-get install lsof #lsof不存在就安装下好了$ lsof | grep deleted #再看下呢j...
数据访问问题 背景与原因:最近两次线上故障,是因为数据风控部门拉取交易数据库数据时,大批量查询导致正常的业务访问数据库异常,链路监控上爆出各种超时。解决方案: 针对只读账号拉取数据情况,只提供独立的只读库的地址,取消读写库jdbc访问。或,取消开账户,仅仅提供从hive中获取数据;对于对数据实时性要求比较高的情况,建议以binlog方式canal获取数据。严格把控,不然出问题就是你的锅!...
添加证书 背景:我们的证书是添加在前端的SLB上的,例如,预发对应预发SLB。需求:要为某个预发应用域名添加证书,以支持https访问。1、测试环境添加证书proxy.dasc.com$ cd /home/sc/bin/letsencrypt$ ./letsencrypt.sh letsencrypt.conf$ ./update-pem.sh domainname /home/sou...
Rundeck+ mysql node/job/权限管理 Rundeck使用手册1. 创建ProjectNew Project -> 输入Project信息 -> 选中Groovy SQL command executor->create(最下面)2. 创建Nodes(1) 跳板机登录rundeck机器(2) 增加<node />标签$ cd /home/souche/rundeck/projec...
通过nginx access.log统计指定接口访问量 背景:查看loginByMobile接口访问量,排查被攻击cat access.log|grep loginByMobile| awk '{print $1}'|sort |uniq -c|more
通过nginx access.log统计接口访问量 背景:统计近期rest接口访问情况1、查看包含关键字xxx的http请求 cd ~/nginx/logs gzip -d access.log-20180611.gzgrep xxx access.log-20180611 100.116.219.230 - - [11/Jun/2018:01:21:45 +0800] "POST /api/v3/free/xxxx.json HTTP/1.1" ...
创建定时任务,每天清理应用日志 1、创建log_cleaning.sh#!/bin/bash#compress yesterday's file in /home/sc/applogs/goods-manage/catalina#and delete file of 15 days ago in /home/sc/applogs/goods-manage/catalinacd /home/sclogs/applogs...
CPU使用率高排查思路 背景:有些情况下,机器CPU一直飙高,下面JVM中使用jstack查看进程堆栈占用情况。1、#找出cpu占用高的PID$ top2、#找到该进程下的cpu占用最高的线程TID$ top -Hp PID3、#将TID转换为16进制,因为线程的TID在内存是以16进制存储的。$ printf "%x " TIDXXXX4、#这样就打印出了进程号为pid线程号...
RDS到RDS的mysql部分表解耦 背景:业务发展需要,需要将host1实例下db1中部分表解耦到独立实例host2下。第一步:迁移数据1、从host1 db1导出table1 table2 ……到temp.sql$ mysqldump -usdba -pPsword1 -hhost.mysql.rds.aliyuncs.com db1 table1 table2 …… > temp.sql --set-gt...
sql优化 (1)避免select *(2)order by 语句优化任何在Order by语句的非索引项或者有计算表达式都将降低查询速度方法:1.重写order by语句以使用索引; 2.为所使用的列建立另外一个索引 3.绝对避免在order by子句中使用表达式。(3)GROUP BY语句优化SELECT JOB , AVG(SAL) FROM EMP GROUP ...
索引笔记 1 类别(1)主键索引 PRIMARY KEY(2)唯一索引 UNIQUE KEYALTER TABLE table_name ADD UNIQUE (column)(3)普通索引 INDEXALTER TABLE table_name ADD INDEX index_name (column)(4)组合索引 INDEXALTER TABLE table_name ADD INDEX index_...
Mysql存储过程统计高频DML 场景:统计sql审计系统中DML语句中高频UPDATE1 创建sql_audit 表存储raw datadrop table if existssql_audit;CREATE TABLE `sql_audit` ( `sql_info` longtext NOT NULL, `base` varchar(50) NOT NULL, `tablename` longt...
Linux内存使用率高问题排查思路jmap 背景:在一些情况下,机器内存使用率一直居高不下,那么可以查询下是进程占用内存情况,JVM中使用jmap查看(导出)进程堆栈内存使用情况。至今,反正我咩有找到可以在线诊断的工具,不像CPU可以在线定位到问题所在的行。如果有,请告诉我好吗。1、查看内存占用高的进程PID$top #或者jpsPID USER PR NI VIRT RES SHR S %CPU...
利用阿里云API ONS接口获取当前用户下的topics使用情况 1、main.javapackage com.souche.sre;public class Main { public static void main(String[] args) { String endPointName = "xxxxxxx"; /** *Open API 的接入点,设置为目标 Region ...
mysql存储过程实现解析jdbc中host和库名(可运行) 场景:#实现存储过程getlen,解析jdbc后的host,dbname存储到jdbc_info的host和database_name字段解析之前jdbc地址样子:xxxxxxxxx.mysql.rds.aliyuncs.com:3306/dbname?useUnicode=true&characterEncoding=utf-8drop procedure if EXIS...
python 解析excel数据并插入数据库(可运行) 背景:应业务要求需要不定期将一些excel数据导入到线上数据库run.py实现如下:#encoding=utf-8import xlrdfrom configparser import ConfigParserimport pymysqlimport systry:book = xlrd.open_workbook("xxxxxx.xlsx") #文件名,把文件与py文...
crontab 1、#查看cron状态$ service cron statuscrond.serviceLoaded: not-found (Reason: No such file or directory)Active: inactive (dead)2、#查看当前用户下的crontab任务$crontab -eno crontab for root ...
利用smtp发送邮件 背景:定时任务需要通知到腾讯企业邮组,在不配置smtp情况下,会导致给目标邮箱发邮件时被对方服务器拦截进入垃圾箱 ,并且不能给对应的邮件组发送邮件。(1) 在linux服务器利用email或者emailx命令vim /etc/mail.rc #或者 vim /etc/nail.rcset from=aa@edu.cnset smtp=smtp.exmail.qq.com//...
压缩打包笔记 打包tar -cvf test.tar 1.txt 2.txt 3.txt 无压缩打包tar -xvf test.tar 解包gzip压缩gzip test.tar 压缩成的文件叫test.tar.gz打包压缩一步到位:tar -zcvf test.tar.gz a.txt b.txt c.txttar -zxvf test.tar.gztar -zxvf test.tar.gz -C 解压到指...
远程拷贝 #scp远程拷贝命令$ scp filename usname@ip:/home/usname/desktop #上传文件到/home/usname/desktop$ scp -r dirname usname@ip:/home/usname/desktop #上传目录到/home/usname/desktop$ scp usname@ip:/home/usname/deskt...
linux用户与组管理 用户管理useradd laozhang -mpasswd laozhang 回车输入psuserdel -r laozhang未指定组,会同时创建一个同名用户组 sudo -s 切到rootsu 账户名su - 账户加上-后,切了用户名,同时切换家目录cat /etc/passwd 查看有多少用户 用户组管理cat /etc/group 查看...
磁盘清理 正常配置了logrotate的话,是不需要人肉去处理的。但在一些情况下,还是要手动处理下。logrotate配置参考:1、查看磁盘使用情况$ df -hFilesystem Size Used Avail Use% Mounted onudev 2.0G 0 2.0G 0% /devtmpfs 396M ...
Nginx的配置文件路径,nginx安装路径 1、通过apt-get 安装 Nginx的配置文件在/etc/nginx/nginx.conf目录下。注:通过源码,tar 解压,执行sbin/configure安装一般在/usr/local/nginx下2、查找nginx安装路径(1)通过查看监听进程号,然后查看该进程,查看安装路径# netstat -tnlp | grep nginxtcp 0 ...
内网公网域名网络结构 内网SLB ------> 内网域名服务器(Nginx)------> 应用所在服务器组(假如两台)xxxx.xxx-inc.com ------> INC域名服务器 ------> 10.10.10.10/10.10.10.11ping xxxx.xxx-inc.com 得 内网SLB的公网地址应用公网SLB ------> 生产服务器组(假如两台)+ Ngi...