最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Apache SkyWalking 告警配置指南

 更新時(shí)間:2021年04月13日 10:02:29   作者:萬貓學(xué)社  
這篇文章主要介紹了Apache SkyWalking 告警配置指南,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Apache SkyWalking

Apache SkyWalking是分布式系統(tǒng)的應(yīng)用程序性能監(jiān)視工具(Application Performance Management,APM),專為微服務(wù)、云原生架構(gòu)和基于容器(Docker、K8s、Mesos)架構(gòu)而設(shè)計(jì)。

它提供了分布式追蹤、服務(wù)網(wǎng)格遙測分析、度量聚合和可視化一體化解決方案。

Apache SkyWalking告警

Apache SkyWalking告警是由一組規(guī)則驅(qū)動(dòng),這些規(guī)則定義在config/alarm-settings.yml文件中。

告警規(guī)則的定義分為三部分。

  • 告警規(guī)則:定義了觸發(fā)告警所考慮的條件。
  • webhook:當(dāng)告警觸發(fā)時(shí),被調(diào)用的服務(wù)端點(diǎn)列表。
  • gRPCHook:當(dāng)告警觸發(fā)時(shí),被調(diào)用的遠(yuǎn)程gRPC方法的主機(jī)和端口。
  • Slack Chat Hook:當(dāng)告警觸發(fā)時(shí),被調(diào)用的Slack Chat接口。
  • 微信 Hook:當(dāng)告警觸發(fā)時(shí),被調(diào)用的微信接口。
  • 釘釘 Hook:當(dāng)告警觸發(fā)時(shí),被調(diào)用的釘釘接口。

告警規(guī)則

告警規(guī)則有兩種類型,單獨(dú)規(guī)則(Individual Rules)和復(fù)合規(guī)則(Composite Rules),復(fù)合規(guī)則是單獨(dú)規(guī)則的組合。

單獨(dú)規(guī)則(Individual Rules)

單獨(dú)規(guī)則主要有以下幾點(diǎn):

  • 規(guī)則名稱:在告警信息中顯示的唯一名稱,必須以_rule結(jié)尾。
  • metrics-name:度量名稱,也是OAL腳本中的度量名。默認(rèn)配置中可以用于告警的度量有:服務(wù),實(shí)例,端點(diǎn),服務(wù)關(guān)系,實(shí)例關(guān)系,端點(diǎn)關(guān)系。它只支持long,double和int類型。
  • include-names:包含在此規(guī)則之內(nèi)的實(shí)體名稱列表。
  • exclude-names:排除在此規(guī)則以外的實(shí)體名稱列表。
  • include-names-regex:提供一個(gè)正則表達(dá)式來包含實(shí)體名稱。如果同時(shí)設(shè)置包含名稱列表和包含名稱的正則表達(dá)式,則兩個(gè)規(guī)則都將生效。
  • exclude-names-regex:提供一個(gè)正則表達(dá)式來排除實(shí)體名稱。如果同時(shí)設(shè)置排除名稱列表和排除名稱的正則表達(dá)式,則兩個(gè)規(guī)則都將生效。
  • include-labels:包含在此規(guī)則之內(nèi)的標(biāo)簽。
  • exclude-labels:排除在此規(guī)則以外的標(biāo)簽。
  • include-labels-regex:提供一個(gè)正則表達(dá)式來包含標(biāo)簽。如果同時(shí)設(shè)置包含標(biāo)簽列表和包含標(biāo)簽的正則表達(dá)式,則兩個(gè)規(guī)則都將生效。
  • exclude-labels-regex:提供一個(gè)正則表達(dá)式來排除標(biāo)簽。如果同時(shí)設(shè)置排除標(biāo)簽列表和排除標(biāo)簽的正則表達(dá)式,則兩個(gè)規(guī)則都將生效。

標(biāo)簽的設(shè)置必須把數(shù)據(jù)存儲(chǔ)在meter-system中,例如:Prometheus, Micrometer。以上四個(gè)標(biāo)簽設(shè)置必須實(shí)現(xiàn)LabeledValueHolder接口。

  • threshold:閾值。

對于多個(gè)值指標(biāo),例如percentile,閾值是一個(gè)數(shù)組。像value1 value2 value3 value4 value5這樣描述。
每個(gè)值可以作為度量中每個(gè)值的閾值。如果不想通過此值或某些值觸發(fā)警報(bào),則將值設(shè)置為 -。
例如在percentile中,value1是P50的閾值,value2是P75的閾值,那么-,-,value3, value4, value5的意思是,沒有閾值的P50和P75的percentile告警規(guī)則。

  • op:操作符,支持>, >=, <, <=, =。
  • period:多久告警規(guī)則需要被檢查一下。這是一個(gè)時(shí)間窗口,與后端部署環(huán)境時(shí)間相匹配。
  • count:在一個(gè)周期窗口中,如果按op計(jì)算超過閾值的次數(shù)達(dá)到count,則發(fā)送告警。
  • only-as-condition:true或者false,指定規(guī)則是否可以發(fā)送告警,或者僅作為復(fù)合規(guī)則的條件。
  • silence-period:在時(shí)間N中觸發(fā)報(bào)警后,在N -> N + silence-period這段時(shí)間內(nèi)不告警。 默認(rèn)情況下,它和period一樣,這意味著相同的告警(同一個(gè)度量名稱擁有相同的Id)在同一個(gè)周期內(nèi)只會(huì)觸發(fā)一次。
  • message:該規(guī)則觸發(fā)時(shí),發(fā)送的通知消息。

舉個(gè)例子:

rules:
  service_resp_time_rule:
    metrics-name: service_resp_time
    op: ">"
    threshold: 1000
    period: 10
    count: 2
    silence-period: 10
    message: 服務(wù)【{name}】的平均響應(yīng)時(shí)間在最近10分鐘內(nèi)有2分鐘超過1秒
  service_instance_resp_time_rule:
    metrics-name: service_instance_resp_time
    op: ">"
    threshold: 1000
    period: 10
    count: 2
    silence-period: 10
    message: 實(shí)例【{name}】的平均響應(yīng)時(shí)間在最近10分鐘內(nèi)有2分鐘超過1秒
  endpoint_resp_time_rule:
    metrics-name: endpoint_avg
    threshold: 1000
    op: ">"
    period: 10
    count: 2
    message: 端點(diǎn)【{name}】的平均響應(yīng)時(shí)間在最近10分鐘內(nèi)有2分鐘超過1秒

文章持續(xù)更新,微信搜索「萬貓學(xué)社」第一時(shí)間閱讀,關(guān)注后回復(fù)「電子書」,免費(fèi)獲取12本Java必讀技術(shù)書籍。

復(fù)合規(guī)則(Composite Rules)

復(fù)合規(guī)則僅適用于針對相同實(shí)體級別的告警規(guī)則,例如都是服務(wù)級別的告警規(guī)則:service_percent_rule && service_resp_time_percentile_rule。
不可以編寫不同實(shí)體級別的告警規(guī)則,例如服務(wù)級別的一個(gè)告警規(guī)則和端點(diǎn)級別的一個(gè)規(guī)則:service_percent_rule && endpoint_percent_rule。

復(fù)合規(guī)則主要有以下幾點(diǎn):

  • 規(guī)則名稱:在告警信息中顯示的唯一名稱,必須以_rule結(jié)尾。
  • expression:指定如何組成規(guī)則,支持&&, ||, ()操作符。
  • message:該規(guī)則觸發(fā)時(shí),發(fā)送的通知消息。

舉個(gè)例子:

rules:
  service_resp_time_rule:
    metrics-name: service_resp_time
    op: ">"
    threshold: 1000
    period: 10
    count: 2
    silence-period: 10
    message: 服務(wù)【{name}】的平均響應(yīng)時(shí)間在最近10分鐘內(nèi)有2分鐘超過1秒
  service_sla_rule:
    metrics-name: service_sla
    op: "<"
    threshold: 8000
    period: 10
    count: 2
    silence-period: 10
    message: 服務(wù)【{name}】的成功率在最近10分鐘內(nèi)有2分鐘低于80%
composite-rules:
  comp_rule:
    expression: service_resp_time_rule && service_sla_rule
    message: 服務(wù)【{name}】在最近10分鐘內(nèi)有2分鐘超過1秒平均響應(yīng)時(shí)間超過1秒并且成功率低于80%

Webhook

Webhook 要求一個(gè)點(diǎn)對點(diǎn)的 Web 容器。告警的消息會(huì)通過 HTTP 請求進(jìn)行發(fā)送,請求方法為 POST,Content-Typeapplication/json,JSON 格式包含以下信息:

  • scopeId:目標(biāo) Scope 的 ID。
  • name:目標(biāo) Scope 的實(shí)體名稱。
  • id0:Scope 實(shí)體的 ID。id1:未使用。
  • ruleName:您在 alarm-settings.yml 中配置的規(guī)則名。
  • alarmMessage. 告警消息內(nèi)容。
  • startTime. 告警時(shí)間戳,當(dāng)前時(shí)間與 UTC 1970/1/1 相差的毫秒數(shù)。

舉個(gè)例子:

[{
	"scopeId": 1, 
	"scope": "SERVICE",
	"name": "one-more-service", 
	"id0": "b3JkZXItY2VudGVyLXNlYXJjaC1hcGk=.1",  
	"id1": "",  
    "ruleName": "service_resp_time_rule",
	"alarmMessage": "服務(wù)【one-more-service】的平均響應(yīng)時(shí)間在最近10分鐘內(nèi)有2分鐘超過1秒",
	"startTime": 1617670815000
}, {
	"scopeId": 2,
	"scope": "SERVICE_INSTANCE",
	"name": "e4b31262acaa47ef92a22b6a2b8a7cb1@192.168.30.11 of one-more-service",
	"id0": "dWF0LWxib2Mtc2VydmljZQ==.1_ZTRiMzEyNjJhY2FhNDdlZjkyYTIyYjZhMmI4YTdjYjFAMTcyLjI0LjMwLjEzOA==",
	"id1": "",
    "ruleName": "instance_jvm_young_gc_count_rule",
	"alarmMessage": "實(shí)例【e4b31262acaa47ef92a22b6a2b8a7cb1@192.168.30.11 of one-more-service】的YoungGC次數(shù)在最近10分鐘內(nèi)有2分鐘超過10次",
	"startTime": 1617670815000
}, {
	"scopeId": 3,
	"scope": "ENDPOINT",
	"name": "/one/more/endpoint in one-more-service",
	"id0": "b25lcGllY2UtYXBp.1_L3RlYWNoZXIvc3R1ZGVudC92aXBsZXNzb25z",
	"id1": "",
    "ruleName": "endpoint_resp_time_rule",
	"alarmMessage": "端點(diǎn)【/one/more/endpoint in one-more-service】的平均響應(yīng)時(shí)間在最近10分鐘內(nèi)有2分鐘超過1秒",
	"startTime": 1617670815000
}]

gRPCHook

告警消息將使用 Protobuf 類型通過gRPC遠(yuǎn)程方法發(fā)送。消息格式的關(guān)鍵信息定義如下:

syntax = "proto3";

option java_multiple_files = true;
option java_package = "org.apache.skywalking.oap.server.core.alarm.grpc";

service AlarmService {
    rpc doAlarm (stream AlarmMessage) returns (Response) {
    }
}

message AlarmMessage {
    int64 scopeId = 1;
    string scope = 2;
    string name = 3;
    string id0 = 4;
    string id1 = 5;
    string ruleName = 6;
    string alarmMessage = 7;
    int64 startTime = 8;
}

message Response {
}

Slack Chat Hook

您需要遵循傳入Webhooks入門指南并創(chuàng)建新的Webhooks。

如果您按以下方式配置了Slack Incoming Webhooks,則告警消息將按 Content-Typeapplication/json 通過HTTP的 POST 方式發(fā)送。

舉個(gè)例子:

slackHooks:
  textTemplate: |-
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": ":alarm_clock: *Apache Skywalking Alarm* \n **%s**."
      }
    }
  webhooks:
    - https://hooks.slack.com/services/x/y/z

微信Hook

只有微信的企業(yè)版才支持 Webhooks ,如何使用微信的 Webhooks 可參見如何配置群機(jī)器人。

如果您按以下方式配置了微信的 Webhooks ,則告警消息將按 Content-Typeapplication/json 通過HTTP的 POST 方式發(fā)送。

舉個(gè)例子:

wechatHooks:
  textTemplate: |-
    {
      "msgtype": "text",
      "text": {
        "content": "Apache SkyWalking 告警: \n %s."
      }
    }
  webhooks:
    - https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=dummy_key

釘釘 Hook

您需要遵循自定義機(jī)器人開放并創(chuàng)建新的Webhooks。為了安全起見,您可以為Webhook網(wǎng)址配置可選的密鑰。

如果您按以下方式配置了釘釘?shù)?Webhooks ,則告警消息將按 Content-Typeapplication/json 通過HTTP的 POST 方式發(fā)送。

舉個(gè)例子:

dingtalkHooks:
  textTemplate: |-
    {
      "msgtype": "text",
      "text": {
        "content": "Apache SkyWalking 告警: \n %s."
      }
    }
  webhooks:
    - url: https://oapi.dingtalk.com/robot/send?access_token=dummy_token
      secret: dummysecret

微信掃描二維碼,關(guān)注java 技術(shù)迷,回復(fù)「電子書」,免費(fèi)獲取Java必讀技術(shù)書籍。

到此這篇關(guān)于Apache SkyWalking 告警配置指南的文章就介紹到這了,更多相關(guān)SkyWalking 告警配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux seq命令的使用方法

    Linux seq命令的使用方法

    這篇文章主要介紹了Linux seq命令的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 在 Linux 系統(tǒng)中手動(dòng)滾動(dòng)日志的方法

    在 Linux 系統(tǒng)中手動(dòng)滾動(dòng)日志的方法

    使用 logrotate 命令可以手動(dòng)執(zhí)行日志滾動(dòng)的操作。本文將要介紹的就是手動(dòng)進(jìn)行日志滾動(dòng)的方法,通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-03-03
  • linux 定時(shí)休眠的實(shí)現(xiàn)思路

    linux 定時(shí)休眠的實(shí)現(xiàn)思路

    這篇文章主要介紹了linux 定時(shí)休眠的實(shí)現(xiàn)思路,休眠的類型有三種類型,文章對每種類型介紹的都很詳細(xì),需要的朋友可以參考下
    2018-07-07
  • Windows 10 下安裝 Apache 2.4.41的教程

    Windows 10 下安裝 Apache 2.4.41的教程

    這篇文章主要介紹了Windows 10 下安裝 Apache 2.4.41的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Linux ipcs命令的使用

    Linux ipcs命令的使用

    這篇文章主要介紹了Linux ipcs命令的使用,幫助大家更好的學(xué)習(xí)和理解Linux,感興趣的朋友可以了解下
    2020-08-08
  • 詳解Linux文本文件與WIN文本文件換行格式轉(zhuǎn)換命令

    詳解Linux文本文件與WIN文本文件換行格式轉(zhuǎn)換命令

    這篇文章主要介紹了詳解Linux文本文件與WIN文本文件換行格式轉(zhuǎn)換命令的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • linux中了minerd之后的完全清理過程(詳解)

    linux中了minerd之后的完全清理過程(詳解)

    下面小編就為大家?guī)硪黄猯inux中了minerd之后的完全清理過程(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • 詳解Linux指令文件覆蓋和文件追加

    詳解Linux指令文件覆蓋和文件追加

    這篇文章主要介紹了Linux指令文件覆蓋和文件追加,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • CentOS 7更新時(shí)出現(xiàn):Multilib version problems問題的解決方法

    CentOS 7更新時(shí)出現(xiàn):Multilib version problems問題的解決方法

    這篇文章主要給大家介紹了關(guān)于CentOS 7系統(tǒng)更新時(shí)出現(xiàn):Multilib version problems問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-11-11
  • linux 后臺(tái)日志 mysql 錯(cuò)誤異常的解釋(推薦)

    linux 后臺(tái)日志 mysql 錯(cuò)誤異常的解釋(推薦)

    下面小編就為大家?guī)硪黄猯inux 后臺(tái)日志 mysql 錯(cuò)誤異常的解釋(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10

最新評論

寿宁县| 长泰县| 德格县| 江西省| 资兴市| 萨嘎县| 乐至县| 湘阴县| 东海县| 道真| 大邑县| 松滋市| 张北县| 宜都市| 阿合奇县| 砚山县| 怀宁县| 彭阳县| 松江区| 舟曲县| 伊川县| 璧山县| 德安县| 永德县| 西贡区| 微山县| 西宁市| 平罗县| 襄汾县| 乳山市| 增城市| 金阳县| 尼玛县| 奈曼旗| 土默特右旗| 侯马市| 余干县| 双峰县| 蕲春县| 揭西县| 临泽县|