首页 资讯 > > 正文

实时焦点:写了个监控 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 广告

两个美女杀猪完整视频播放_两个美女杀猪完整视频|天天关注

1、对呀!不过好像没有哪个美女会杀猪的呀。2、杀人的到是不少!。本文分享完毕,希望对大家有所帮助。

英雄联盟bo5战歌词_英雄联盟bo5战歌

1、是一首歌《银痕SilverScrapes》作者:DannyMcCarthy;ProtoShredano

店内卫生消毒工作计划(热门7篇)-环球看点

店内卫生消毒工作计划第1篇一、指导思想:以^v^理论和“三个代表”重要思想为指导,认真贯彻和落实科学发展观。认真贯彻《学校卫生工作条例》

云南西双版纳:人象接力救援被困亚洲象 世界热讯

(曾玉祥周少飞)记者14日从云南西双版纳边境管理支队获悉,该支队勐满边境派出所13日联合当地多部门成功救助一头被困亚洲象。民警到达现场后看

天天微头条丨中国科协心理应急志愿服务队通辽市支队成立大会圆满落幕

中国科协心理应急志愿服务队通辽市支队成立大会圆满落幕

x 广告

Copyright   2015-2023 京津冀地质网版权所有  备案号:京ICP备2022022245号-12   联系邮箱:434 922 62 @qq.com