> 회사 메신저를 잔디에서 슬랙으로 변경하게 되어 개발서버, 운영서버 500에러 notification이 잔디로 전송되는걸 슬랙으로 변경하려고 함
> 이를 위해 크게 체크해야할 내용은 아래와 같다.
- 키바나에 대해 따로 서버를 띄우지 않고 우린 Elastic cloud를 사용하고 있어 여기서 설정을 바꿔줘야 함
- watcher를 계속 사용할 것인가 (vs alert)
- 메시지를 좀 더 친절하게
> Elastic cloud에서 슬랙 설정 값(slack webhook값) 넣어주기
1. 키바나 클라우드 페이지에서 설정을 일단 해줘야 한다. (https://www.elastic.co/kr/cloud/)
- 원래 EC2에 넣거나 따로 kibana 서버를 띄우면 elasticsearch.yml 파일에서 설정값을 바꿔줘야 하지만 cloud는 직접적으로 여기에 접근하여 커스터마이징을 할 수 없다고 한다.
2. Deployments > Security > Elasticsearch keystore > Create settings 클릭하여 슬랙 값 입력
3. Setting name에는 xpack.notification.slack.account.${slack 계정 이름}.secure_url 을 넣어주고
Secret에는 slack webhook url을 넣어준다.
이렇게 하면 일단 watcher에 슬랙 관련 발송 코드를 넣을 준비는 끝난다.
> 메시지를 좀 더 친절하게 바꿔주기 (+ 가독성)
- 기존에 잔디에 보내는 메시지는 그냥 500에러가 발생했다는 것을 알 수 있는 정도였음
---> 그래서 바로 kibana에 들어가는 링크 + 가독성을 높히겠다
라는 포부를 안고 겁나 찾아봤지만 역시 가이드라인부터 봤어야 했다 아직 지원 안 한다고 한다.
- 그럼 500에러 메시지와 함께 최대한 깔끔한 kibana 링크를 보내주자 생각하였음
- 필터를 다르게 해서 검색하면 GET방식으로 돌아가기 때문에 URL이 해당 필터값이 들어간채로 화면이 바뀐다.
> 고로 이 URL을 슬랙 메시지에 넣어주면 되겠다 생각했는데 그렇게하면 진짜 메시지가 너무 길어짐 (필터 내용이 있기 때문에)
- 그래서 이를 따로 위 이미지의 Save 버튼을 눌러 따로 저장하면 이 저장된 필터 및 결과 값 설정에 대해 별도 URL이 생기고 기존보다 깔끔하게 짧아진 URL로 바로 접근이 가능해진다. 그리고 이를 slack메시지에 넣어 보내주기로 하였다.