벌집 SLO는 현재 보편적으로 사용할 수 있습니다: 성공, 정의.

백엔드 서비스의 운행 상황을 표시하기 위해 파생열을 만들었습니다.이 칼럼은 모든 전송 이벤트를 통과, 실패, 무관으로 분류합니다.그리고 우리는 몇 개의 이벤트가 통과되고 실패했는지 보기 위해 일정 시간 동안의 열 수를 계산했다.그러나 우리에게는 문제가 하나 있다. 우리끼리 하는 수학이 너무 많다.
이 문제를 해결하기 위해 벌집이 발표되었다SLO Support!는 것은 이상하지 않다. 벌집은 바로 우리가 위에서 토론한 원칙에 기초한 것이다.
생각해 보면 파생열은 다음과 같다.
IF(
  AND(
   EQUALS($request.endpoint, "batch"),
   EQUALS($request.method, "POST")
  ),
  AND(
   EQUALS($response.status_code, 200),
   LT($duration_ms, 100)
  )
)
이는 "일괄 처리 노드에 도달하는 요청만 계산하고 POST 방법을 사용합니다. 만약 그들이 이렇게 한다면, 만약 우리가 100밀리초 안에 SLI를 처리하고 200으로 되돌아온다면 실패라고 할 것입니다."라는 뜻이다.총 요청 비율을 SLI 성공률로 계산합니다.예를 들어 지난 30일 동안 99.4%의 SLI 성공률을 성공적으로 달성했다고 할 수 있습니다.

이런 구조를 형식화하다

  • SLI를 선택합니다.SLI(Service Level Initiator)에는 데이터 세트의 모든 이벤트를 무관, 통과, 실패 등의 세 그룹으로 그룹화하는 기능이 포함됩니다.
  • 이 등급에 대해 우리는 지금 457을 선택한다.관련 활동에서 99.95%의 활동이 통과되기를 희망합니다.
  • 마지막으로 "30일마다 99.95%의 SLI 통과율을 예상합니다."
  • 이렇게 하면 SLI의 표현을 계량화할 수 있다는 장점이 있다.우리는 데이터 집합을 보고 이벤트의 성공 비율을 볼 수 있다.
    이것은 항상 미세한 오류 상태에 있는 시스템을 생각하는 데 매우 유용한 방법이다.일반적인 소음이 발생한다.이것은 일시적인 고장이나 간혹 경보를 초래할 수 있다.우리는 이 구조를 사용해서 이런 미세한 운행 오류가 우리에게 얼마나 많은 손실을 초래했는지 물어볼 수 있다.
    (솔직히 재난적인 고장이 발생했을 때 SLO는 그다지 놀랍지 않았다. 콘솔마다 불빛이 빨간색으로 깜박이고 휴대전화가 윙윙거렸다. 이런 상황에서 우리는 SLO를 사용하여'이 사건이 얼마나 심각한지'를 추정할 것이다.)

    너의 잘못된 예산을 이해하다


    주어진 30일 안에 10만 개의 관련 사건을 볼 수 있을 것이라고 가정해 봅시다.예를 들어 지난 27일 동안 700개가 실패했다.앞으로 3일 동안 우리는 다른 300경기의 실패를 감당할 수 있을 뿐만 아니라 99.9%의 SLO도 유지할 수 있다.
    이것이 바로 잘못된 예산의 개념이다.벌집의 실현에서 잘못된 예산은 끊임없이 굴러간다. 언제든지 낡은 잘못은 과거로 굴러다니며 예산을 계산하지 않는다.

    우리의 예시에서, 우리는 세계가 이렇게 보인다고 가정한다. 맨 위의 회색선은 시스템이 보낸 사건의 총수이다.그것은 변하지 않는다.주황색 선에 오류가 표시됩니다.
    이 도표에서 잘못된 Y 눈금이 과장되었다. 왜냐하면 99.9%의 속도로 실행한다면, 이것은 오류의 수가 성공의 1/1000이라는 것을 의미한다.(주황색 선은 작아요!)
    33일 전에 오류 수가 급증하는 사건이 발생했다.다행히도 우리는 곧 국면을 제어했다.2주 전에 비교적 느린 연소 사건이 발생해 해결되기까지 시간이 더 걸렸다.

    소각도를 검사하다


    우리가 예산에 쓴 시간을 추적할 수 있다면 다행이다.우리가 지난달에 가장 고통스러웠던 부분은 그 첨봉들이었나요?아니면 몇 번 전에 우리가 작은, 연속적인 배경이 불타서 그런가?그 배경 사건들은 우리에게 얼마의 돈을 썼습니까?
    소모 도표는 지난달과 매일 소모되는 예산을 나타낸다.만약 우리가 지난주에 도표를 보았다면, 우리는 너의 마지막 30일 동안 첫 번째 사건에 걸렸고, 또 두 번째 사건에 의해 매우 심하게 불타는 것을 발견할 수 있을 것이다.남은 시간은 느리고 지속적인 연소였다. 그리 나쁘지 않았다.이것은 우리가 결정을 내리는 데 도움이 된다. 우리는 단지 매달 억지로 예산을 짜고 있을 뿐인가?손실은 사고로 인한 것입니까, 아니면 우리가 시간에 따라 천천히 연소하기 때문입니까?
    graph showing downward trend of burn-down
    이거 둘 다!일부 시스템에 대해 말하자면, 간혹 발생하는 오류를 느리고 온화하게 처리하는 것은 완전히 합리적이다.다른 사람들에 대해서 우리는 더 심각한 정지를 보상하기 위해 가루를 건조하기를 희망합니다.
    6일 전의 도표는 사람을 낙담하게 했다.첫 번째 사고는 한 번의 사고에서 40퍼센트의 예산을 소모했다.일반적인'매일 몇 퍼센트'의 속도는 예산이 거의 다 썼다는 것을 의미한다.
    하지만 오늘의 연소도를 보면 상황이 더 좋아질 것 같아!첫 번째는 불문율이다. 지금 우리는 D2의 잘못을 보완하고 있을 뿐이다.언젠가는 이 점도 잊혀질 것이다.

    우리는 또 우리와 목표의 비교를 보아야 한다.SLI를 통한 이벤트의 백분율은 매일 계산됩니다.보시다시피 대부분의 30일 동안 우리는 보통 95% 이상이다.첫 번째 사고의 슬럼프에서, 상황은 상당히 엉망이었다. 두 번째 사고에서 우리는 다시 실패했다. 그러나 지금 우리는 더욱 높은 수준을 유지하고 있다.

    이제 이 모든 삽화들은 우리의 문제가 편안하게 지나간 순간을 보여 준다.문제 해결에 좋은 곳이지만 모든 문제가 해결되면 벌집을 사용하지 않을 것이다.이것이 바로 두 가지 중요한 SLO를 고려해야 하는 이유입니다.

    SLO 연소 경고


    오류율이 점차 증가할 때, 우리가 언제 예산을 초과할지 아는 것이 가장 좋다.벌집 회사는 SLO가 언제 예산을 초과할지 표시하기 위해 소록 경보를 만들었다.그린라인은 점차 축소되는 예산을 보여주고 있지만 창구는 약간 조정됐다.
    그리고 벌집은 미래를 예측한다.주황색 선은 우리의 마지막 한 시간 상황을 보여 주고 다음 네 시간 동안 삽입한다.이 그림에서는 4시간 예상치가 0 이하로 떨어지므로 경고가 표시됩니다.

    잘못된 예산을 다 쓰는 데 얼마나 걸릴지 알 수 있다.그것은 완만한 실패를 예방하는 경고로 쓸 수 있다.
    몇 개의 다른 시간 범위가 정말 유용하다.24시간 경보는 "당신의 서비스 품질이 느리게 떨어진다. 그것을 복구하고 싶을 수도 있다. 그러나 아침에 다시 걱정해라."라고 의미할 수 있다.4시간 경보는'해독할 때가 됐다'(벌집에서는 빈 채널에 24시간 경보를 보내는 경향이 있지만, Pager Duty에는 4시간 경보를 보내는 경향이 있다).

    문제의 원인을 찾아내다


    만약 우리가 당신에게 문제를 깊이 연구할 수 있는 도구를 제공하지 않았다면, 이것은 벌집이 아니었을 것입니다.SLO 페이지에는 지난 24시간 동안HeatmapBubbleUp가 표시되어 있으므로 변경 사항과 대응 방법에 대해 자세히 알 수 있습니다.
    여기에 좋은 예가 하나 있다. 벌집 도구의 SLO 페이지는 렌더링 속도에 주목한다.(예, 우리는 심지어 최종 사용자 체험에 SLO를 설정했습니다!)이것은 매우 느슨한 SLO이다. 정말, 만약 우리의 페이지가 갑자기 매우 나빠진다면, 우리는 그것을 계속 유지해서 우리에게 경고할 것이다. 그러나 우리는 우리가 목표를 실현하는 데 잘하고 있다는 것을 알 수 있다.

    페이지의 하반부에 문제의 출처를 보여 줍니다.Bubble Up 히트맵은 활동의 마지막 날을 보여 줍니다: 위의 것은 노란색입니다. 이것은 이 활동들이SLI를 통과할 수 없다는 것을 의미합니다.아래는 파란색으로 SLI를 준수합니다.우리는 이런 상황이 대부분 사건이 매우 느릴 때 발생하는 것을 볼 수 있다.
    우리도 그곳에서 볼 수 있다. 이것은 최악의 경험을 하고, 특정한 사용자의 전자메일이 느리게 실행되는 것처럼 특정한 페이지이다.이것은 매우 멋진 견해이다. 어디로 가야 할지, 그리고 그것을 어떻게 처리해야 할지 알려주는 것이다.리프로캐스트가 무엇을 찾아야 하는지, 이 사용자가 무슨 이상한 짓을 하고 있는지 알아내도록 한다.

    이제 당신의 SLO를 정의합니다


    Honeycomb SLOs 엔터프라이즈/연간 계약 고객에게 제공됩니다.우리는 당신이 SLO를 어떻게 생각하는지, 그리고 당신이 SLO를 사용하는 목적에 대해 더 많은 것을 알고 싶습니다.
    이 블로그 시리즈의 마지막 부분을 읽으십시오.
    벌집 초보자?Get started for free !

    좋은 웹페이지 즐겨찾기