云监控最佳实践:自定义监控服务器 TIME_WAIT 连接数

2020-02-13 17:38:37 浏览数 (1)

腾讯云服务器监控 agent 只采集了处于 ESTABLISHED 状态的 TCP 连接数量?

还想监控更多基础指标,例如 TIME_WAIT 连接数?

推荐您使用 云监控-自定义监控 !

目前内测阶段免费使用,无需审核,开通服务即用。诚邀您点击 申请页面 参与内测体验!

更多云服务器基础监控指标,请参阅 文档中心


上报监控指标

步骤1:准备上报环境

安装 TCCLI 工具:

代码语言:txt复制
	pip install tccli

配置 TCCLI 工具:

  • secretId:云 API 密钥 SecretId
  • secretIKey:云 API 密钥 SecretKey
  • region: 云产品地域,可通过 curl http://metadata.tencentyun.com/latest/meta-data/placement/region 获取云服务器所在地域
  • output: 可选参数,请求回包输出格式,支持 json table text 三种格式,默认为 json
代码语言:txt复制
	tccli configure set secretId AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP // 您的secretId

	tccli configure set secretKey OxXj7khcV1234dQSSYNABcdCc1LiArFd // 您的secretKey

	tccli configure set region $(curl http://metadata.tencentyun.com/latest/meta-data/placement/region 2>/dev/null)

	tccli configure set output json

更多 TCCLI 安装和配置使用相关文档请参阅 文档中心

步骤2:采集处于 TIME_WAIT 状态的 TCP 连接数量

代码语言:txt复制
	netstat -ant | awk '/TIME_WAIT/ {print $6}' | wc -l

步骤3:编写 Shell 脚本

代码语言:txt复制
	#!/bin/bash


	# 获取云服务器内网IP

	myip=$(curl http://metadata.tencentyun.com/latest/meta-data/local-ipv4 2>>/dev/null)


	while true

	do


	tcp_curr_timewait=$(netstat -ant | awk '/TIME_WAIT/ {print $6}' | wc -l)

	metrics=$(cat <<EOF

	[

	  {

	    "MetricName": "tcp_curr_timewait", 

	    "Value": $tcp_curr_timewait

	  }

	]

	EOF

	)


	tccli monitor PutMonitorData --Metrics "$metrics" --AnnounceIp "$myip" --AnnounceTimestamp $(date  %s)


	sleep 1

	done

步骤4:执行 Shell 脚本,完成数据持续上报

将步骤3中的示例保存为 tcp_curr_timewait.sh 后,在当前目录下执行以下命令,即可通过 Shell 脚本在后台进行目标指标的持续上报。

代码语言:txt复制
	chmod  x tcp_curr_timewait.sh

	nohup ./tcp_curr_timewait.sh &

查看上报指标

完成监控指标上报后,可以在 云监控-自定义监控 控制台 查看 指标视图 若有多台云服务器一起上报监控数据,可以按对象查看指标

指标直接上报,无需预注册默认统计周期为1分钟,统计方式为累计量。您可以登录 指标配置 页面 按需来修改指标统计方式

配置告警策略

您可以选择对指标视图配置告警,也可以按上报对象配置告警。更多告警策略配置操作请参阅 文档中心


扫描二维码,关注腾讯云监控公众号扫描二维码,关注腾讯云监控公众号

0 人点赞