【AWS】커스텀 메트릭스를 사용한 프로세스 감시(Linux편)【CloudWatch】

소개



안녕하세요.
CloudWatch에서 프로세스를 모니터링하려고 했을 때 기본 설정만으로는 할 수 없어 상당히 곤란했습니다.
다양한 쪽의 기사를 참고로 프로세스 감시 설정을 했을 때의 메모를 남깁니다.

(20160911 추가)
WIndows 편도 기재했습니다!
【AWS】 커스텀 메트릭을 사용한 프로세스 감시(Windows편) 【Cloudwatch】

개요



이번 기재 내용은 주로 아래와 같습니다.
모니터링하는 프로세스는 [chrony]입니다.
  • 사용자 지정 메트릭에 대한 IAM 만들기
  • CloudWatch용 도구 다운로드
  • 사용자 지정 메트릭 만들기

  • 전제



    · Red Hat Enterprise Linux 7.1 (HVM), SSD Volume Type - ami-b1b458b1
    Amazon Linux를 사용하지 않는 절차를 설명합니다.
    · 콘솔에 로그인할 수 있는 계정

    ① 커스텀 메트릭스용 IAM 작성



    사용자 지정 지표를 CloudWatch로 보내려면 PutMetricData 권한이 있는 IAM 액세스 키와 비밀 액세스 키가 필요합니다.
    먼저 그 권한을 가진 IAM을 만듭니다.

    이번 권한은 아래와 같이 했습니다.
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "xxxxxxxxxxxxxx",
                "Effect": "Allow",
                "Action": [
                    "cloudwatch:PutMetricData"
                ],
                "Resource": [
                    "*"
                ]
            }
        ]
    }
    

    작성한 IAM에서 액세스 키 ID와 비밀 액세스 키를 발행하십시오.

    ②CloudWatch용 툴 준비



    CloudWatch용 도구를 준비합니다.

    · SSH로 EC2에 연결합니다.

    · wget 명령을 사용할 수 없으므로 wget 설치sudo yum install wget
    · CloudWatch 명령 도구 용 폴더 만들기mkdir bin
    · CloudWatch 명령 도구 다운로드cd binwget http://ec2-downloads.s3.amazonaws.com/CloudWatch-2010-08-01.zip
    · unzip도 들어 있지 않았다 ...
    unzip CloudWatch-2010-08-01.zip
    -bash: unzip: コマンドが見つかりません
    

    · unzip 설치sudo yum install unzip
    · 다시 zip 압축 해제 및 zip 파일 삭제sudo unzip CloudWatch-2010-08-01.ziprm CloudWatch-2010-08-01.zip
    · CloudWatch에 액세스하기 위해 CloudWatch 인증서 정보 템플릿 복사cd CloudWatch-1.0.20.0/sudo cp credential-file-path.template credentials
    ・증명서 정보 정보의 재기록
    이전에 작성한 액세스 키 ID와 비밀 키를 입력하십시오.
    sudo vi credentials 
    AWSAccessKeyId=<アクセスキー ID入力>
    AWSSecretKey=<シークレットキー入力>
    

    ③ 사용자 정의 메트릭 생성



    ClooudWatch에 맞춤 측정항목을 보내는 셸을 만듭니다.

    · CloudWatch 명령 도구를 사용하려면 java가 필요하므로 설치sudo yum install java-1.7.0-openjdk
    ・쉘 작성
    chronyd가 움직이면 1을 반환합니다.
    chronyd가 중지되면 0을 반환합니다.

    custom_metrics.sh
    #!/bin/bash
    
    export AWS_CLOUDWATCH_HOME=/home/ec2-user/bin/CloudWatch-1.0.20.0
    export AWS_CREDENTIAL_FILE=$AWS_CLOUDWATCH_HOME/credentials
    export AWS_CLOUDWATCH_URL=https://monitoring.amazonaws.com
    export PATH=$AWS_CLOUDWATCH_HOME/bin:$PATH
    export JAVA_HOME=/usr/lib/jvm/jre
    
    InstanceId=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
    
    chrony=`ps cax | grep chronyd | wc -l`
    
    if [ "$chrony" -gt "0" ]; then
     Processes=1
    else
     Processes=0
    fi
    
    mon-put-data --metric-name "chrony Processes" --namespace "System/Linux" --dimensions "InstanceId=$InstanceId" --value "$Processes" --unit "Count" --region ap-northeast-1
    
    

    · 쉘에 실행 권한 부여
    cron에서도 실행할 수 있습니다.sudo chmod 755 custom_metrics.sh
    · 쉘 실행
    CloudWatch에 맞춤 측정항목이 전송됩니다!sh custom_metrics.sh
    · [AWS Console] - [CloudWatch-Metric] - [Linux System> InstanceId]에서 동작 확인
    chrony가 기동하고 있는 경우 1을 돌려주고 있습니다. #보기 어렵고 미안해...


    chrony가 정지하고 있는 경우 0을 돌려주고 있습니다.


    제대로 작동하고 있습니다.
    정기적으로 실행하려면, 방금 만든 쉘을 cron에 등록하십시오.

    또한 커스텀 메트릭의 값을 트리거로 알람을 설정하면,
    프로세스의 감시를 여러가지 커스터마이즈 할 수 있군요.

    수정이 필요한 부분 등 있으면 연락 부탁드립니다!
    그럼 무례합니다!

    참고 사이트



    · htp // stk-in c. 이. jp/2013/01/아ws-cぉ우도ぁtch-에c2/
    · ぃ tp // 이 m / 히 r / ms / 5d5c7cdb5 580bd7 아 5

    좋은 웹페이지 즐겨찾기