YUMSERV
article thumbnail
Published 2020. 5. 11. 21:44
Nagios 텔래그램 연동 MONITORING
반응형

 

Nagios 서버와 클라이언트를 구축했다면, 이제 텔래그램을 통해서 Nagios 알람을 받는 방법을 알아봅시다.

 

이전 Nagios 서버 구축과 클라이언트 구축 참고 글 아래 글 클릭

[LINUX/MONITORING] - Nagios 서버 구성

[LINUX/MONITORING] - Nagios 클라이언트 구성

 

 

** 텔래그램 연동

** Nagios 서버쪽에서 설치 진행

 

1. 1. 텔래그램이 설치

<bash />
$ wget -O /usr/local/bin/nagios_telegram.py https://raw.githubusercontent.com/pommi/telegram_nagios/master/telegram_nagios.py $ chmod 755 /usr/local/bin/nagios_telegram.py $ yum install python-pip $ pip install twx.botapi

 

2. 2. 텔레그램 Nagios 봇 만들기

botfather를 통해서 봇을 만들어주면 됩니다.

 

 

bot father를 통해서 봇을 새롭게 생성을 하게되면 HTTP_API 토큰값을 받을 수 있으며, 이 값을 통해서 nagios와 연동해 전송할 수 있습니다.

 

이제 Chat ID값을 알아보기 위해 아래와 같이 값을 확인해봅시다.

위에 t.me/ 로 시작하는 공개링크를 들어가게 되면 아래와 같이 봇을 시작할 수 있습니다.

봇을 시작하면 브라우저 입력창에 아래와 같이 입력합니다.

https://api.telegram.org/botHTTP_API값/getupdates

 

 

그 다음에 START 버튼을 클릭하게 되면 방금 전 들어갔던 url창으로 다시 접속하게 되면 Chat ID값을 확인할 수 있습니다.

 

 

여기서 id로 시작하는 부분이 이 봇과 저의 대한 대화의 Chat ID값입니다.

 

 

만약 봇과, 저, 뿐만아니라 그룹을 만들경우, 해당 봇을 초대해서 그룹을 만든 다음에, 위의 URL를 통해 새로 만들어진 그룹에 대한 Chat ID값을 받습니다. 그룹의 경우 id값이 -로 표기됩니다.

 

 

3. 3. telegram 연동 설정파일 수정

<bash />
$ cd /usr/local/nagios/etc/objects $ vi contact.cfg # 모든 내용 주석처리 후 아래 내용 추가 define contact{ contact_name telegram alias telegram service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,r service_notification_commands notify-service-by-telegram host_notification_commands notify-host-by-telegram } define contactgroup{ contactgroup_name admins alias Nagios Administrators members telegram }

 

<bash />
$ vi commands.cfg # 맨아래에 내용 추가 # 봇을 만들때 사용하던 HTTP_API값을 넣어줍니다. define command { command_name notify-host-by-telegram command_line /usr/local/bin/nagios_telegram.py --token HTTP_API값 --object_type host --contact "$USER2$" --notificationtype "$NOTIFICATIONTYPE$" --hoststate "$HOSTSTATE$" --hostname "$HOSTNAME$" --hostaddress "$HOSTADDRESS$" --output "$HOSTOUTPUT$" } define command { command_name notify-service-by-telegram command_line /usr/local/bin/nagios_telegram.py --token HTTP_API값 --object_type service --contact "$USER2$" --notificationtype "$NOTIFICATIONTYPE$" --servicestate "$SERVICESTATE$" --hostname "$HOSTNAME$" --servicedesc "$SERVICEDESC$" --output "$SERVICEOUTPUT$" }

 

<bash />
$ cd /usr/local/nagios/etc/ $ vi resource.cfg # 모든 내용 주석처리 후, 아래 내용 추가 # 봇을 만들때, ID값과, HTTP_API값을 추가해주면 됩니다. $USER1$=/usr/local/nagios/libexec $USER2$=ID값 $USER3$=HTTP_API값

 

텔래그램이 정상적으로 발송되는지 확인하기 위한 테스트

<bash />
$ /usr/local/bin/nagios_telegram.py --token HTTP_API값 --object_type service --contact "ID값" --servicestate "OK" --hostname "test" --servicedesc "load" --output "OK - load average: 0.02 0.01 0.01

 

<bash />
$ service nagios restart

 

정상적으로 발송되면 아래와 같이 오게 됩니다.

 

 

 

반응형

'MONITORING' 카테고리의 다른 글

NSClient++ 로 윈도우 서버 모니터링  (0) 2020.06.30
Nagios Plugin 활용  (0) 2020.05.12
Nagios 클라이언트 구성  (0) 2020.05.11
Nagios 서버 구성  (0) 2020.05.05
Zabbix 4.2 설치 및 설정  (0) 2019.06.01
profile

YUMSERV

@lena04301

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!