Google Cloud Platform Monitoring
개요
GCP에서 제공되는 Stackdriver를 통한 Project 별 Instance 정보를 모니터링합니다.
Connection GCP
GCP를 Project별로 추가, 수정, 삭제 합니다.
GCP 추가
입력항목
Name | Comment |
Project | GCP의 Project |
Service Account Email Address | GCP의 Service Account Email Address |
Service Account Private Key | GCP의 Service Account Private Key |
“Cloud” 탭 버튼을 클릭하면 Cloud Tree List 화면으로 변경됩니다.
“Google Cloud Platform에 마우스 오버시 Add Project 버튼이 활성화 됩니다.
“Add Project” 버튼을 클릭하면 ADD PROJECT 등록 팝업이 실행됩니다.
GCP 정보를 입력후 “Save Project” 버튼을 클릭하면 GCP Project가 추가됩니다.
GCP 수정
Project에 마우스 오버시 수정 버튼이 활성화됩니다.
수정 버튼 클릭시 Update Project 팝업이 실행되고 해당 Project 정보가 출력됩니다.
Project 정보를 수정하고 Update Project 버튼을 클릭하면 Project 정보가 수정됩니다.
GCP 삭제
Project에 마우스 오버시 삭제 버튼이 활성화됩니다.
삭제 버튼 클릭시 해당 Project 정보가 삭제됩니다.
GCP 정보 조회
GCP의 Instance의 정보를 Topology를 통해 시계열 데이터를 시각화하여 제공하고 Instance의 각종 Detail 정보를 제공합니다.
GCP 시계열 데이터
Topology에서 해당 Instance를 선택하면 시계열 데이터를 시각화하여 하단에 표시에 줍니다.
Get from 사용해 Agent 및 StackDriver를 필터링 하여 확인 할 수 있습니다.
GCP Instance Detail 정보
Topology에서 해당 Instance를 선택하고 Detail 탭으로 이동하면 해당 Instance의 Detail 정보를 확인할 수 있습니다.
GCP Inventory Topology Draw 기능
Google Cloud Platform에 추가된 Project를 Drag&Drop 하면 해당 Project의 모든 Instance가 Topology에 그려집니다.
Host 탭에서 GCP 정보 조회
Host에서 GCP 탭을 선택하면 Inventory Topology에서 등록한 GCP Instance의 상태 및 시계열 데이터를 시각화하여 제공합니다.
Get from 사용해 Agent 및 StackDriver를 필터링 하여 확인 할 수 있습니다.
Stackdriver Google Cloud Monitoring Input Plugin
이 플러그인은 Google Stackdriver에서 통계 지표를 가져옵니다.
GCP 서비스 계정 키 생성
Cloud Console에서 만든 서비스 계정의 이메일 주소를 클릭합니다.
키를 클릭합니다.
키 추가를 클릭한 후 새 키 만들기를 클릭합니다.
만들기를 클릭합니다. JSON 키 파일이 컴퓨터에 다운로드됩니다.
닫기를 클릭합니다.
Telegraf Service 파일에 GCP 환경 변수 설정
telegraf service path : $ vim /usr/lib/systemd/system/telegraf.service
Telegraf Service 파일의 [Service] 에 Environment="GOOGLE_APPLICATION_CREDENTIALS=<KEY_PATH>" 추가합니다.
[Unit]
Description=The plugin-driven server agent for reporting metrics into InfluxDB
Documentation=https://github.com/influxdata/telegraf
After=network.target
[Service]
Environment="GOOGLE_APPLICATION_CREDENTIALS=<KEY_PATH>"
EnvironmentFile=-/etc/default/telegraf
User=telegraf
ExecStart=/usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d $TELEGRAF_OPTS
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartForceExitStatus=SIGPIPE
KillMode=control-group
[Install]
WantedBy=multi-user.target
$ systemctl daemon-reload
$ systemctl restart telegraf
Telegraf Stackdriver Input Plugin (Sample)
Stackdriver 데이터를 수집할 Minion의 Collector.conf 에 아래와 같이 Plugin을 추가합니다.
[[inputs.stackdriver]]
project = <GCP-Project ID>
metric_type_prefix_include = [
"compute.googleapis.com",
"agent.googleapis.com",
"networking.googleapis.com"
]
interval = "1m"
자세한 내용은 링크 참조 Stackdriver Input Plugin