前言线上发现一些机器的内存一直在持续的增长, 刚开始怀疑是内存泄漏.
不过我们是通过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 里面...
前言使用了阿里云的SLS 存储时序数据, 告警则用 Remote read 进行处理。 不过在使用的时候发生了怪事,每次当Prometheus Write tsdb trunk 的时, Prometheus就会默认从本地去检索数据。
问题就出现在本地检索数据, 完全没有数据他怎么检索。
解决123remote_read: - url: "https://xxxxxxxxxxxx.com/api/prom_read" read_recent: true
“read_recent: true”表示近期数据也要读远程存储。因为Prometheus近期数据无论如何都是要读本地存储的,如...
添加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支持的变量: 点这里
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...
阿里云尝试在阿里云启动一个ECS这里先理清一下创建一个阿里云的ECS需要哪些步骤
通过机型,过滤出有该机型的区域(zone)
拿到zone,创建vpc相关资源,如 switch,NAT
创建安全组,并且配置对应规则
创建ECS
配置 provider
main.tf在入口处,我们配置
1234567891011121314terraform { required_providers { alicloud = { source = "aliyun/alicloud" version = ">= 1.149.0" ...
前言这里记录TerraForm学习笔记
语法注释
# 单行注释
// 单行注释
/* */ 多行注释
Resource语法1234resource "aws_instance" "web" { ami = "ami-a1b2c3d4" instance_type = "t2.micro"}
provider声明模块使用哪些provider
12345678terraform { required_providers { mycloud = { source = "mycorp/mycloud...
前言一般来说,我们在写yaml文件的时候,遇到单行需要转移的特殊字符,比如: ' * 总之奇奇怪怪的转移需求。比如以下例子:
12scripts: - 'echo {''"''userName''"'': ''"''${GITLAB_USER_NAME}''"'', ''"''jobName''"'': ''"''${XXX_textinput}''"'', ''"''CI_PIPELINE_CREATED_AT''"'': ''"''${CI_PIPELINE_CREATED_AT}''"'', ''"''...