首页 资讯 > > 正文

实时焦点:写了个监控 ElasticSearch 进程异常的脚本!

2023-02-04 15:41:42 来源:程序员客栈 分享到:

作者:JackTian来源:公众号「杰哥的IT之旅」ID:Jake_Internet转载请联系授权(微信ID:Hc220088)


(资料图片)

服务器配置免密钥环境准备:

配置免密钥前,需要在服务器的 hosts 文件中配置目标主机名称与 IP 对应关系。

vim/etc/hostsIP1hostname1IP2hostname2......

将 mianmiyaojiaoben.zip 安装包解压在当前目录下

cd/usr/local/jiaobenunzipmianmiyaojiaoben.zip

修改 mianmiyao_config 配置文件,添加目标主机名称与目标主机密码,通过用免密钥的脚本来调用。

vimmianmiyao_configAllHosts=hostname1,hostname2Passwd="test23!\@Test^&*","test23!\@Test^&*"

配置文件中,需注意:

AllHosts:可配置当前主机通往目标主机的主机名,可以免秘钥自身,数量不限。多台目标主机需以英文逗号隔开

Passwd:主机所对应的密码,顺序需要与主机顺序对应

如果原密码为:test23!@Test^&*,则密码字符带有特殊符号可以用 \ 符转义

mianmiyao.sh 脚本文件内容:

vimmianmiyao.sh#!/bin/bash-xsourcemianmiyao_configyum-yinstallexpectexpect-devel#rm-rf/root/.ssh/*/usr/bin/expect-d<<-EOFsettimeout100spawnssh-keygen-trsaexpect{"*id_rsa):"{send"\r";exp_continue}"*(y/n)?"{send"y\r";exp_continue}"*passphrase)*"{send"\r";exp_continue}"*again:"{send"\r";exp_continue}"*-------+"{send"\r"}}expecteofEOFhostsarr=(${hosts//,/})passwdarr=(${passwd//,/})num=${#hostsarr[@]}for((i=0;i

将 mianmiyao.sh 文件添加执行权限并执行此脚本

chmod+xmianmiyao.sh./mianmiyao.sh

脚本执行完毕后,可以先手动执行如下命令,如无需输入密码跳转到对应的目标服务器时,则表示成功。

sshhostname2

服务器部署监测 ElasticSearch 环境准备:

将 cpufreedisk_config 配置文件添加对应 ES 集群主机名、ES 端口、ES 主节点服务器主机名。

vimcpufreedisk_config#所有ES集群的主机名,用英文逗号分隔,需要在免密钥机器上执行EsHosts=hostname1,hostname2#ES端口EsPort=9200#ES主节点服务器的主机名EsMaster=hostname1

将 cpufreedisk.sh 脚本文件放入 ElasticSearch 服务器的 /usr/local/jiaoben/ 目录下

#!/bin/bash#@Time:2023/02/01#@Author:JackTian#@File:cpufreedisk.sh#@Desc :使用该脚本监控 ES 系统程序假死、挂掉、异常及服务器断网、宕机服务器恢复后,程序做判断恢复/检测服务器cpu内存磁盘。#使用前提:ES 集群服务器配置免密钥#使用方法:将 cpufreedisk.sh 脚本放置 ES 服务器的/usr/local/jiaoben/目录下、在 cpufreedisk_config 中配置 ES 集群的主机名、端口、ES 主节点服务器的主机名#设置定时任务(可以事先手动执行)#06***source/etc/profile&&cd/usr/local/jiaoben&&./cpufreedisk.shsource/usr/local/jiaoben/cpufreedisk_configfunctionesStatus{curl--connect-timeout30-m60$1:$esport>resultEsCurl.logecho"`catresultEsCurl.log|grepcluster_name`"}functionesLost{iptemp=`cat/etc/hosts|grep-w$1|grep"^[^#]"|awk"{print$1}"`curl--connect-timeout30-m60$esMaster:$esport/_cat/nodes?v|grep$iptemp>resultEsCurl1.logecho"`catresultEsCurl1.log`"}functionesDie{ssh$1"source/etc/profile&&jps|grepElasticsearch|awk"{print\$1}"|xargs"}functionrestart{ssh$1<>/usr/local/jiaoben/ESmanager.logrestart$rootHostfielseecho"${todaytime}xxx系统$rootHost的ES进程运行状态异常,启动重启中...">>/usr/local/jiaoben/ESmanager.logecho"${todaytime}xxx系统$rootHost重启">>/usr/local/jiaoben/ESmanager.logssh$rootHost<>/usr/local/jiaoben/ESmanager.logmkdir-p/usr/local/jiaoben/cd/usr/local/jiaoben/echo"--------------------------------------服务器分割线-------------------------------------------"echo"$rootHost磁盘信息"df-hecho"$rootHost内存信息(单位为:G)"free-hecho"$rootHost的CPU信息"vmstatexitEOFif[$?-eq0];thenesDieResult=`esDie$rootHost`if[-n"$esDieResult"];thenecho"${todaytime}xxx系统ES出现假死,已执行重启临时解决,详情参看日志">>/usr/local/jiaoben/ESmanager.logelseecho"${todaytime}xxx系统ES未启动,已执行重启临时解决,详情参看日志">>/usr/local/jiaoben/ESmanager.logfielseecho"${todaytime}xxx系统 ES 服务器疑似宕机:无法 ssh 登录">>/usr/local/jiaoben/ESmanager.logfirestart$rootHostfidone

将 cpufreedisk.sh 脚本文件添加可执行权限并执行

chmod+xcpufreedisk.sh./cpufreedisk.sh

设定周期性定时任务,每天定时执行。

crontab-e#使用该脚本监控 ES 系统程序假死、挂掉、异常及服务器断网、宕机服务器恢复后,程序做判断恢复/检测服务器cpu内存磁盘。06***source/etc/profile&&cd/usr/local/jiaoben&&./cpufreedisk.sh

推荐阅读:

太强了!利用 Python 写了一个监控服务器资源利用率的脚本!

超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例!

7 个非常实用的 Shell 拿来就用脚本实例!

写了个自动巡检多个接口地址的脚本!

拿来就用的脚本案例!(三)

关键词: 服务器的 配置文件 系统程序

x 广告

实时焦点:写了个监控 ElasticSearch 进程异常的脚本!

作者:JackTian来源:公众号「杰哥的IT之旅」ID:Jake_Internet转载请联系授权(微信ID:Hc220088)服务器配置免密钥环境准备:配置免

华北工商大学

1、华北工商大学原名是石家庄经济学院(原河北地质学院)始建于1953年,原隶属于国土资源部,2000年经国家高教体制改革

让对方看到心疼的句子八个字简短幽默(实用152句)

让对方看到心疼的句子八个字简短幽默实用142句1 有些伤痛,何可言何能说,何处言,何时言;有些秘密,不可说,不能说,不必说,不须说。2 你还

每日消息!为什么东西方人眼睛颜色不同

科学家研究发现,我们人类眼球的虹膜是由5层组织构成的。它们是内皮细胞层、前界膜、基质层、后界膜和后上皮层。这5层组织中,

环球短讯!左半边翅膀

1、《左半边翅膀》是由严艺丹作词,刘佳作曲,许飞演唱的一首歌。2、收录在许飞2010年发行的专辑《二十六度》中,同时这首

x 广告

Copyright   2015-2023 华夏地质网版权所有  备案号:琼ICP备2022009675号-37   联系邮箱:435 227 67@qq.com