脚本错误和安全警报怎么解决_适用于应用程序错误的AWS警报
腳本錯(cuò)誤和安全警報(bào)怎么解決
監(jiān)視對(duì)于任何實(shí)際應(yīng)用都是關(guān)鍵的。 您必須知道正在發(fā)生的事情,并在發(fā)生問(wèn)題時(shí)實(shí)時(shí)得到警報(bào)。 AWS為此提供了CloudWatch,并自動(dòng)為您提供了許多指標(biāo)。 但是,您必須定義一些自己的東西。 然后,您需要定義適當(dāng)?shù)木瘓?bào)。
在這里,我將重點(diǎn)介紹小時(shí):
- 大量應(yīng)用錯(cuò)誤
- 大量的應(yīng)用警告
- 負(fù)載均衡器上出現(xiàn)大量5xx錯(cuò)誤
- 負(fù)載均衡器上出現(xiàn)大量4xx錯(cuò)誤
首先,先決條件:
- 您需要使用CloudFormation自動(dòng)執(zhí)行所有操作。 您可以手動(dòng)創(chuàng)建所有這些內(nèi)容,但是自動(dòng)化是一大優(yōu)勢(shì)
- 如果使用CloudFormation,則最好有一個(gè)用于配置警報(bào)的子堆棧
- 您需要使用CloudWatch日志收集日志
如果您不使用CloudWatch日志,請(qǐng)使用以下簡(jiǎn)單的配置文件和腳本來(lái)啟用它們:
{ "agent" : { "metrics_collection_interval" : 10, "region" : "eu-west-1" , "logfile" : "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log" }, "logs" : { "logs_collected" : { "files" : { "collect_list" : [ { "file_path" : "{{logPath}}" , "log_group_name" : "{{logGroupName}}" , "log_stream_name" : "{instance_id}" , "timestamp_format" : "%Y-%m-%d %H:%M:%S" } ] } } } } # install AWS CloudWatch monitor mkdir cloud- watch -agent cd cloud- watch -agent wget https: //s3 .amazonaws.com /amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent .zip unzip AmazonCloudWatchAgent.zip . /install .sh aws s3 cp s3: // $BUCKET_NAME /cloudwatch-agent-config .json /var/config/cloudwatch-agent-config .json sed -i -- 's|{{logPath}}|/var/log/application.log|g' /var/config/cloudwatch-agent-config .json sed -i -- 's|{{logGroupName}}|app_node|g' /var/config/cloudwatch-agent-config .json sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file : /var/config/cloudwatch-agent-config .json -s現(xiàn)在,您必須定義兩件事:記錄指標(biāo)和警報(bào)。 下面的cloudformation代碼創(chuàng)建了兩個(gè):
"HighAppErrorsNotification" : { "Type" : "AWS::CloudWatch::Alarm" , "Properties" : { "AlarmActions" : [ { "Ref" : "NotificationTopicId" } ], "InsufficientDataActions" : [ { "Ref" : "NotificationTopicId" } ], "AlarmDescription" : "Notify if there are too many application errors" , "ComparisonOperator" : "GreaterThanOrEqualToThreshold" , "EvaluationPeriods" : "1" , "MetricName" : "ApplicationErrors" , "Namespace" : "LogMetrics" , "Period" : "900" , "Statistic" : "Sum" , "Threshold" : "5" , "TreatMissingData" : "ignore" } }, "ErrorMetricFilter" : { "Type" : "AWS::Logs::MetricFilter" , "Properties" : { "LogGroupName" : "app_node" , "FilterPattern" : "ERROR" , "MetricTransformations" : [ { "DefaultValue" : 0, "MetricValue" : "1" , "MetricNamespace" : "LogMetrics" , "MetricName" : "ApplicationErrors" } ] } },如果您需要手動(dòng)執(zhí)行此操作,請(qǐng)轉(zhuǎn)到CloudWatch日志主頁(yè) ,選擇日志組(app_node),然后使用頂部的“創(chuàng)建指標(biāo)篩選器”按鈕。 它允許您指定要查找的模式(在這種情況下為“ ERROR”)。 準(zhǔn)備就緒后,可以通過(guò)“警報(bào)”->“創(chuàng)建警報(bào)”在此基礎(chǔ)上創(chuàng)建警報(bào)。 通過(guò)名稱(chēng)查找指標(biāo)并選擇它以觸發(fā)警報(bào)(在上面的示例中,如果在900秒內(nèi)有5個(gè)以上的錯(cuò)誤,它將觸發(fā))
然后,您可以為警告創(chuàng)建相同的警報(bào)(查找模式:“ WARN”)。 閾值可能會(huì)更高,例如10或20。但這取決于您的應(yīng)用程序日志記錄模式。
然后是錯(cuò)誤5xx負(fù)載均衡器警報(bào)。 在CloudFormation中,它看起來(lái)像這樣:
"TooMany5xxErrorsWebAppAlarmNotification" : { "Type" : "AWS::CloudWatch::Alarm" , "Properties" : { "AlarmActions" : [ { "Ref" : "NotificationTopicId" } ], "InsufficientDataActions" : [ { "Ref" : "NotificationTopicId" } ], "AlarmDescription" : "Notify if there are too many 5xx errors" , "ComparisonOperator" : "GreaterThanOrEqualToThreshold" , "Dimensions" : [ { "Name" : "LoadBalancer" , "Value" : { "Ref" : "WebAppALBId" } } ], "TreatMissingData" : "notBreaching" , "EvaluationPeriods" : "1" , "MetricName" : "HTTPCode_Target_5XX_Count" , "Namespace" : "AWS/ApplicationELB" , "Period" : "60" , "Statistic" : "Sum" , "Threshold" : "2" } }您可以再次手動(dòng)創(chuàng)建- 在警報(bào)的指標(biāo)選擇屏幕中查找HTTPCode_Target_5XX_Count指標(biāo)。 那里有幾個(gè)選項(xiàng),最直接的是選擇每個(gè)AppELB指標(biāo)。 同樣,相同的方法可以用于4xx錯(cuò)誤(HTTPCode_Target_5XX_Count)。
使用CloudFormation(甚至手動(dòng))運(yùn)行它并不像看起來(lái)那樣簡(jiǎn)單。 度量標(biāo)準(zhǔn)名稱(chēng),名稱(chēng)空間和值的正確組合并不明顯,并且相關(guān)文檔并不是彈出的第一件事。 因此,我決定分享一些可行的方法,因?yàn)樵谶_(dá)到該狀態(tài)之前可能需要花費(fèi)一些時(shí)間進(jìn)行試驗(yàn)。
但是,即使在CloudFormation或AWS上下文之外,也必須在大量應(yīng)用程序錯(cuò)誤,警告和HTTP錯(cuò)誤的情況下進(jìn)行監(jiān)視和警報(bào)。 推薦自動(dòng)創(chuàng)建這些警報(bào)。
翻譯自: https://www.javacodegeeks.com/2020/04/aws-alarms-for-application-errors.html
腳本錯(cuò)誤和安全警報(bào)怎么解決
總結(jié)
以上是生活随笔為你收集整理的脚本错误和安全警报怎么解决_适用于应用程序错误的AWS警报的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 对于电脑基础软件的安装对于电脑基础软件的
- 下一篇: 古巴比伦乘法_古巴:为生产做准备