본문 바로가기

리눅스

Zabbix-cloudwatch-integration 적용

반응형

Zabbix-cloudwatch-integration 적용

[웹 콘솔 작업]

https://www.zabbix.com/integrations/cloudwatch

z1

XML(cloudwatch_template.xml) 문서 임포트

git clone https://github.com/wawastein/zabbix-cloudwatch.git

> git clone https://github.com/wawastein/zabbix-cloudwatch.git
Cloning into 'zabbix-cloudwatch'...
remote: Enumerating objects: 93, done.
Receiving objects:  33% (31/93)used 0 (delta 0), pack-reused 93
Receiving objects: 100% (93/93), 39.27 KiB | 4.91 MiB/s, done.
Resolving deltas: 100% (38/38), done.

 

  • ZABBIX 콘솔 화면에서 템플릿 임포트(가져오기)
    • 설정 > 템플릿 > 가져오기

z2

 

  • cloudwatch_template.xml 편집(zabbix-server 5.0)
    • 원본 파일에서 536, 576, 593라인에 있는 대괄호"]["만 제거하면 됩니다.

편집 전

536
<key>instances[{#TARGET_GROUP_LOAD_BALANCER_NAME}{#TARGET_GROUP_NAME}]</key>

576
<expression>{Cloudwatch Template:instances[{#TARGET_GROUP_LOAD_BALANCER_NAME}{#TARGET_GROUP_NAME}].last()}=-1</expression>

593
<expression>{Cloudwatch Template:instances[{#TARGET_GROUP_LOAD_BALANCER_NAME}{#TARGET_GROUP_NAME}].last()}=0</expression>

편집 후

536
<key>instances[{#TARGET_GROUP_LOAD_BALANCER_NAME}][{#TARGET_GROUP_NAME}]</key>

576
<expression>{Cloudwatch Template:instances[{#TARGET_GROUP_LOAD_BALANCER_NAME}][{#TARGET_GROUP_NAME}].last()}=-1</expression>

593
<expression>{Cloudwatch Template:instances[{#TARGET_GROUP_LOAD_BALANCER_NAME}][{#TARGET_GROUP_NAME}].last()}=0</expression>

cloudwatch_template.xml 편집 전에 파일을 임포트(가져오기) 시키면 zabbix-server 5.0 버전에서는 아래와 같은 에러가 발생합니다.

z3

[자빅스 서버 작업]

자박스 서버에 스크립트 파일 복사

zabbix-cloudwatch 파일 다운로드

$ git clone https://github.com/wawastein/zabbix-cloudwatch.git
'zabbix-cloudwatch'에 복제합니다...
remote: Enumerating objects: 93, done.
remote: Total 93 (delta 0), reused 0 (delta 0), pack-reused 93
오브젝트 묶음 푸는 중: 100% (93/93), 39.25 KiB | 1.40 MiB/s, 완료.

스크립트 파일 복사

cd zabbix-cloudwatch

externalscripts copy

cp zabbix-scripts/externalscripts/aws.discovery /usr/lib/zabbix/externalscripts/.
cp zabbix-scripts/externalscripts/cloudwatch.metric /usr/lib/zabbix/externalscripts/.

scripts copy

cp -rf zabbix-scripts/scripts /usr/lib/zabbix/.

aws.conf 편집

vim /usr/lib/zabbix/scripts/conf/aws.conf
$ vim /usr/lib/zabbix/scripts/conf/aws.conf 
[account-name]
key = <aws_access_key_id>
secret = <aws_secret_access_key>

추가된 스크립트 파일을 인식하기 위해 자빅스 서버를 재기동합니다.

systemctl restart zabbix-server

[웹 콘솔 작업]

호스트 등록

  • 설정 > 호스트 > 호스트 작성

z4

  • 호스트 명 : Cloudwatch_Seoul
  • 그룹 : AWS
  • Interfaces / 에이전트 : 0.0.0.0 (보기와 동일하게 설정)

z5

  • {$ACCOUNT} : AWS 계정
  • {$REGION} : AWS 리전

z6

 

728x90
반응형