10分钟
任务4 编写并执行Shell脚本
任务目的
编写Shell脚本,完成Nginx服务进程数的持续上报,并在后台运行该脚本。
任务步骤
1.安装Nginx并采集进程数
安装并启动Nginx,不会安装Nginx的学员可以参考课程《快速搭建网站实战》实验步骤的任务2。
安装完毕后通过命令ps aux | grep nginx | grep -v grep | wc -l
采集Nginx服务进程数量。
[root@VM_0_6_centos ~] ps aux | grep nginx | grep -v grep | wc -l
如图:
2.编写并启动Shell脚本
编写Shell脚本,并保存。
[root@VM_0_6_centos ~] vi nginx_pro_cnt.sh
脚本内容如下:
#!/bin/bash
# 获取云服务器内网IP
myip=$(curl http://metadata.tencentyun.com/latest/meta-data/local-ipv4 2>>/dev/null)
# 循环上报该数据
while true
do
# nginx_pro_cnt变量为Nginx服务进程数
nginx_pro_cnt=$(ps aux | grep nginx | grep -v grep | wc -l)
# metrics变量为上报自定义监控项的数据格式
metrics=$(cat <<EOF
[
{
"MetricName": "nginx_pro_cnt",
"Value": $nginx_pro_cnt
}
]
EOF
)
# 向云监控上报数据以及时间
tccli monitor PutMonitorData --Metrics "$metrics" --AnnounceIp "$myip" --AnnounceTimestamp $(date +%s)
# 循环周期为一分钟
sleep 60
done
将上一步中的示例代码保存为nginx_pro_cnt.sh
后,给脚本文件添加可执行权限。并后台执行脚本,即可通过该Shell脚本在后台进行目标指标的持续上报。
[root@VM_0_6_centos ~] chmod +x nginx_pro_cnt.sh
[root@VM_0_6_centos ~] nohup ./nginx_pro_cnt.sh &
如图:
学员评价