23년 8월 부터 10월까지 총 3개월(8,9,10)기간의 인턴 후기입니다.
학원 수료를 하고 면접을 보고 다니던 중 한 곳에 합격 통보를 받게 되었다.
언주역 부근에 위치한 회사였고, 주 업무는 Splunk (빅데이터 플랫폼) 구축, 유지보수 하는 직무였다. Splunk는 데이터 수집, 가공, 정제가 가능하고 시각화와 모니터링을 구현 할 수 있는 플랫폼이다.
면접은 2대2로 진행되었다. 간단한 질문으로 시작해서 Splunk에 대해 아는지 질문이 나왔다.
면접 보기전에 회사 홈페이지에서 Splunk를 사용한 보안 솔루션을 제공한다는 점을 알고 미리 Splunk에 대해 알아봐서 질문에 대답할 수 있었다, 개발 공부를 하다가 보안 솔루션 회사에 면접을 봤기에 큰 기술적 질문은 없었다. Splunk의 검색언어인 SPL(Search Processing Language)가 SQL문법과 비슷한 부분이 있기때문에 SQL을 할 줄 아냐는 질문이 있었고, 학원에서 배웠기에 할 줄 안다고 답했다. 다행히 MacOS,리눅스 와 CLI환경에 익숙하다는 점이 면접관 분들에게 좋은 인상을 남긴것 같다
8월1일 부터 출근을 했고, 첫날은 자리를 배정받고, 회사 AD계정을 생성하고, 컴퓨터(미니맥)을 자리에 설치, 기본 설정을 했다.
회사 서버도 맥으로 구축되어있었고, 기본 환경도 맥, 리눅스 환경이었기에 원래 MacOS를 사용하던 나에게는 큰 어려운점으로 다가오진 않았다.
이후, 인턴동기와 함께 선배분에게 Splunk에 대해 자세히 배웠다.
회사 VSphere에 8개의 리눅스서버를 생성하고
마스터(1) 서치헤드(3) 인덱서(3) 포워더(1) 로 구축했다.
각 서버의 역할은,
Splunk에서 제공하는 Search Party WorkShop이라는 앱을 설치해 설명을 읽으며 단계적으로 문제를 함께 풀어보는 식으로 진행되었으며, Splunk에 대한 이해와 문법을 배울 수 있었다.
2주가 지나고 Splunk에대한 이해도가 어느정도 생긴 후, 수석님께서 (회사에선 모두 수석이란 직급이었다.) 슬랙 인턴채널에 대쉬보드 사진을 한장 보내주며 '최대한 비슷하게 만들어보세요' 라며 이틀의 시간을 주었다. 2주간 연습용 데이터와 간단한 검색밖에 못해봤는데 실제로 발생하는 회사 VPN 로그에 복합적인 조건을 건 검색을 해볼 수 있는 기회가 주어졌다. 처음 주어지는 과제고 실제 로그로 실습해볼 수 있는 기회였기에 나름 신나서 열심히 한 것 같다.
이러한 검색 하나하나가 대쉬보드의 한 조각을 담당한다. 다행히 기한안에 완성 할 수 있었고 정규식과 eval
(변수를 생성하는 Splunk의 함수)함수에 대해 이해 할 수 있었고, 그간 이해가 잘 가지 않았던 통계함수에 대해 이해하게 되었다.
이후 IT보안 용어와 솔루션들을 정리해 발표했다. CIM, DLP, SIEM, NAC 등등 딱 보안용어다! 라기보단 IT전반에 걸친 용어들이었다.
회사 선배 수석님 3분이 나가있는 프로젝트가 있었다. 인턴들에게 주어진 과제는 이 프로젝트에 일주일씩 돌아가며 지원을 나가 실제 데이터를 만져보고 배워보는 것이었다.
나는 중간에 예비군 훈련이 있어서 제일 마지막 순서가 됐고 월요일에는 회사가 아닌 파견지로 출근 하게 되었다.
프로젝트는 기존 DB로 저장되어있는 데이터를 Splunk로 이전하고, 새로 수집될 데이터를 Splunk로 수집하는 것이었다.
첫날에는 이 프로젝트에 대해 설명을 듣고 내가 하게될 업무에 대해 듣게 되었다. 내가 할 업무는 선배 수석님이 부탁하는 여러가지(?)업무 (주로 대쉬보드 수정 이나 엑셀 데이터 수정 등) 과 데이터 전처리가 주 업무였다 수집된 데이터로 실제 검색을 하기전 인덱싱, 정규식이나 구분자를 이용한 필드 파싱 혹은 계산된 필드를 이용해 이전 DB와 Splunk의 필드(DB:컬럼)명을 맞추는 작업이었다.
파견간 회사가 가진 계열사가 14개라서 그 모든 계열사의 이전 DB의 테이블명을 Splunk의 Source type명과 맞춰주는데 총 14개를 해야했기에 시간이 상당히 많이 걸렸다. 완료하면 엑셀파일에 업데이트하고 사수에게 보고하는 식으로 업무가 진행되었다.
예정된 일자보다 딜레이된 프로젝트였기에 인원 모두 야근을 했고 정말 많은 데이터를 이전하고 정리해야 했기에 매일 오후 9시~10시 까지 근무했고 일요일도 출근했다.
이후에는 파견지의 관계자분에게 보여드릴 보고서와 PPT파일을 수정하고, 정리했다.
프로젝트 지원 이후 시험을 봤다.
미리 8개의 서버를 생성해 세팅해 놓으셨고 문제는,
- 각 8개 리눅스 서버 IP주소와 NetMask 설정
- 8개 리눅스 서버에 Splunk 설치
- 마스터(1), 서치헤드(3), 인덱서(3), 포워더(1) 역할 부여 및 클러스터링
- 지정된 포트번호로 데이터 수집
- 수집된 데이터 파싱
시간은 2시간이었고 그간 여러번 해본 작업이었기에 명령어도 헷갈리지 않고 마칠 수 있었다.
3개월간의 인턴을 마치고 퇴사를 결정하게되었다. 퇴사를 하게된 결정적인 이유는 개발을 하고 싶어서였다. 좋은 회사이지만 Splunk를 주로 다루는 회사이고, 코드를 짜는 일은 전무하다 시피 해서 '나중에 후회 하더라도 한번 더 도전해보자' 라는 생각을 하게 되었다.