꼬반 Blog

[Slack] Slack-Bot 으로 웹 서비스 모니터링 하기

회사에서는 다양한 방식으로 모니터링을 하고 있다. 일단 기본적으로 Nagios로 전반적인 서비스와 하드웨어 등을 모니터링 하고 있고 외부 모니터링 도구로 whatap.io 로 서버와 중요 url 5개(무료 제한) 를 모니터링 하고 있다. 각 서버 로그는 telegraf - influxdb - grafana / filebeat - elastic - kibana 로 이중화 하여 수집 및 모니터링을 하고 있다. 그럼에도 불구하고 안정적인 서비스를 위한 모니터링에는 끝이 없다. 그래서 이번에 Slack-Bot 을 활용하여 웹 서비스를 간편하게 체크할 수 있도록 해보았다. 먼저 개발은 다음과 같은 환경으로 진행하였다. 1. 웹 서비스 40개의 status code 와 응답시간을 체크 -> Golang 으로 개발 ..

Read More

[Slack] Slack-Bot 으로 웹 서비스 모니터링 하기

회사에서는 다양한 방식으로 모니터링을 하고 있다. 


일단 기본적으로 Nagios로 전반적인 서비스와 하드웨어 등을 모니터링 하고 있고


외부 모니터링 도구로 whatap.io 로 서버와 중요 url 5개(무료 제한) 를 모니터링 하고 있다.


각 서버 로그는 telegraf - influxdb - grafana / filebeat - elastic - kibana 로 이중화 하여


수집 및 모니터링을 하고 있다.


그럼에도 불구하고 안정적인 서비스를 위한 모니터링에는 끝이 없다.


그래서 이번에 Slack-Bot 을 활용하여 웹 서비스를 간편하게 체크할 수 있도록 해보았다.


먼저 개발은 다음과 같은 환경으로 진행하였다.


1. 웹 서비스 40개의 status code 와 응답시간을 체크 -> Golang 으로 개발


2. Node.js 로 Slack-Bot 개발 및 세팅


3. Slack 에서 정해진 키워드를 받으면 Bot 에서 1번에서 개발한 프로그램을 실행하여 결과를 

   메신져로 전송


아래는 결과물이다.



먼저 1번 항목의 경우 Golang 으로 작성한 이유는 Golang을 써보고 싶었고...


Golang에서 지원하는 고루틴이 매우 좋은 성능을 나타내기 때문이다. 


모바일 Slack App 에서도 동일하게 동작함을 확인하였고, 이로써 모니터링 도구가 하나더 추가되었다.


(모..모니터링 지옥이라능!)


수, 목, 금 3일동안 프로토타입은 나왔으니 앞으로 좀 가다듬으서 더 쓸만한 Bot을 만들어봐야겠다.


추신1. 이상 항목 1은 현재 내부에서만 접근가능하게 되어 있어서 나오는 항목으로 실제론 이상이 있지 않습니다?


추신 2. 아래 몇몇 서비스가 3초 이상으로 시간이 많이 걸리는데 올해 정리할 예정..

          (X키를 눌러 조의를 표하십시오.)


추신 3. 개발과 Bot 을 윈도우 환경에서 돌렸는데 생각보다 꽤 환경이 쾌적해서 놀랐..

          (Visual Studio Code - Golang - Node.js / VSC 에 각 Plugin 들을 설치하고 사용하니

           해당 프로그램 하나 켜놓고 다 작업하고 터미널도 바로 열리고 아주 맘에 들었습니다~)

반응형

Article By 꼬반

*certificate* : VCP 5(2012), RHCSA 7 (2014), RHCE 7 (2015), RHCSA in REDHAT OpenStack(2017) *development language* : Javascript, NodeJS, Golang, html5, css3, shell script *middle ware* : NGINX, Apache, Tomcat, Docker, Docker Swarm, Mesos, Kubernetes, HCI,

Discuss about post