【presto】监控presto打开文件描述符脚本

前言

最近在维护presto集群,集群运行一段时间后,会有部分节点打开的文件描述符超出linux的限制。有的人想到会去增加进程打开文件数的限制。

但根据我的排查,这个原因一般是在presto 服务OOM后发生的,此时服务虽然没有挂掉,但其实已经处于不稳定的状态了。很容易让任务挂掉。

于是决定监控下presto的打开文件描述符,经过观察,公司的presto集群通常打开的文件描述符是在1万5一下。遂将监控报警阈值调整为2万。

一、脚本内容

#!/bin/bash

# presto_file_descriptor.sh
# 采集presto 服务打开的文件描述符推送到falcon中

fd=$(/usr/sbin/lsof -n|grep `ps -ef|grep -i presto-server |grep -v grep | awk '{print $2}'` |wc -l)
#file_descriptor=$(getPrestoFD)
echo $fd
./pushFalcon -h $(hostname) -m 'presto.file_descriptor' -s 60 -v $fd

二、脚本批量部署和添加定时任务

ansible new-presto -m copy -a "src=presto_file_descriptor.sh dest=/home/rong/opbin/presto_file_descriptor.sh"
ansible new-presto -m shell -a "chmod 764 /home/rong/opbin/presto_file_descriptor.sh"
ansible new-presto -m shell -a "echo '# 采集presto服务打开的文件描述符' >> /var/spool/cron/root" 
ansible new-presto -m shell -a "echo '*/1 * * * * cd /home/rong/opbin && bash presto_file_descriptor.sh' >> /var/spool/cron/root" 

三、注意事项

在编写脚本时,遇到一个定时任务的问题,这里扩展一下。
https://blog.csdn.net/Mrerlou/article/details/119357731

posted @ 2022-11-10 19:25  彬在俊  阅读(17)  评论(0编辑  收藏  举报