郑州建网站哪个公司好,新汉阳火车站最新消息权威发布,wordpress图片如何排版,建设部网站官网造价工程师孙思新一、监控的操作逻辑
给操作系统安装expect命令expect脚本执行dmhs_console脚本执行 cpt / exec 命令用脚本进行过滤字符串过滤dm_export读取脚本与当前日期作比较#xff0c;然后返回差值
二、安装步骤
1. linux中Expect工具的安装及使用方法 https://blog.csdn.net/wangta…一、监控的操作逻辑
给操作系统安装expect命令expect脚本执行dmhs_console脚本执行 cpt / exec 命令用脚本进行过滤字符串过滤dm_export读取脚本与当前日期作比较然后返回差值
二、安装步骤
1. linux中Expect工具的安装及使用方法 https://blog.csdn.net/wangtaoking1/article/details/78268574 # wget https://sourceforge.net/projects/tcl/files/Tcl/8.4.19/tcl8.4.19-src.tar.gz
# tar zxvf tcl8.4.19-src.tar.gz
# cd tcl8.4.19/unix ./configure
# make
# make install# 回退到基目录下在执行一下操作# wget http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz
# tar zxvf expect5.45.tar.gz
# cd expect5.45
# ./configure --with-tcl/usr/local/lib --with-tclinclude../tcl8.4.19/generic
# make
# make install
# ln -s /usr/local/bin/expect /usr/bin/expect# 安装完成之后运行expect命令查看是否安装成功。
# expect
expect1.1 2. dm_exporter工具配置文件
调整application.yml
新增dmhs的相关属性注意enableType类型 需要区分源端以及目的端
[rootp4-oakdmdb02 dm_exporter]# vi application.yml spring:application:name: dm-prometheus
server:port: 9200##ip识别错误时使用ip:##主机的hostnamehostname:##告警保留时间分钟alarmSaveTime: 5##大key的保留时间(表空间使用 分组)bigKeySaveTime: 720##会话等待的检测时间(分钟) 检测会话等待值 sql传参waitingSessionTime: 5##是否屏蔽特殊项 0 不屏蔽 1屏蔽 屏蔽定时任务、sql超时specialCheck: 1
dmdbms:jdbcUrl: jdbc:dm://127.0.0.1:5236username: SYSDBApassword: SYSDBA
dmhs:## 0 不启动 1 cpt源端 2 目的端enableType: 0installBinPath: /home/dmdba/dmhs/bin
management:endpoints:# 关闭所有的检查项enabled-by-default: falseweb:exposure:# 暴露监控接口*为全部接口include: prometheus# 不暴露接口# exclude: infobase-path: /# 对外暴露prometheus接口并擦好看更多健康信息endpoint:prometheus:enabled: truehealth:show-details: always## 关闭内置的检查项metrics:enable:jvm: falselogback: falsefiles: falsetomcat: falseexecutor: falsedisk: falseuptime: falseintegration: falsetrace:http:enabled: false
logging:config: classpath:log4j2.xml生成脚本(get_hs_console_info.sh)
工具自动生成此脚本做参考
#!/usr/bin/env bash/usr/bin/expect EOF
set timeout 3
spawn /home/dmdba/dmhs_new_20230925/bin/dmhs_console
send cpt\r
send exit\r
expect eof
EOF生成脚本(get_hs_console_result_info.sh)
工具自动生成此脚本做参考
#!/usr/bin/env bash
HS_BIN_DIR/home/dmdba/dmhs_new_20230925/bin
SCRIPT_DIR/prometheus/dm_exporter/export_script
LOG_FILE$SCRIPT_DIR/hs_console.txt
RESULT_FILE$SCRIPT_DIR/hs_console_result.txt
cd $HS_BIN_DIR
sh $SCRIPT_DIR/get_hs_console_info.sh $LOG_FILE
sed -i s/\x1B\[[0-9;]*m//g; s/\x0D$//g; s/\^M\$//g $LOG_FILE
CheckPointTimecat $LOG_FILE |grep checkpoint time|awk -F : {print $3}|awk -F {print $1,$2}|awk NR1{print}
echo CheckPointTime$CheckPointTime $RESULT_FILE
CurrentLogTimecat $LOG_FILE |grep current log time|awk -F : {print $2}|awk -F {print $1,$2}|awk NR1{print}
echo CurrentLogTime$CurrentLogTime $RESULT_FILE
[rootp4-oa15dmdb01 export_script]# cat hs_console_result.txt
CheckPointTime2023-10-13 11:41:21
CurrentLogTime2023-10-13 13:28:10三、调整promehteus配置文件
1. 添加主机配置 prometheus.yml
[rootZabbbix prometheus-2.35.0]# vim prometheus.yml# my global config
global:scrape_interval: 1m # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 1m # Evaluate rules every 15 seconds. The default is every 1 minute.scrape_timeout: 1m # scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:- 127.0.0.1:9093# Load rules once and periodically evaluate them according to the global evaluation_interval.
rule_files:- rules/*.yml# - rules/*_alerts.yml# A scrape configuration containing exactly one endpoint to scrape:
# Here its Prometheus itself.
scrape_configs:# The job name is added as a label jobjob_name to any timeseries scraped from this config.- job_name: prometheusstatic_configs:- targets: [localhost:9090]- job_name: dmdbms_bgoak_dwmetrics_path: /prometheusstatic_configs:- targets: [192.63.97.93:9200,192.63.97.94:9200]labels:cluster_name: 办公OAK2. 添加告警规则vim custom_test.yml [rootZabbbix rules]# vim custom_test.yml- alert: 备库重做日志内存堆积过高expr: dmdbms_rapply_sys_task_mem_used 512000000for: 15slabels:severity: 警告annotations:description: 主机{{ $labels.instance }} 备库重做日志内存堆积过高summary: 主机{{ $labels.instance }}:备库重做日志内存堆积过高请确认是否正常- alert: 备库重做日志线程数expr: dmdbms_rapply_sys_task_num 2048for: 15slabels:severity: 警告annotations:description: 主机{{ $labels.instance }} 备库重做日志线程数过高summary: 主机{{ $labels.instance }}:备库重做日志线程数过高请确认是否正常- alert: HS的进程连接异常expr: dmdbms_dmhs_process_is_exit 0for: 15slabels:severity: 警告annotations:description: 主机{{ $labels.instance }} HS的进程连接异常summary: 主机{{ $labels.instance }}:HS的进程连接异常请确认是否正常- alert: HS的checkPointTime超过8hexpr: dmdbms_dmhs_check_point_delay 0 and dmdbms_dmhs_check_point_delay 60*60*8for: 15slabels:severity: 警告annotations:description: 主机{{ $labels.instance }} HS的checkPointTime超过8hsummary: 主机{{ $labels.instance }}:HS的checkPointTime超过8h,请确认是否正常四、修改grafana图表
效果如下 五、报错
安装expect报错 no acceptable cc found in $PATH # 安装gcc的依赖环境
yum install gcc-c