momo's Blog.

momo's Blog.

大佬带带我啊!我很好带的。

记录一次系统内存持续增高排查
前言线上发现一些机器的内存一直在持续的增长, 刚开始怀疑是内存泄漏. 不过我们是通过Dcoker启动的进程,并且容器使用完毕以后就会被销毁, 按理说是不会出现这种情况的。 排查计算当前所有进程使用的总内存 123456~# ps aux | awk '{sum+=$6} END {print sum / 1024 / 1024}'11.7488~# free -hg total used free shared buff/cache availableMem: ...
记录一次问题抓包
前言因为服务要从公网连接Redis, 而走公网延迟又不稳定,所以通过专线走了内网。 完整的链路是这样的的, Node -> 内网Nginx -> GCP内网 -> 阿里云专线 -> 阿里云内网Redis 所以, 我们需要让应用连接到内网的Nginx端口. 但是在配置过程中却发现了一个奇怪的事情。 明明配置了指定的IP,但是程序连接的时候却直接连接到了阿里云的内网Redis IP。 解决在出现问题的节点上抓6379端口的包 1tcpdump tcp port 6379 -i ens33 -w /tmp/6379_save.cap 拖到 wireshark 里面...
Prometheus强制Remote Read每次都从远程存储读取数据
前言使用了阿里云的SLS 存储时序数据, 告警则用 Remote read 进行处理。 不过在使用的时候发生了怪事,每次当Prometheus Write tsdb trunk 的时, Prometheus就会默认从本地去检索数据。 问题就出现在本地检索数据, 完全没有数据他怎么检索。 解决123remote_read: - url: "https://xxxxxxxxxxxx.com/api/prom_read" read_recent: true “read_recent: true”表示近期数据也要读远程存储。因为Prometheus近期数据无论如何都是要读本地存储的,如...
Grafana相关经验
添加DataSource变量 https://grafana.com/docs/grafana/latest/variables/variable-types/add-data-source-variable/
常用的应用容器启动方式
前言本地开发, 随手需要启动一些数据库之类的, 一般都是去dockerhub直接看,不过每次这样太麻烦了,所以特此记录一下。 Redis1docker run --restart=always -p 6379:6379 --name Redis -v /data/redis/data:/data -d redis:6.2.6 redis-server --appendonly yes Mongo12345678910docker run -d --net host --name Mongo \ --restart=always \ -e MONGO_INITDB_ROOT...
Nginx TCP 日志
前言这里查看nginx支持的变量: 点这里 upstream 支持的变量: 点这里 测试1234567891011121314151617stream { log_format basic '$time_iso8601 $remote_addr ' '$protocol $status $bytes_sent $bytes_received ' '$session_time $upstream_addr ' '"$upstream...
检查网络质量的一些手段
前言这里列出一部分网络质量的检查手段 PING 时延检查我们可以通过PING命令来检查节点之间的延迟,如 123456789101112131415161718192021222324252627282930313233343536-> % ping -c 30 www.baidu.comPING www.a.shifen.com (36.152.44.95): 56 data bytes64 bytes from 36.152.44.95: icmp_seq=0 ttl=55 time=10.172 ms64 bytes from 36.152.44.95: icmp_seq=1...
TerraForm实践
阿里云尝试在阿里云启动一个ECS这里先理清一下创建一个阿里云的ECS需要哪些步骤 通过机型,过滤出有该机型的区域(zone) 拿到zone,创建vpc相关资源,如 switch,NAT 创建安全组,并且配置对应规则 创建ECS 配置 provider main.tf在入口处,我们配置 1234567891011121314terraform { required_providers { alicloud = { source = "aliyun/alicloud" version = ">= 1.149.0" &#...
TerraForm学习笔记
前言这里记录TerraForm学习笔记 语法注释 # 单行注释 // 单行注释 /* */ 多行注释 Resource语法1234resource "aws_instance" "web" { ami = "ami-a1b2c3d4" instance_type = "t2.micro"} provider声明模块使用哪些provider 12345678terraform { required_providers { mycloud = { source = "mycorp/mycloud...
震惊,写了快2年的yaml竟然第一次知道还能这样转义
前言一般来说,我们在写yaml文件的时候,遇到单行需要转移的特殊字符,比如: ' * 总之奇奇怪怪的转移需求。比如以下例子: 12scripts: - 'echo {''"''userName''"'': ''"''${GITLAB_USER_NAME}''"'', ''"''jobName''"'': ''"''${XXX_textinput}''"'', ''"''CI_PIPELINE_CREATED_AT''"'': ''"''${CI_PIPELINE_CREATED_AT}''"'', ''"''...
avatar
Momo
不专业的运维工程师
FRIENDS
Baidu Google