zoukankan      html  css  js  c++  java
  • 用powershell脚本,检测cpu100%,并触发sqlserver主备切换。

    我为园子设计的脚本大致如下:
    1慢检测:任务计划每分钟运行。发现cpu高于95%后,触发2。
    2快检测:每隔5秒钟运行,发现cpu高于95%,连续6次后,触发3。
    3报警n次。超出5分钟未处理后,触发4。
    4去sql server机,执行主备切换的powershell命令。
    5休眠n秒,连续触发3次主备切换,cpu还不能下降的话。则重启sql server机。
    简单来说,就是操作自动化。

    sql脚本:https://files.cnblogs.com/files/piapia/powershell.zip

    用法:

    1在win任务计划中,添加powershell.exe或pwsh.exe。或者linux的crontab中,添加pwsh。

    2pwsh -f d:xxxm慢检测.ps1

    3触发间隔,选1----3分钟。 

    Add-Content -Path "${PSScriptRoot}/bj报警未处理标记.txt" -Value ''
    
    
    foreach ($Private:i in 1..6)
    {
        #这里有些我写的报警脚本。 https://gitee.com/chuanjiao10/kasini3000/tree/master/admin_gui
        #xxx
    
        Start-Sleep -Seconds 60
    }
    
    if (Test-Path -LiteralPath "${PSScriptRoot}/bj报警未处理标记.txt")
    {
        #触发sql server 主备切换。
        & "${PSScriptRoot}/sql_server主备切换.ps1"
    }
    if (Test-Path -LiteralPath "${PSScriptRoot}/记录主备切换次数.txt")
    {
        $Private:主备切换次数 = Get-Content -Path "${PSScriptRoot}/记录主备切换次数.txt"
    }
    
    if ($Private:主备切换次数 -ge 3)
    {
        Remove-Item -LiteralPath "${PSScriptRoot}/记录主备切换次数.txt"
        Write-Host '重启sqlserver'
        & "${PSScriptRoot}/重启sql服务器.ps1"
    }
    
    $Private:主备切换次数++
    Add-Content -Path "${PSScriptRoot}/记录主备切换次数.txt" -Value $Private:主备切换次数
    
    Add-Content -Path "${PSScriptRoot}/记录主备切换时间.txt" -Value (Get-Date)
    
    #sqlserver 主备切换
    & "${PSScriptRoot}/0sqlserver_insert.ps1"     -server '127.0.0.1' -username 'aaa' -pass '12345678' -query "USE master ; ALTER DATABASE database_name SET PARTNER FAILOVER ;"
    # https://docs.microsoft.com/zh-cn/sql/database-engine/database-mirroring/manually-fail-over-a-database-mirroring-session-transact-sql?view=sql-server-2016
  • 相关阅读:
    jmeter学习笔记(十一)定时器
    jmter学习笔记(十)断言
    jmeter学习笔记(九)
    jmeter学习笔记(八-1)
    jmeter学习笔记(八-2)
    jmeter上传发送文件学习笔记
    jmeter学习笔记(七)
    jmeter学习笔记(六)
    jmeter学习笔记(四)
    jmeter学习笔记(五)
  • 原文地址:https://www.cnblogs.com/piapia/p/14726157.html
Copyright © 2011-2022 走看看