Apify 및 Integromat을 사용하여 무료로 사이트 가동 시간 모니터링
게시 됨: 2019-06-08가동 시간 모니터링 서비스가 꽤 있지만 불행히도 대부분은 월간 구독이 필요합니다. 실제로 다소 신뢰할 수 있는 몇 가지 무료 서비스는 웹사이트를 확인하는 방법에 대해 많은 제어를 제공하지 않습니다. 내가 가장 좋아하는 모니터링 서비스는 Pingdom이었지만 최근에 무료 요금제를 중단하여 새로운 것을 찾아야 했습니다. 몇 가지 실험을 거친 후 모니터링 요구 사항에 맞는 방식으로 Apify 및 Integromat을 설정할 수 있었습니다.
먼저 두 서비스에 대한 간략한 소개입니다.
아피파이
Apify는 "웹 스크래핑 및 자동화 플랫폼"입니다. 기본적으로 모든 웹사이트를 크롤링하고 사용 가능한 정보를 사용하기 쉬운 API로 변환할 수 있습니다. 예를 들어 Google에는 검색 결과를 가져오기 위한 공식 API가 없으므로 유일한 옵션은 Google SERP에서 HTML을 스크랩하고 필요한 데이터를 추출하는 것입니다. Apify는 이 프로세스를 쉽게 자동화할 수 있습니다. 우리의 경우 웹사이트가 온라인 상태인지 확인하기 위해 자체 웹사이트를 크롤링하도록 구성합니다.
인테그로매트
이 서비스는 온라인 자동화 플랫폼입니다. 특정 트리거에서 수행되는 작업을 정의할 수 있습니다. 예를 들어 누군가가 Google 양식을 제출하는 즉시 새 작업이 할 일 목록 앱에서 생성되는 시나리오를 정의할 수 있습니다. 즉, 서로 직접 통신하지 않는 서비스를 통합합니다.
이 시나리오에서는 Integromat을 사용하여 Apify가 문제를 감지할 때 알림을 보냅니다.
프로세스 개요
작동 방식에 대한 간략한 개요는 다음과 같습니다.
- Apify는 웹사이트의 페이지를 정기적으로 크롤링하고 키워드를 찾습니다.
- Integromat의 모듈은 각 크롤링이 끝날 때 결과를 수신합니다.
- 필터가 크롤링 데이터를 확인하여 웹사이트가 오프라인인지 또는 필수 키워드를 찾을 수 없는지 확인합니다.
- 웹사이트가 오프라인인 경우 필터는 두 번째 Integromat 모듈을 실행하고 알림을 보냅니다.
시작하자!
아피파이 설정
- 무료 Apify 계정에 가입하거나 기존 계정이 있는 경우 로그인
- 계정의 크롤러 섹션으로 이동하여 새 크롤러를 만드십시오.
- 기본 설정 탭에서 크롤러 이름을 추가하십시오.
- "시작 URL" 필드에 확인하려는 URL을 입력합니다.
- 크롤러가 웹사이트에서 이동하는 것을 원하지 않으므로 "클릭 가능한 요소" 필드에서 모든 것을 제거하십시오. 한 페이지만 확인하고 싶습니다.
- "페이지 기능" 영역에 다음 코드를 추가합니다. "YOUR KEYWORD HERE" 키워드에 대한 페이지 본문을 확인합니다. 이것을 자신의 키워드로 바꾸십시오.
function pageFunction(context) { // called on every page the crawler visits, use it to extract data from it var $ = context.jQuery; var result = { title: $('title').text(), online: $('body').text().indexOf('YOUR KEYWORD HERE') !== -1 ? '1' : '0' }; return result; }
- 고급 설정 탭으로 전환
- 단일 페이지만 확인하고 싶기 때문에 '크롤링당 최대 페이지 수'를 1로 설정합니다.
- 크롤러 설정 저장
- 콘솔 실행 탭으로 전환
- 실행 버튼을 클릭하고 결과 아래에 올바른 값이 표시되는지 확인합니다.
- 사이드바에서 "스케줄"을 선택하고 "새로 만들기"를 클릭하십시오.
- "설정" 탭 아래의 "Cron 표현식" 필드에 @hourly를 입력하고 설정을 저장합니다.
- "크롤러" 탭으로 전환하고 크롤러를 추가하고 저장합니다. 이제 새 크롤러가 매시간 실행됩니다.
설치 Integromat
- 무료 Integromat 계정에 가입하거나 기존 계정이 있는 경우 로그인하십시오.
- 화면 오른쪽 상단에 있는 새 시나리오 만들기 버튼을 클릭합니다.
- "어떤 서비스를 통합하시겠습니까?"라는 질문이 표시됩니다. Apify를 선택하고 계속을 누릅니다.
- 화면 중앙의 물음표 클릭 후 Apify 선택
- 트리거에서 "Watch Crawler Executions"를 선택하십시오.
- 웹훅을 입력하라는 메시지가 표시되면 "추가" 버튼을 클릭합니다.
- "후크 추가" 팝업에서 "연결" 아래의 "추가" 버튼을 클릭합니다.
- "연결 만들기" 팝업에서 Apify 자격 증명을 추가하고 계속을 클릭합니다. Apify 계정의
Account > Integrations
에서 "사용자 ID" 및 "API 토큰"을 얻을 수 있습니다.
- 연결이 추가되면 "크롤러" 드롭다운에서 이전 단계에서 생성한 Apify 크롤러를 선택합니다.
- "후크 추가" 팝업에서 "저장"을 클릭합니다.
- 기본 Apify 팝업에서 "확인"을 클릭하십시오.
- 이제 새 웹훅이 준비되었습니다. 아휴!
이제 Apify 크롤링에 대한 리스너를 성공적으로 생성했습니다. 이제 크롤링이 완료될 때 작업을 추가해야 합니다. 이를 위해서는 다른 모듈을 추가해야 합니다. 여기에서 원하는 모듈을 추가할 수 있습니다. 받은 편지함으로 알림을 보낼 Gmail 모듈을 추가하도록 선택할 수 있습니다. 화면상의 지시 사항이 매우 자명하기 때문에 이 부분에 대한 지시 사항은 건너뛰겠습니다. 개인적으로 제3자에게 제 이메일에 대한 액세스 권한을 부여하는 것이 불편했기 때문에 두 번째 모듈로 Slack을 선택했습니다.
두 번째 모듈을 추가했으면 두 모듈을 연결하는 세 개의 점을 클릭하고 다음 값을 추가합니다.
즉, Apify에서 보낸 크롤링 데이터에 'online' 속성이 없거나(서버 시간 초과 오류 등의 경우) 사용 가능한 'online' 속성이 있지만 값이 0인 경우에만 두 번째 모듈이 실행되기를 원합니다. (페이지가 제대로 로드되었지만 키워드를 찾을 수 없음).
테스트
Apify 크롤러 설정을 열고 액세스할 수 없는 URL을 "시작 URL" 필드 값으로 저장합니다. 이제 새 크롤링을 실행하면 예상대로 실패하고 Integromat의 두 번째 모듈이 트리거되고 새 알림을 받게 됩니다!
그게 다야! 귀하의 웹사이트는 현재 24시간 모니터링되고 있으며 1달러를 지불할 필요가 없습니다. 이 기사에 언급된 두 가지 서비스를 자유롭게 탐색하여 더 멋진 옵션과 사용 사례를 찾으십시오.