네트워크 운영 센터(NOC)는 조직의 운영과 비즈니스 연속성에 있어 핵심적인 역할을 수행합니다. 중요한 기준을 만족시키기 위해서는 NOC 팀이 지속적으로 네트워크를 안정적으로 유지하며, 네트워크의 문제로 인한 비즈니스 영향을 최소화하는 데 주력해야 합니다.
NOC에서 네트워크 문제를 신속하게 인식하고 대응하기 위해선 팀 간의 원활한 협업이 필요합니다. 현재 채팅 및 인스턴트 메시징 솔루션을 활용하면 부서, 공급업체, 고객, 그리고 팀원 간에 실시간으로 소통이 가능합니다. 이러한 협업 플랫폼은 아래와 같은 주요 이점들을 제공합니다.
음성 도우미, 챗봇, 티켓 관리 시스템, 대시보드 및 알림 앱과의 원활한 통합이 가능합니다.
KPI와 분석을 통해 사건의 발생 주기, 처리 시간, 운영자별 대응 상황 등을 측정할 수 있습니다.
프로젝트나 업무 영역별로 그룹 채팅이나 채널을 구분하여 관리할 수 있습니다.
작업 효율성 향상과 불필요한 정보의 소거를 위한 필터링 기능을 제공합니다.
많은 조직에서 이러한 협업 도구가 NOC의 핵심 커뮤니케이션 수단으로 인기를 얻고 있습니다. 이 블로그에서는 Broadcom의 DX NetOps와 Slack, Google Chat 같은 협업 도구와의 통합 방법에 대해 상세히 다룹니다. 이러한 통합을 통해 귀하의 조직은 네트워크 문제가 비즈니스에 미치는 영향에 대해 실시간으로 알림을 받을 수 있습니다.
1. 새로운 AlarmNotifier 인스턴스 구성
첫 단계에서는 대상 고객과 어떤 이벤트를 협업 도구와 통합할지 명확히 파악하는 것이 중요합니다. 어떤 채널 혹은 그룹이 Slack이나 Google Chat에서 알림을 받을 것인지, 그리고 전달할 메시지에서 어떤 핵심 정보들을 공유할 것인지 미리 결정해야 합니다. 메시지에 너무 많은 내용을 담아서는 안됩니다. 대부분의 경우, 원본 솔루션인 DX NetOps에 연결되는 하이퍼링크와 함께 중요도, 영향도, 문제 해결 방법, 알림 내용, 영향 받는 비즈니스나 서비스 등의 주요 정보만 전송하는 것이 적절합니다. 아웃바운드 통합을 위해서는 먼저 DX NetOps의 도구 중 AlarmNotifier를 활용해 새 인스턴스를 설정해야 합니다. 이후 진행될 모든 단계는 Spectro Server에서 실행됩니다.
<a> $SPECROOT/lib/SDPM/partslist/ALARMNOTIFIER.idb통합 유형(예: ALARMNOTIFIER-GCHAT.idb또는 )을 나타내도록 복사본을 만들고 이름을 바꿉니다 ALARMNOTIFIER-SLACK.idb.
<b> 복사한 파일을 편집하고 아래 변수를 업데이트합니다(이 예는 Google Chat에 대한 것이지만 Slack 통합을 설정하는 경우 간단히 "gchat"를 "slack"으로 바꿀 수 있습니다).
PARTNAME;ALARMNOTIFIER-GCHAT; APPNAME;AlarmNotifier-gchat; WORKPATH;$SPECROOT/Notifier; LOGNAMEPATH;$WORKPATH/NOTIFIER-GCHAT.OUT; ARGV;$SPECROOT/Notifier/AlarmNotifier<CSEXE> -r $WORKPATH/.alarmrc-gchat -n AlarmNotifier-gchat;
<c> $SPECROOT/Notifier/.alarmrc지원되는 통합을 나타내기 위해 의 복사본을 만들고 이름을 바꿉니다(예: .alarmrc_gchat또는 .alarmrc_slack).
<d> 복사한 파일을 편집하고 아래 변수를 업데이트합니다.
EXTRA_ATTRS_AS_ENVVARS=0x11F57,0x12022,0x12bf7,0x12bf6 SET_SCRIPT=/usr/Spectrum/Notifier/SetScript-gchat CLEAR_SCRIPT=/usr/Spectrum/Notifier/ClearScript-gchat UPDATE_SCRIPT=/usr/Spectrum/Notifier/UpdateScript-gchat APPLICATION=AlarmNotifier-gchat 0x11F57을 Trouble_shooter로, 0x12022를 Trouble_ticket_id로, 0x12bf7을 ServiceImpact로, 0x12bf6을 CustomerImpact로 추가합니다. 또한 사용자 정의 Set, Clear 및 Update 스크립트를 지정하고 생성했습니다.
요약하자면, 이 단계에서는 각 통합에 대한 목록을 만들었습니다.
[root@oanoss1 partslist]# ls -lrt ALARM* -rw-r--r--. 1 root root 435 May 3 20:12 ALARMNOTIFIER.idb -rw-r--r--. 1 root root 473 May 3 20:12 ALARMNOTIFIER-SLACK.idb -rw-r-----. 1 root root 453 Jul 10 11:27 ALARMNOTIFIER-GCHAT.idb
그리고 각 통합에 대한 구성 .alarmrc 파일도 있습니다.
[root@oanoss1 Notifier]# ls -lrt .a* -rw-r-----. 1 admin admin 772 May 3 20:11 .alarmrc -rw-r-----. 1 admin admin 772 Nov 12 2022 .alarmrc-slack -rw-r-----. 1 admin admin 805 Jul 10 11:42 .alarmrc-gchat
더 자세한 정보는 브로드컴 문서를 참조 바랍니다.
2. 통합을 호출하도록 SetScript 정의
통합 프로세스에서 가장 중요한 단계에 도달했습니다. 이 단계에서는 DX NetOps와 협업 솔루션 사이의 작업을 정의합니다. 여기서 '작업'이란 API 호출을 의미하며, 공유될 데이터는 API 페이로드로 지정됩니다.
통합 호출을 위한 SetScript에서 위의 정보를 설정해야 합니다. 만약 아직 해당 작업을 진행하지 않았다면, $SPECROOT/Notifier 디렉토리 안에 있는 SetScript, ClearScript 및 UpdateScript 파일의 복사본을 생성해주세요. 복사본의 이름은 SetScript-gchat, SetScript-slack 등으로 지정하면 됩니다. 복사본을 만들었다면, 사용자 정의 SetScript를 편집하여 아래의 지침대로 수정해주세요.
<a> SENDEMAIL 변수 바로 아래에 ENABLEINTEGRATION 변수를 추가하고 TRUE로 설정합니다.
ENABLEINTEGRATION=True #True or False
<b> SetScript에서 사용하는 속성 목록에 문제 해결사, 문제 티켓, ServiceImpact 및 CustomerImpact 필드를 추가합니다.
echo "TroubleShooter: " $SANM_0x11F57 echo "TroubleTicket: " $SANM_0x12022 echo "ServiceImpact: " $SANM_0x12bf7 echo "CustomerImpact: " $SANM_0x12bf6
<c> 각 협업 도구(Slack 또는 GChat)에는 메시지를 생성하는 데 서로 다른 페이로드가 필요합니다. 웹훅 페이로드를 강화하거나 수정하는 방법에 대한 자세한 내용은 Slack 및 Google 문서를 검토하세요. 아래에 두 가지 예를 제공합니다. Slack용 SetScript 끝에 이 섹션을 추가합니다.
if [ "$ENABLEINTEGRATION" = "True" ] then SUMMARY=`echo "$PCAUSE" | head -1 -` curl -X POST 'https://hooks.slack.com/services/<SLACK-CHANNEL-ENDPOINT>' \ --header 'Content-Type: application/json' \ --data '{"channel": "#netops-openaccess-alarms", "username": "NetOps Notification","text": ":broadcom: *Message:* <http://netops.forwardinc.biz:8181/pc/desktop/page?mn=2000193&pg=2000156&parentid=2000184&GroupID=1&GroupPathIDs=1|'"$SUMMARY"'>\n*Date:* '"$DATE"' '"$TIME"'\n*Severity:* '$SEV'\n*Device:* '"$MNAME"'\n*Troubleshooter:* '"$SANM_0x11F57"'\n*Service Impacted:* '"$SANM_0x12bf7"'\n*Customer Impacted:*'"$SANM_0x12bf6"'\n", "icon_emoji": ":broadcom:"}' else echo_info fi
기본적으로 통합이 활성화되면 메시지를 수신하기 위해 Slack 끝점에 대한 컬 POST가 트리거됩니다. 빨간색 필드는 환경에 따라 변경될 수 있으며 $SUMMARY, $DATE, $TIME, $SEV, $MNAME, $SANM_0x11F57, $SANM_0x12bf7 및 $SANM_0x12bf6은 DX NetOps의 경보 필드입니다. 이 페이로드와 함께 수신된 Slack 메시지는 다음 이미지에 표시됩니다.

일부 아이콘과 사용자 정의 형식으로 장식했으며 DX NetOps 경보 콘솔에 대한 하이퍼링크가 포함되어 있습니다. Google Chat 통합의 경우 컬 페이로드를 아래 예시로 변경하세요. 다시 한 번 사용자 정의해야 하는 빨간색 필드에 주의하세요.
curl -X POST 'https://chat.googleapis.com/v1/spaces/<GCHAT-GROUP-ENDPOINT>' \ --header 'Content-Type: application/json' \ --data '{"text": "\u26a0\ufe0f *Message:* <http://netops.forwardinc.biz:8181/pc/desktop/page?mn=2000193&pg=2000156&parentid=2000184&GroupID=1&GroupPathIDs=1|'"$SUMMARY"'>\n*Date:* '"$DATE"' '"$TIME"'\n*Severity:* '"$SEV"'\n*Device:* '"$MNAME"'\n*Troubleshooter:* '"$SANM_0x11F57"'\n*Service Impacted:* '"$SANM_0x12bf7"'\n*Customer Impacted:*'"$SANM_0x12bf6"'"}'
이 페이로드는 Google Chat에 다음 이미지와 유사한 메시지를 생성합니다.

다음으로, 협업 도구에 알림으로 보낼 알람을 결정하는 마지막 단계를 시작할준비가 되었습니다.
3. 정책을 AlarmNotifier 인스턴스와 연결
마지막 단계는 Slack, Google Chat 혹은 두 플랫폼 모두로 보낼 DX NetOps 경보를 선정하는 것입니다. 이때 작은 규모로 시작하여, 통합의 효과를 평가한 후 점진적으로 개선하는 방식을 추천드립니다. 아직 경보 필터링 정책이 설정되어 있지 않다면, 아래의 방법을 따라 새로운 정책을 만들어보세요. 기본적으로 어떤 알림을 Google Chat 혹은 Slack으로 전송할 것인지 결정하는 것이 필요합니다. 그 후, 이전 단계에서 생성한 AlarmNotifier 인스턴스를 지금 정의하는 정책에 연결하시면 됩니다.

다음 단계
DX NetOps와 메시징 솔루션을 통합하려는 여러분께 이 블로그가 유용한 자료가 되기를 희망합니다. Google Chat이나 Slack 메시지에 영향을 받는 고객 및 비즈니스 서비스 정보를 포함시키면, 알림의 우선순위 설정과 라우팅에 큰 도움이 됩니다. 이런 방식을 통해 팀은 보다 효율적으로 협력하면서 네트워크 이벤트에 신속하게 대응할 수 있게 됩니다.통합을 더욱 효과적으로 활용하고자 한다면 아래와 같은 방법들을 고려해 볼 수 있습니다.
Google Chat/Slack 메시지를 챗봇, 음성 도우미 또는 인공지능 솔루션과 연결하여 알림을 강화하고 NOC 운영자의 작업 효율을 높이세요.
CMDB, 알림 조치(예: 삭제, 에스컬레이션 등), 지식베이스(KB) 검색, 영향을 받는 장치의 상태 확인 등에 대한 하이퍼링크를 포함하여 Google Chat이나 Slack 메시지를 보다 도움이 되게 구성하세요.
Google Chat 또는 Slack에서의 문제 해결 과정을 기록하여 티켓 시스템을 더욱 풍부하게 만드세요.