반복영역 건너뛰기
주메뉴 바로가기
본문 바로가기
제품/서비스
EMS Solution
Features
클라우드 관리
AI 인공지능
서버관리
데이터베이스 관리
네트워크 관리
트래픽 관리
설비 IoT 관리
무선 AP 관리
교환기 관리
운영자동화
실시간 관리
백업 관리
APM Solution
애플리케이션 관리
URL 관리
ITSM Solution
서비스데스크
IT 서비스 관리
Big Data Solution
SIEM
Dashboard
대시보드
Consulting Service
컨설팅 서비스
고객
레퍼런스
고객FAQ
문의하기
가격
자료실
카탈로그
사용자매뉴얼
회사소개
비전·미션
연혁
2016~현재
2000~2015
인증서·수상
투자정보
재무정보
전자공고
IR자료
새소식
공고
보도자료
오시는 길
채용
피플
컬처
공고
FAQ
블로그
열기
메인 페이지로 이동
블로그
최신이야기
블로그
최신이야기
사람이야기
회사이야기
기술이야기
다양한이야기
최신이야기
검색
기술이야기
[브레인저가 알려주는 IT#1] 네트워크 관리, SNMP가 뭔가요?
기술이야기
[브레인저가 알려주는 IT#1] 네트워크 관리, SNMP가 뭔가요?
1. SNMP(Simple Network Management Protocol)란? 컴퓨터 네트워크 장치를 관리하고 모니터링하기 위해 사용되는 네트워크 관리 프로토콜이에요. 네트워크 장치, 서버, 라우터, 스위치, 프린터 등과 같은 네트워크 장치들의 상태를 모니터링하고 구성할 수 있는 표준 방법 또한 제공하고 있어요. 요약한다면 네트워크에 있는 장비들을 관리하기 위한 프로토콜이라고 이해하시면 된답니다! (1) SNMP의 역사 • SNMPv1(1988)초기 SNMP 버전으로 RFC 1067에 정의되었어요. 간단한 모니터링과 설정 변경 기능을 제공했으나, 보안 측면에서 취약점이 있었어요. 커뮤니티 문자열(Community String)을 사용하여 인증을 수행했어요. • SNMPv2(1993) SNMPv1의 한계와 보안 이슈를 개선하기 위해 개발되었어요. 여러 개의 추가 기능을 제공하려 했으나, 규격이 복잡해졌고 보안 문제로 인해 널리 채택되지 않았어요. • SNMPv2c(1996) SNMPv2의 복잡성을 줄이고 보안을 개선한 버전이에요. 커뮤니티 문자열을 계속 사용하여 보안적인 취약성은 여전히 존재했어요. • SNMPv3(1998) 현재까지 널리 사용되고 있는 최신 버전이에요. 보안 기능을 크게 강화하여 데이터 암호화, 사용자 인증, 데이터 무결성 검사 등을 제공하고 있어요. 비동기적인 알림 메커니즘으로 Trap 메시지와 함께 메시지의 암호화 및 보안 기능을 지원해요. • SNMPv3의 보안 개선(2002 이후~) SNMPv3에서 시작된 보안 향상이 계속 발전되어 왔어요. 데이터 암호화와 사용자 인증 등의 기능이 더욱 강화되고, 다양한 보안 솔루션과 표준이 제안되었어요. 2. SNMP의 주요 특징과 역할 (1) 클라이언트-서버 모델 SNMP는 관리자의 명령을 수행하는 에이전트와, 에이전트의 정보를 수집하는 매니저 간의 통신을 기반으로 해요. (2) MIB(Management Information Base) 네트워크 장치의 정보를 계층 구조로 정의한 데이터베이스입니다. 각 정보 항목은 OID(Object Identifier)로 식별되며, 매니저는 OID를 통해 특정 정보를 요청하고 수집할 수 있어요. (3) 동작 방식 • GET: 매니저가 에이전트에게 특정 정보의 값을 요청해요. • SET: 매니저가 에이전트에게 특정 정보의 값을 변경하도록 요청합니다. • TRAP: 에이전트가 이벤트 발생 시 매니저에게 알림을 보내요. (4) 보안 • SNMPv1: 초기 버전으로, 보안에 취약한 프로토콜이었어요. • SNMPv2c: SNMPv1을 확장한 버전으로, 여전히 보안에 취약했어요. • SNMPv3: 보안 강화 버전으로 데이터 암호화, 사용자 인증, 데이터 무결성 검사 등을 지원하여 보안을 강화했어요. (5) 확장 가능성 SNMP는 다양한 버전과 확장 프로토콜을 지원하여 새로운 기능을 추가하거나 보완할 수 있어요. (6) 주요 용도 • 네트워크 장치 모니터링: 장비의 성능, 상태, 트래픽 등 정보를 수집하여 네트워크를 모니터링해요. • 구성 관리: 장치의 설정 변경 및 관리를 원격으로 수행할 수 있어요. • 이벤트 알림: 장애나 이상 상태가 발생하면 즉시 알림을 받을 수 있어요. 이처럼 SNMP는 네트워크 관리에 필수적인 프로토콜 중 하나로, 네트워크의 안정성과 성능을 유지하며 문제를 신속하게 해결하는 데 도움을 준답니다! 3. Zenius에서의 SNMP 활용 안내 (1) NMS 모니터링 SNMP GET 방식으로 데이터를 수집할 수 있어요. SNMP를 활용하여 장비모니터링 화면, 등록된 장비의 장비명, IP, 성능데이터 등을 확인 할 수 있어요. 장비의 상세한 데이터를 모니터링 할 수 있어요. IF 포트의 UP/DOWN과 트래픽 데이터를 수집하여 확인 가능해요. • NMS in/out bps 전일 대비 In/Out bps의 데이터 확인 및 추이 분석기능도 제공하고 있어요. 사진과 같이 초 단위 실시간 데이터를 통한 상세 트랙픽 분석도 가능하답니다! 성능 데이터를 수집하여 그래프 형태로 보관하고 제공하고 있어요. 수집 시간대별 데이터도 제공해요. 해당 데이터를 통하여, 트래픽사용량이 많이 발생한 시간을 찾을수 있어요. • 장비등록 화면 SNMP 모든 버전에 대해서 모니터링을 제공하고 있어요. 장비 설정에 따라서, 버전 및 정보 입력하여 등록하여 모니터링 할 수 있어요. (2) TRAP 모니터링 • 네트워크 장비와 시스템에서 발생하는 이벤트나 상태 변화를 실시간으로 알려주기 위한 SNMP의 비동기적인 메시지에요. 이벤트 발생 시, 장치가 주도적으로 SNMP 매니저에게 알림을 보내는 방식으로 작동해요. Trap은 장애 상황이나 경고 상태 등에 대한 신속한 대응을 가능하게 해요. • Trap은 네트워크 관리자에게 실시간 정보를 제공해요. 장비나 시스템의 이상 상태를 빠르게 감지하고 대응하여, 서비스의 가용성과 신뢰성을 유지하는 데 중요한 역할을 하고 있죠. • Trap의 활용✅ 장애 관리: 장비나 시스템의 고장이나 다운 상태 등의 이벤트가 발생하면 즉시 Trap이 생성되어 매니저에게 알려줘요.✅ 경고 및 알림: 주의가 필요한 상황에서도 Trap을 활용하여 관리자에게 알림을 제공해요.✅ 보안 이벤트: 불법 로그인 시도나 보안 위반 등의 이벤트가 발생하면, 해당 정보를 Trap으로 매니저에게 전송하여 보안 조치를 취할 수 있어요. Trap 발생시, 모니터링 화면을 통해서 내용을 확인 할 수 있어요. Trap 받은 내역을 저장하여, 기간 검색 등을 통하여 활용할 수 있어요. 이제 Zenius를 활용하여 네트워크 장비를 모니터링 해보는 것은 어떨까요?
2023.09.05
회사이야기
'Zenius-SIEM v2.0' GS인증 1등급 획득
회사이야기
'Zenius-SIEM v2.0' GS인증 1등급 획득
브레인즈컴퍼니는 지난 8월 22일 한국정보통신기술협회(TTA)로부터 Zenius-SIEM v2.0에 대한 GS인증 1등급을 획득했습니다. GS인증은 Good Software의 약자로 양질의 품질을 갖춘 SW 제품에 국가가 부여하는 인증 제도 입니다. ISO 국제표준을 기반으로 기능 적합성, 성능 효율성, 보안성 등 여러 테스트를 거쳐 결과가 우수한 제품에 인증이 부여됩니다. GS인증을 받은 제품은 공공기관 우선 구매 대상으로 지정할 수 있습니다. 이번에 GS인증 1등급을 받은 Zenius-SIEM v2.0은 다양한 대용량 로그의 수집, 분석 및 통합 관리 시스템으로, 컴플라이언스(Compliance)를 준수하고 보안 위협에 대한 감시 · 대응 체계를 수립할 수 있는 통합로그 관리 시스템입니다. CC인증에 이어 GS인증 1등급을 획득한 Zenius-SIEM v2.0은 제품의 보안성이 강화되고 안정성을 검증받아 제주특별자치도청과 한국금형산업진흥회에 구축을 완료하였습니다. Zenius-SIEM v2.0은 SaaS(Software as a Service) 형태의 서비스를 제공하기 위해 개발 중에 있으며, On-Premise와 클라우드 환경에서 더 많은 고객들이 안정적으로 대용량 로그를 관리하고 보안 환경을 유지하도록 지원할 예정입니다.
2023.08.30
회사이야기
[브레인즈 소식] 브레인즈컴퍼니, ‘REST API 클라이언트 개발을 위한 가상 REST API 서비스 자동 생성 서버 및 방법’ 특허 취득
회사이야기
[브레인즈 소식] 브레인즈컴퍼니, ‘REST API 클라이언트 개발을 위한 가상 REST API 서비스 자동 생성 서버 및 방법’ 특허 취득
지난 6월에는 브레인즈컴퍼니가 '원격 서비스 응답 블로킹 대기 상태의 트랜잭션 제어 시스템 및 방법' 특허를 획득한 사실을 알려드렸습니다. 이번 7월 31일 'REST API 클라이언트 개발을 위한 가상 REST API 서비스 자동 생성 서버 및 방법' 특허도 취득했어요. 이번에 출원한 특허의 핵심은 AWS나 GCP와 같은 클라우드 서비스를 활용하는 개발 과정에서 가상 REST API 서비스를 자동으로 생성하는 소스 자동 제너레이션 기술입니다. 클라우드 환경을 이용한 개발 과정에서는 주로 REST API(Application Program Interface)를 주로 사용하는데, 이는 웹의 컴퓨터 시스템 간에 표준을 제공하여 시스템이 서로 쉽게 통신할 수 있도록 하는 아키텍처의 하나로, 현재는 공기업 및 사기업의 대부분이 API 서비스를 제공하고 있어, 웹 서비스의 표준 기술로 자리 잡고 있습니다. 클라이언트 개발자들은 개발 단계에서 REST API 서비스를 통해 데이터를 수시로 요청하고 테스트하는 과정을 필수적으로 거치게 되는데, 이 과정에서 서버 개발자들은 각 API에 대한 소스 파일을 일일이 작성하고 추가하는 등의 업무가 가중되고 있습니다. 브레인즈컴퍼니는 이러한 과정에서 특허 기술인 소스 자동 생성 기능을 적용하여, 개발 환경을 개선시키는 데 중점을 두었습니다. 소스 코드의 작성·빌드·배포 과정에서 반복되는 단순 작업들을 절감시키고, API를 이용하는 데 소요되는 비용을 최소화하여 결과적으로는 개발 경쟁력을 확보할 수 있기 때문입니다. 이번에 취득한 특허 기술은 클라우드 서비스 모니터링 시스템인 Zenius-CMS 개발 과정에서 이미 적용되어 성공적으로 검증되었습니다. 이번 특허 기술을 통해 클라우드 환경에서의 개발 속도를 높일 수 있었고, 브레인즈 개발자들은 더욱 효율적이게 업무에 몰두할 수 있는 환경이 마련된 상태입니다. 또한, 향후 REST API를 활용하는 프로젝트가 있을 때에도 신속하고 쉽게 개발이 이루어지고 효율적인 개발과 비용 부담 없는 테스트 과정을 거쳐 기능의 안정성을 확보할 것으로 전망하고 있습니다. 그리고 궁극적으로는 신규 기능을 빠르고 안정적으로 배포하여 고객 만족도가 향상될 것으로 기대하고 있습니다.
2023.08.28
기술이야기
시련이 많았던 경험자의 CI/CD 간략 소개
기술이야기
시련이 많았던 경험자의 CI/CD 간략 소개
과거에는 근로자 1명이 기획/설계/구현 테스트까지 진행이 가능했다고 합니다. 하지만 최근에는 근로자 1명이 기획부터 테스트까지 진행하는 일은 거의 드물다고 볼 수 있습니다. OLD SCHOOL 지금 이 시간에도 많은 회사 내의 개발자들은 자신에게 주어진 기능 구현을 훌륭하게 완수하기 위해서 모니터를 째려보고 있습니다. 모니터를 째려보다가 자신이 작성한 내용을 다른 팀원에게 공유하고자 혹은 반대로 다른 팀원이 작성한 내용을 공유받고자 '형상 관리 시스템'을 사용하고 있습니다. CVS와 SVN으로 대표되는 이 시스템은 최근들어 Git을 많이 사용하는 추세라고 합니다. 필자 역시 여러 프로젝트에서 해당 시스템을 사용도 해보았고, 연동하여 다른 시스템을 구현한 경험이 있습니다. 하지만 프로젝트 마다 해당 시스템 사용에 있어서 몇몇 시련이 있었습니다. "차주에 전체 기능 리뷰가 있습니다. 각 파트 별로 코드 커밋해주세요." 라고 PM(Project Manager) 또는 PL(Project Leader)이 요청을 하면, 각 하위 PL(Part Leader)은 파트(Part)에 돌아가 파트원들에게 이 내용을 공유하고, 개별 개발자들은 자신이 작성한 코드를 관리 시스템에 커밋하게 됩니다. 잠시 후 형상 관리 시스템에서 작성 코드를 내려 받은 PL(Part Leader)은 아래와 같은 상황에 직면하게 됩니다. - 동료의 작성 코드에는 관심 없이, 본인의 작성물만 커밋하는 경우 - 별도의 공지 없이 이미 작성된 파일 등을 삭제하여 커밋하는 경우 - 약속되지 않은 환경이나 lib으로 작성한 코드를 커밋하는 경우 프로젝트에 따라 기간이 길어지거나 다른 여러 상황이 발생하면 위의 문제보다 더 많은 문제를 경험하게 됩니다. 각 파트 단위로 위와 같은 문제가 해결되고 정상적으로 컴파일, 빌드까지 완료되면, PL(Part Leader)들은 파트별로 단위테스트를 완료하고 결과가 정상적이면 결과를 품질관리자에게 통보합니다. 각 파트별로 완료 통보를 받은 품질관리자는 다시 관리 시스템에서 전체 작성물을 수동으로 내려받아 통합테스트를 진행합니다. 통합테스트까지 완료되었다면 해당 내용을 릴리즈관리자에게 통보합니다. 릴리즈관리자는 바뀐 부분만 찾아서 변경하면 시간적으로 적용이 빠르겠지만 '바뀐 부분만 변경하면 될까?'라는 의심으로 전체 작성물을 수작업으로 전처리(컴파일 & 빌드)하고 다시 수작업으로 릴리즈하게 됩니다. 만약 진행상의 이슈가 없다면 이제 기능 리뷰 준비가 완료됩니다. 단계별로 문제 없이 진행되고 모든 기능을 확인하였다고 하지만 기능 리뷰 혹은 데모만하면 꼭! 오류가 발생하여 난처한 상황이 종종 발생하곤 합니다. 필자 역시 이런 경우가 많았으며 그때마다 문제 부분을 찾기 위해 많이 고생했습니다. 아래의 개념은 아마도 저 같은 경험을 하고 있는 많은 사람들을 위한 것이 아닌가 싶습니다. CI (Continuous Integration, 지속적인 통합) '지속적인 통합'이란 개발 과정에서 생산되는 코드의 관리와 코드의 문법적인 오류 확인 및 기능 점검(=테스트)을 특정한 일정에 진행하는 것이 아니라 날마다 혹은 특정 시간마다 진행하여 코드 및 기능에 대한 품질을 유지하는 개념이라고 말할 수 있을 것입니다. 앞에서 언급했던 과거 모습을 개선하는 노력은 CI 라는 개념이 나오기 이전부터 많은 개발사 혹은 팀에서 그들만의 문화나 관습으로 처리하는 경우가 있었을 것입니다. 하지만 문제는 새로운 구성원이 생겼을 때 입니다. 조직 문화를 새로이 접하는 이들에게는 이를 설명하고 이해시키는 일은 시간과 노력이 드는 일이니까요. 하지만 이젠 일반적인 Java 개발팀에서는 SVN(or GitHub)+Jenkins+Maven+JUnit으로 구성하는 개발 환경을 사용하고 있습니다. 다만, 프로젝트 목표나 목적되는 환경에 따라 약간씩 다른 환경을 구성하기도 합니다. 그러나 대부분의 경우 Open Source 기반으로 CI 개념을 구성하는 경우가 많습니다. 이는 일단 무료라는 큰 장점과 많은 레퍼런스가 있어 구성하기 편리하고 "우린 Open Source인 SVN과 Jenkins를 사용합니다. 일단 자세한 개념과 동작 원리는 너트뷰 선생님께..." 라고 하며 짧은 노력으로 교육을 끝낼 수 있어 그런 것이 아닌가 합니다. CI 개념을 활용하는 개발 프로젝트에서는 UI 메뉴 혹은 구현 단위 기준으로 구분하여 개발파트나 개발자를 할당하고는 합니다. 각각의 개발자는 할당받은 구현 범위에 대한 문제를 개별적으로 개발 도구를 활용하여 구현하고 구현 내용을 형상 관리 시스템에 커밋합니다. 이런 과정을 다른 개발자들도 같이 수행한 후에 빌드 자동화 환경에서 컴파일 및 빌드 스크립트에 맞춰서 문법적으로 확인된 결과물을 만들고 이를 다시 기능이 확인이 가능한 테스트 스크립트에 맞춰서 테스까지 진행합니다. 만약 테스트 과정에서 비정상적인 결과가 발생할 경우, 해당 내용 수정 후 위의 작업을 다시 진행하게 됩니다. 이런 일련의 절차는 일정 시간 준위 단위로 수행되어 구현하고 있는 기능을 주기적으로 확인하는 과정을 수행합니다. 올바른 진행을 위하여 개발자 개개인에게 분장되는 업무의 크기가 비슷해야 한다고 생각됩니다. 개발자별로 업무의 크기가 서로 다른 겨우, 결과물이 정상적이라고 볼 수 없게 될 것이고 그렇게 된다면 테스트 결과 역시 믿을 수 없는 경우가 발생할 것입니다. CD (Continuous Delivery/Deploy, 지속적 제공/배포) 지속적인 통합(CI)을 사용하던, 기존의 개발 환경을 사용하던, 결국 작성된 결과물은 최종적으로 운영환경에 적용되어 사용작 혹은 타 시스템과 연결되어야 합니다. 그래야 제품 개발 또는 프로젝트가 완료됩니다. CD는 결과물을 운영환경에 적용하는 방식을 나타내는 환경으로써 결과물 적용 여부를 판단하는 행위를 담당하는 주체가 누구냐에 따라, Continuous Delivery와 Continuous Deploy로 구분됩니다. Continuous Delivery는 CI 환경을 통하여 자동으로 컴파일 및 빌드가 되고, 테스트된 결과물에 대해서 릴리즈 관리자가 적용 시점마다 테스트 결과 및 서비스 영향도를 판단하여 수동으로 적용하는 방식이며, Continuous Deploy는 결과물은 항상 옳고 서비스 영향도는 없다고 미리 판단하여 자동으로 적용하는 방식입니다. 아마도 대부분의 개발 환경에서는 Continuous Delivery로 적용하고 있기에 CD라고 표기되는 경우 Continuous Delivery를 의미하는 경우가 많을 것입니다. 소프트웨어 솔루션을 제작하는 개발팀에서는 아마도 Continuous Delivery로 또한 MSA 기반의 서비스를 제공하는 개발팀에서는 Continuous Deploy를 사용하는 편이 여러 관계를 보았을 때 유리하다고 판단합니다. 하지만, 개발팀의 업무 성격과 제품 혹은 서비스의 출시 시기 등이 CD 방식을 결정하는 가장 중요한 요소가 될 것입니다. 지금까지 CI/CD 도입 배경과 내용을 필자의 경험을 바탕으로 간략하게 정리하였습니다. 개발자들이 자기가 맡은 기능 혹은 프로세스에만 전념할 수 있는 훌륭하고 편리한 개발 환경 및 적용 환경이 언제 어떻게 나타나게 될지 궁금합니다. 가능하다면, 많이 바꿔서 따라가기 귀찮은 시니어들과 새롭게 따라가야하는 주니어 개발자 모두에게 즐거운 환경이 등장했으면 합니다. 감사합니다.
2023.08.22
기술이야기
[Zenius Case#2] 서버관리, 서버가 왜 이렇게 느리지?
기술이야기
[Zenius Case#2] 서버관리, 서버가 왜 이렇게 느리지?
평온한 오후 퇴근 준비가 한창인데 불길한 전화가 걸려 옵니다. “서비스가 먹통이어서 확인 좀 해야 하는데 서버가 엄청 버벅거리고 반응이 느려요!! 이거 왜 이러죠??” 왜!! 도대체 왜!! 한 번쯤은 겪어보았을 급작스러운 Linux 서버의 상태 이슈! 불행하게도 무척이나 다양한 원인으로 인해 발생하게 됩니다. 우리의 목표는 이 다양한 원인 중 실제 발생 원인을 빠르게 특정하는 것! 기본적인 항목들의 체크리스트를 통해 빠르게 원인을 파악 해 봅시다. Linux 서버 상태 이슈 체크리스트 1. 서버의 CPU 부하 확인하기 2. BUFFER, CACHE, SWAP 상태 확인하기 3. 디스크 상태 확인하기 Zenius를 통한 데이터 추이 분석!! 장애의 발생은 순식간에 일어나지만, 장애 발생 시점의 데이터만을 확인해서는 원인을 파악하기가 쉽지 않은 경우가 많습니다. Zenius를 활용하여 앞서 정한 체크리스트를 빠르게 확인해 봅시다. 1. 서버의 CPU 부하 확인하기 - CPU 부하 확인의 Point는 Load Average Load Average는 CPU 사용 대기 중인 프로세스와 I/O 완료를 대기하고 있는 프로세스의 수를 의미합니다. 따라서, Load Average가 높다는 것은 CPU가 바쁘며 시스템에 걸리는 부하가 있다는 뜻입니다. 화면과 같이 1분, 5분, 15분의 로드 평균을 확인 해 보도록 합시다. 1분 로드 평균은 순간적으로 증가하는 경우가 있지만, 5분 15분 데이터상에도 이전과 비교하였을 때 높은 수치를 보인다면, CPU의 부하가 의심스러운 상황입니다. 그렇다면 CPU의 사용률과 I/O 대기율은 어떨까요? user가 사용한 CPU 사용률은 일정하지만, Iowait 수치가 올라간 것을 볼 수 있습니다. 이 경우 CPU의 리소스 부족이기보다는 I/O로 인한 부하로 판단할 수 있고, 자세히는 메모리나 프로세스의 현황 확인이 필요한 경우입니다. 반대로 user 수치가 높은 경우에는 물리적인 CPU 자체의 리소스 부족이라 볼 수 있습니다. 2. BUFFER, CACHE, SWAP 상태 확인하기 - 메모리 사용률과 Swap, Buffer, Cache 메모리 사용률이 높다 = 서버에 부하가 있다?? 답은 No !! Linux 서버의 메모리 사용률은 Buffer/Cache의 사용량이 포함되어 표현되게 됩니다. 따라서, 우리는 그 추이를 통하여 이슈를 확인하는 것이 중요합니다. 위의 검은 바탕의 그래프는 메모리 사용률이 높지만, 일정한 수치를 유지하고 있습니다. 이런 경우 서버의 메모리 사용은 안정적인 영역에서 이루어진다고 판단이 가능합니다. 그 이유는 실제 메모리 사용량과 Buffer/Cache에 할당량의 수치가 할당 가능한 수치 내에서 이루어지기 때문에 사용률이 유지된다고 볼 수 있기 때문입니다. 반면 흰 바탕의 그래프는 메모리 사용률이 점차 증가하며 결국 100%까지 도달한 것을 확인할 수 있는데요, 이경우에는 프로세스가 연산에 필요한 공간을 할당받지 못하여 프로세스 행이 발생하게 됩니다. 그렇다면 Buffer Cache Swap은 어떨까요? 먼저 Buffer Cache에 관해 확인 해 보도록 하겠습니다. *Buffer – 메타데이터를 메모리에 저장. *Cache – Page Cache, Slab을 메모리에 저장. 쉽게 말해, 둘 다 용도에 맞는 정보를 저장하여 수행 속도에 도움을 주는 영역입니다. 메모리 사용량이 늘어나면 이 Buffer, Cache 영역이 줄어들게 되고, 저장 영역이 줄어든다는 것은 속도가 떨어져 성능 저하로 이어지게 됩니다. 아래 그래프는 메모리 사용률이 올라가고 있는 상태의 서버 데이터입니다. 다음으로 이 시점의 Buffer, Cache의 영역을 확인해 보겠습니다. 추이 그래프를 통해 메모리 사용률이 올라갈수록 Buffer, Cache 영역이 줄어드는 것을 확인할 수 있습니다. 그렇다면 이 시점의 I/O는 어떨까요? 보시는 바와 같이 Iowait 수치가 급격히 올라갔음을 확인 할 수 있으므로, “메모리 사용률의 상승은 Buffer, Cache 영역을 줄어들게 하여 속도 저하를 발생시킨다.” 라는 결론을 도출할 수 있습니다. 또한, 메모리 사용률의 상승은 Swap에도 영향을 끼치게 됩니다. *Swap – 디스크 공간에 할당하여 메모리 역할로 사용하는 공간. 따라서, Swap 영역의 사용은 실제 메모리가 아닌 디스크를 사용하기 때문에 속도 저하가 발생 됩니다. 위 그래프는 Swap 사용률이 증가하고 있는 서버의 데이터입니다. 이 시점의 디스크의 상태를 보면 Read와 Write가 점차 Swap과 동일하게 상승하는 것을 볼 수 있습니다. 이렇게 메모리 대신 디스크 영역을 사용하면서 속도가 저하하게 되는 것입니다. 3. 디스크, 확인하기 - Mount Point 별 디스크 사용량, 작업량 추이 확인 디스크의 여유 공간이 없으면 시스템이 파일 생성을 못 하게 되고 결국엔 서버의 운영에 영향을 끼치게 됩니다. 각각의 마운트 지점의 사용률을 체크하여 여유 공간을 확보하는 것이 필요합니다. 디스크의 사용량이 급작스럽게 늘어난 경우는 신규 파일이 업로드되었다거나, 로그파일이 급작스럽게 많이 쌓이는 경우가 있습니다. 그렇기에 각 Mount Point의 사용률을 확인하고 해당 지점의 이슈 사항을 파악하는 것이 가장 좋습니다. 위 그래프와 같이 1시간 이내에 /data 지점의 사용률이 급등하였다면, 해당 지점에 쌓이는 데이터나 로그파일이 급격하게 증가한 것이므로 확인이 필요합니다. 다음으로는 디스크 사용 추이를 확인 해 보도록 하겠습니다. 서버에서 사용하는 물리 디스크는 각각의 성능의 한계가 있습니다. 이 한계를 직관적으로 확인할 수 있는 데이터로는 Disk Busy Rate(작업률)와 Disk Wait Rate(대기율)이 있는데요, Read 및 Write의 양이 한계치까지 치솟게 된다면 Busy Rate 값이 증가하게 되고, 이에 따른 Wait Rate 가 늘어나면서 서버의 성능 저하를 불러오게 됩니다. 어떻게 관리해야 할까? 앞서 확인한 서버의 상태 이슈들, 물론 급작스럽게 발생하는 경우는 어쩔 수 없지만 미리 대비가 가능한 것들은 Zenius-EMS를 이용하여 임계치 기반의 사전 모니터링과, 모니터링 페이지를 통한 직관적인 관리가 가능합니다. 각각의 항목들에 세부적으로 단계별 임계치를 걸어서 서버의 상태 이슈를 사전에 인지하고, 요약 페이지를 통해 빠르게 상태를 파악하여 우리의 퇴근 시간을 사수해 보는 건 어떨까요?
2023.08.08
회사이야기
[브레인즈 소식] ‘원격 서비스 응답 블로킹 대기 상태의 트랜잭션 제어 시스템 및 방법’ 특허 취득
회사이야기
[브레인즈 소식] ‘원격 서비스 응답 블로킹 대기 상태의 트랜잭션 제어 시스템 및 방법’ 특허 취득
브레인즈컴퍼니는 지난 6월 27일, APM(Application Performance Management) 관련 특허를 취득했습니다. 2022년 12월에 출원 신청한 것으로, 명칭은 ‘원격 서비스 응답 블로킹 대기 상태의 트랜잭션 제어 시스템 및 방법’입니다. 이번에 출원한 특허는 기존 Zenius APM에서 트랜잭션을 추적하고, 처리 중인 트랜잭션을 종료시키는 기능을 고도화한 기술인데요. 특히 MSA(Micro Service Architecture) 환경에서 애플리케이션 성능을 모니터링하고 안정적인 서비스 운영 환경을 만들기 위해 개발되었습니다. IT 서비스 구조가 Monolithic에서 MSA 형태로 변화함에 따라, IT 서비스를 구성하는 환경은 점점 복잡해지고 있습니다. 이전에는 단순히 하나의 큰 애플리케이션으로 서비스를 구성하고 있었다면, 현재는 여러 개의 작은 애플리케이션으로 서비스가 나뉘어 있고, 또 각각의 서비스들은 네트워크를 통해 복잡하게 연결되어 있는 형태죠. 이런 구조에서는 서비스 간 연계 구간에서의 지연이 전체 서비스의 장애를 유발할 가능성이 높아집니다. APM에서는 웹 애플리케이션에서 병목을 일으키는 트랜잭션을 모니터링하고 제어할 수 있는 기능을 제공합니다. 하지만 WAS 영역보다 확장된 네트워크 측면에서의 응답 지연이 발생하는 경우에는 해당 트랜잭션을 중지시킬 수 없어 병목을 유발하고 전체 서비스의 성능 저하로 이어질 수 있죠. 이번에 취득한 특허 기술은 이런 이슈에 대한 즉각적인 병목 해소를 통해, 실질적인 서비스 품질을 향상시킬 수 있습니다. 또한, Micro Service Architecture 시대에 IT 서비스를 영위하는 기업에 더욱 효과적인 모니터링 환경을 제공하게 됩니다. Zenius APM은 이번에 취득한 특허 기술을 통해 MSA 구조의 분산된 환경에서 최적화되어, 애플리케이션 품질을 향상시키고 IT 서비스 연속성을 확보해 고객 만족도가 높아질 것으로 기대됩니다. 브레인즈컴퍼니는 앞으로도 지속적인 기술 개발을 통해 레거시는 물론, 클라우드 네이티브 환경에서의 모니터링 툴 활용도를 극대화하고, IT 인프라 관리자의 고민을 덜 수 있는 서비스를 만들기 위해 끊임없이 노력하겠습니다.
2023.07.19
회사이야기
[행사] 2023년 상반기 간담회
회사이야기
[행사] 2023년 상반기 간담회
2023년 상반기 간담회가 6월 29일 브레인즈컴퍼니 본사 8층 라운지에서 열렸습니다. 신년회 이후 오랜만에 브레인저들이 한 자리에 모였습니다. 오후 4시가 되어 행사가 시작되었습니다. 먼저 선근님이 간략히 자회사 에이프리카의 실적 전망에 대해 언급하면서 브레인즈컴퍼니와의 시너지 극대화를 위해 모든 동료들이 비즈니스에 더 집중하길 당부했습니다. 다음으로 각 부서장들이 2023년 상반기 사업실적 및 하반기 사업 계획을 발표했습니다. 전략사업본부장인 은숙님을 시작으로 연구개발본부장 자환님, 경영지원실장 현보님이 상반기의 굵직한 성과들을 정리해 주었습니다. 먼저 은숙님은 새로운 브레인저들을 위해 전략 사업 본부의 팀들과 업무에 대해 소개해 주었고, 23년 상반기의 TOP 5 프로젝트와 하반기 다양한 팀의 공조가 필요한 프로젝트 5가지를 설명해주었습니다. 자환님은 차세대 제니우스의 개발 상황 및 SIEM, ITSM의 상반기 실적을 설명해 주고, 하반기의 개발 계획과 개발 조직 개편에 대해 안내해 주었습니다. 현보님은 상반기 자회사 에이프리카의 합류로 많은 일이 새로 생겼으나, 회사가 성장하는 기쁨도 커지고 있다고 언급해 주었습니다. 또 상반기의 큰 행사 중 하나였던 창립기념 해외 연수 설문조사의 결과를 설명해 주었습니다. 부사장인 재걸님은 “고객이 우리를 신뢰해서 손 잡아준 만큼 우리는 더 큰 책임감을 가져야 한다”며 “하반기에도 동업자 정신으로 서로 똘똘 뭉치자”고 상반기 총평을 하며 간담회를 마무리하였습니다. 이후 근처 고깃집으로 이동해 단체 회식을 가졌습니다. 고깃집 대관 시간이 지나가도록 오래 이야기를 나누고, 고기를 먹으며 즐거운 시간을 보냈습니다. 2023년 상반기 모두들 수고 많으셨습니다. 브레인즈컴퍼니 화이팅!
2023.06.30
회사이야기
2023년 상반기 협력업체 상생 세미나 성료…”신규 기능 소개, 상생 지속 도모”
회사이야기
2023년 상반기 협력업체 상생 세미나 성료…”신규 기능 소개, 상생 지속 도모”
지난 21일 본사 8층 대회의실에서 ‘2023년 상반기 협력업체 상생 세미나’를 진행했습니다. 브레인즈컴퍼니는 급변하는 IT인프라 시장 환경에 적극 대응하고 협력사와의 협력을 더욱 강화하기 위해 협력업체 상생 세미나를 운영하고 있습니다. 올해부터 세미나를 상, 하반기 2회 실시하기로 하였는데요, 기존에 EMS를 설치 및 활용하는 교육 중심에서 제니우스의 새로운 기능을 소개하는 중심으로 세미나에 변화를 주었습니다. 이날 행사는 먼저 프리세일즈팀에서 회사 소개를 하였고, 이어서 Technical Consulting 팀 정채린 차장이 제니우스 8.0의 신규 기능을 소개하였는데요, 20개 이상의 신규 기능에는 WNMS, ERMS, 웹토폴로지 등이 포함되어 있습니다. 그리고 막간을 이용해 통합로그관리, Zenius LogManager을 소개하는 시간도 가졌습니다. WNMS는 분산된 AP 장비의 상태를 한 곳에서 통합 모니터링할 수 있을 뿐만 아니라, AP 장비의 Up/Down 링크, WAN Traffic 등을 실시간으로 모니터링하고, AP 장비의 부하를 효율적으로 컨트롤하도록 접속자 수, 사용자 수, 최대 동시접속자 수 등의 근거데이터를 모니터링하고 자료로 확보할 수 있습니다. ERMS(Event Relation Management System)은 문제 원인 추적을 위한 이벤트의 연관성을 분석하는 기능입니다. 기존 서비스맵의 기능에 AND/OR, 이상 등의 다양한 연산조건 및 통보기능을 추가하여 개별적 이벤트가 아닌 복합적인 이상 상황을 감지할 수 있습니다. 웹토폴로지는 기존에는 CS 형식으로 제공되었던 토폴로지맵의 활용도를 높이기 위해 Web기반으로 구현하여 오버뷰와 함께 활용할 수 있도록 구현하였습니다. 마지막은 클라우드 모니터링을 소개하고 시현을 통해 클라우드 가상화 자원을 모니터링하여 가상 자원의 적절한 운영 효율성을 향상시킬 수 있는지 선 보였습니다. 이번 세미나에는 영진인포텍, 한신정보, 시원 등 협력업체 관계자뿐만 아니라 디와이, 더존비즈온 같은 고객사에서도 참여했습니다. 참여한 협력업체는 이런 형식의 세미나가 자주 있었으면 좋겠다, 그리고 정기적인 온라인 교육을 희망한다는 의견을 주셨습니다. 반면 참여한 고객사는 제니우스 8.0으로 업그레이드를 결정하는 데 많은 도움이 되었다고 합니다. 세미나를 주관한 소감은 “제품 중심으로 소개하는 세미나는 처음인데 예상보다 질문이 많았고 관심이 뜨거운 것을 보고 앞으로 제품을 소개하는 기회를 자주 가지면 좋겠다”입니다. 참여해 주신 모든 분께 감사 인사 전합니다.
2023.06.23
회사이야기
강선근 대표이사, ‘중소기업인 대회’ 산업포장 수상
회사이야기
강선근 대표이사, ‘중소기업인 대회’ 산업포장 수상
강선근 브레인즈컴퍼니 대표이사가 20일 중소기업DMC타워에서 열린 ‘중소기업인 대회’에서 산업포장을 수상했습니다. 올해 34회째를 맞은 중소기업인 대회는 일자리, 수출, 사회기여 등 한국경제 발전에 공헌한 중소/벤처기업인의 성과를 되짚어 보고, 자긍심을 높이는 중소 기업계 최대 축제입니다. 중소기업인 대회는 기술력 뿐만 아니라 재무적 실적과 사회 공헌에 얼마나 이바지 했는지를 종합적으로 평가하며 일회성 공적이 아닌 얼마나 꾸준한 업적이 쌓았는지를 보고 수상자를 선발합니다. 강선근 대표이사는 IT 인프라 통합관리 솔루션, Zenius(제니우스)의 우수한 기술력으로 관제 분야의 국산화 및 국내 SW산업 수준을 향상시킨 공로를 인정 받았습니다. 또한 교육 기관에 기부금 전달 및 산학 협력 업무협약을 체결해 소프트웨어산업 인재 양성에 힘쓰고 있는 점을 인정받아 산업포장을 수상하게 되었습니다. △기술력: 다양한 이기종 IT 인프라에 대한 통합관리 시스템 Zenius EMS를 기반으로, 웹 애플리케이션 성능 모니터링 Zenius APM, 통합로그관리 Zenius SIEM , IT서비스 관리 Zenius ITSM 등으로 구성된 소프트웨어 발전 기여 △실적: 공공기관, 관제부분 실적 1위 △사회공헌: 산학 협력 등 일자리 창출 이번 행사는 서울지방중소벤처기업청과 중소기업중앙회 서울지역본부가 공동 주최하고 서울시가 후원하였습니다.
2023.06.21
기술이야기
서버 모니터링의 두 가지 방식
기술이야기
서버 모니터링의 두 가지 방식
이번 블로그에서는 일반적으로 서버 모니터링 소프트웨어들이 널리 쓰고 있는 서버 모니터링의 두 가지 방식에 대해서 논의하고 그 차이점을 알아보겠습니다. 지난 블로그에서 언급했듯이, 서버 모니터링은 컴퓨터 서버의 성능을 관찰하고 분석해 최적의 상태로 실행되고 있는지 확인하는 작업입니다. 이 프로세스에는 일반적으로 CPU 사용률, 메모리 사용량, 디스크 I/O, 네트워크 트래픽 및 응용 프로그램 성능과 같은 다양한 메트릭에 대한 데이터를 수집하는 소프트웨어 도구의 사용이 포함됩니다. 서버 모니터링 소프트웨어는 데이터 수집 후 추세, 패턴 및 이상 현상을 식별하기 위해 데이터를 분석합니다. 분석을 통해 잠재적인 문제가 심각해지기 전에 식별하고 서버 관리자가 시정 조치를 취할 수 있도록 합니다. 예를 들어, CPU 사용률이 지속적으로 높은 경우 서버의 성능이 부족해 더 많은 리소스를 할당해야 할 수 있음을 나타낼 수 있습니다. 또는 디스크 I/O가 느린 경우 서버의 저장소가 과부하됐거나 최적화가 필요함을 나타낼 수 있습니다. 서버 모니터링 소프트웨어에는 관리자가 서버 성능을 파악하는데 도움이 되는 대시보드, 경고 및 보고 기능이 포함되는 경우가 많습니다. 대시보드는 핵심 성과 지표의 실시간 보기를 제공하는 동시에 특정 임계값을 초과하거나 문제가 감지되면 관리자에게 알림을 보냅니다. 서버 관리자는 보고 기능을 통해 시간 경과에 따른 성능 추세 및 문제에 대한 보고서를 생성할 수 있으며, 이를 통해 용량 계획 및 리소스 할당 결정을 알리는데 사용할 수 있습니다. 서버 모니터링은 일반적으로 에이전트 없는 서버 모니터링과 에이전트 기반 서버 모니터링, 이 두 가지 주요 접근 방식이 있습니다. 두 가지 모두 장단점이 있으며 어떤 것을 선택하느냐는 특정 요구 사항과 선호도에 따라 달라집니다. 에이전트 기반 서버 모니터링 에이전트 기반 서버 모니터링에는 모니터링하려는 각 서버에 ‘에이전트’라고 하는 별도의 서버용 모니터링 소프트웨어를 설치해 데이터를 수집하는 방식을 말합니다. 에이전트는 서버에서 다양한 성능 메트릭에 대한 데이터를 수집해 모니터링 시스템으로 다시 보냅니다. 이 접근 방식은 에이전트 없는 모니터링보다 더 상세하고 세분화된 데이터와 기능을 제공합니다. 또, 데이터를 암호화하고 보안 채널을 사용해 데이터를 전송하므로 일반적으로 에이전트 없는 모니터링보다 더 안전합니다. 에이전트 기반 서버 모니터링의 주요 기능은 다음과 같습니다. ∙ 성능 모니터링: 에이전트는 CPU, 메모리, 디스크 사용률, 네트워크 트래픽 등의 정보를 수집할 수 있습니다. 이를 이용해 서버의 성능을 모니터링하고, 부하가 높아지면 적시에 대처할 수 있습니다. ∙ 로그 모니터링: 에이전트는 서버에서 발생하는 로그를 수집할 수 있습니다. 이를 이용해 서버에서 발생한 이벤트의 원인 파악에 도움을 줄 수 있습니다. ∙ 보안 모니터링: 에이전트는 서버 내부의 보안 상태를 모니터링할 수 있습니다. 예를 들어, 악성 코드 감지, 사용자 로그인 상태, 파일 권한 등을 체크해 보안 위협을 조기에 감지할 수 있습니다. ∙ 애플리케이션 모니터링: 에이전트는 서버에 설치된 애플리케이션의 상태를 모니터링할 수 있습니다. 예를 들어, 웹 서버에서는 HTTP 요청, 응답 코드, 응답 속도 등을 모니터링해 애플리케이션의 상태를 파악할 수 있습니다. ∙ 자동화된 조치: 에이전트는 모니터링 데이터를 기반으로 자동화된 조치를 수행할 수 있습니다. 예를 들면, CPU 부하가 높아지면 자동으로 스케일 업 또는 스케일 아웃을 수행할 수 있습니다. 에이전트 리스 서버 모니터링 에이전트가 없는 서버 모니터링은 서버 자체에 소프트웨어를 설치할 필요가 없습니다. 대신 모니터링 소프트웨어가 별도의 서버나 워크스테이션에 설치되고, SNMP 또는 WMI와 같은 네트워크 프로토콜을 사용해 대상 서버에서 데이터를 원격으로 수집합니다. 이 접근 방식은 각 서버에 소프트웨어 에이전트를 설치하고 관리할 필요가 없어 일반적으로 설정 및 유지 관리가 더 쉽고 빠릅니다. 또, 에이전트 기반보다 같은 자원을 이용해서 더 많은 수의 서버를 모니터링할 수 있어 경제적입니다. 대신 기능이 제한적이고 프로토콜이 의존해 데이터를 수집하기 때문에 보안 문제가 발생할 수 있습니다. 에이전트 리스 서버 모니터링의 주요 기능은 다음과 같습니다. ∙ 원격 모니터링: 에이전트 없는 모니터링 도구는 원격 데이터 센터, 지사 또는 클라우드 환경에 있는 서버를 포함해 모든 곳에 있는 서버를 원격으로 모니터링할 수 있습니다. 이러한 유연성을 통해 조직의 전체 서버 인프라를 중앙집중식으로 모니터링하고 관리할 수 있습니다. ∙ 확장성: 에이전트 없는 모니터링은 서버 인프라 또는 워크로드 요구사항의 변화를 수용하기 위해 쉽게 확장 또는 축소할 수 있습니다. 추가 에이전트 소프트웨어 설치 또는 구성 없이 모니터링 시스템에 추가 서버를 추가할 수 있습니다. ∙ 포괄적인 모니터링: 에이전트 없는 모니터링은 서버 성능 메트릭을 추적하고 문제를 식별하며, 실시간 경고를 제공함으로써 관리자가 서버 인프라의 상태를 유지하고 중요한 애플리케이션과 서비스가 원활하게 실행되도록 합니다. ∙ 손쉬운 유지 관리 및 업데이트: 에이전트 없는 모니터링을 사용하면 모니터링 되는 각 시스템에서 에이전트 소프트웨어를 관리하고 업데이트할 필요가 없습니다. 이는 유지보수를 단순화하고 모니터링 시스템을 항상 최신 상태로 유지합니다. Zenius(제니우스)의 서버 모니터링 브레인즈컴퍼니의 지능형 IT 인프라 통합관리 소프트웨어 ‘Zenius(제니우스)’는 고객의 시스템 상황에 따라 에이전트 기반 및 리스 방식 모두 가능합니다. 에이전트 기반의 통합 모니터링 소프트웨어 ‘Zenius SMS’는 HTML5 기반 Web UI와 토폴로지 맵을 통해 서버 성능과 상태 및 서버 간 연관관계를 직관적으로 파악합니다. 특히, Zenius SMS는 애플리케이션 단위에 성능이나 로그를 세밀하게 모니터링 및 분석이 가능합니다. Zenius SMS의 주요 기능은 아래와 같습니다. Zenius SMS의 주요 서버 모니터링 기능 1. 프로세스: 프로세스 상태(Up/Down) 및 성능 모니터링(CPU/MEM) 2. 로그: 프로세스나 시스템 로그와 같은 각종 로그 모니터링 3. GPU: GPU의 상태 및 성능 모니터링 4. 보안: 서버의 보안 취약점 점검 5. 자동화: 모니터링 데이터를 기반으로 자동화된 조치 수행 6. 기타: 코어별 온도 모니터링, 서비스 포트별 네트워크 상태, S/W 목록, 환경변수, 계정, 그룹, 스케쥴링, 공유폴더 현황 등 ‘Zenius SMS’ 도입을 통해 체계화된 서버 통합관리를 할 수 있습니다. 반복적이고 수동적인 업무는 자동화돼 업무 효율성을 향상시키며, 객관적인 데이터를 기반으로 정확한 성능 현황 및 비교분석이 가능합니다. 이는 곧 서비스 연속성 확보로 이어지며, 향후 고객 만족도 향상을 기대할 수 있습니다. 반면, 고객 서버에 에이전트 탑재가 불가능한 경우에는 에이전트 리스 방식으로도 사용 가능합니다. 브레인즈컴퍼니의 에이전트 리스 제품으로는 ‘Zenius VMS’가 있습니다. ‘Zenius VMS’는 VMware, Citrix Xen Server, Hyper-V와 같은 서버 가상화 환경에서 호스트 서버와 게스트 서버의 리소스 할당 및 사용 현황, 관계 등을 통합적으로 관제합니다. ‘Zenius VMS’는 프라이빗 클라우드 환경을 모니터링하는데 효과적입니다. Open API로 프라이빗 클라우드 인프라와 통신해, 가상머신의 상태 및 성능, 스토리지 활용도 및 네트워크 트래픽과 같은 환경의 다양한 측면에 대한 데이터를 수집합니다. 수집된 데이터를 분석해 잠재적 문제를 나타낼 수 있는 경향, 패턴 및 이상 현상을 식별하고, 크게 CPU, 메모리, 디스크, MIB 이 4가지 정보를 기본적으로 제공합니다. ‘Zenius VMS’는 VM 상세 관리를 위해 SMS 추가 확장이 용이한 제품입니다. VMS를 통해 호스트-게스트 간 연관관계 기반의 모니터링을 시행하고, 별도로 가상화 서버에 SMS 모듈을 추가해 보다 다양한 모니터링 항목으로 정밀하게 관리함으로써 효과적인 통합관리 환경을 조성할 수 있습니다.
2023.05.09
기술이야기
서버 모니터링, 서버 관리, 서버 관리자
기술이야기
서버 모니터링, 서버 관리, 서버 관리자
서버는 기업의 IT 인프라를 구성하는 필수 요소입니다. 서버는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로, ▲파일 저장 및 공유 ▲웹사이트 및 애플리케이션 호스팅 ▲프린터 및 스캐너와 같은 네트워크 리소스 관리 ▲이메일 서비스 제공 등 다양한 기능을 수행합니다. 일반적으로 Microsoft Windows Server, Linux 또는 Unix와 같은 다양한 운영 체제를 실행하며, 가동 중지 시간을 최소화하면서 지속적으로 실행되도록 설계됐습니다. 오늘날과 같이 급변하는 비즈니스 환경에서의 서버 중단은 상당한 수익 손실과 평판 손상으로 이어질 수 있습니다. 이에 따라 기업은 서버 모니터링 및 관리를 위해 문제를 신속하게 식별하고 해결할 수 있는 강력한 서버 모니터링 시스템을 필수적으로 갖춰야합니다. 서버 모니터링과 서버 관리는 서버의 성능을 최적화하고 가용성을 보장하는데 중요한 관련이 있습니다. 이 블로그에서는 서버 모니터링과 서버 관리에 대해서 알아보고, 마지막으로 서버관리자가 어떤 일을 하는지 논의해 보고자 합니다. 먼저, 서버 모니터링과 서버 관리의 차이점은 다음과 같습니다. ------------------------------------------ 서버 모니터링이란? 서버 모니터링에는 도구와 소프트웨어를 사용해 서버의 성능, 상태 및 가용성을 추적하는 작업이 포함됩니다. 여기에는 CPU 사용량, 메모리 사용량, 디스크 공간, 네트워크 트래픽 및 애플리케이션 성능과 같은 모니터링 지표가 포함됩니다. 서버 모니터링의 목표는 문제가 발생하기 전에 잠재적인 문제를 감지하고, 문제가 발생할 때 문제 해결을 위한 데이터를 제공하는 것입니다. 서버 모니터링은 일반적으로 특수 도구를 사용해 자동화되는 프로세스입니다. 서버 관리란? 서버 관리는 서버가 최적으로 작동하도록 서버를 능동적으로 유지∙관리하고 구성하는 프로세스입니다. 여기에는 운영 체제, 소프트웨어 및 응용 프로그램의 설치 및 구성, 사용자 계정 및 사용 권한 관리, 백업 및 복원 수행, 서버 환경의 보안 및 규정 준수 보장 등의 작업이 포함됩니다. 서버 관리의 목표는 서버가 최고의 효율성으로 실행되고 안전하며, 사용자에게 필요한 서비스를 제공할 수 있도록 하는 것입니다. 요약하면, 서버 모니터링은 관찰 및 경고에 중점을 두는 반면, 서버 관리는 성능을 최적화하고 가용성을 보장하기 위해 서버를 능동적으로 구성하고 유지∙관리하는데 중점을 둡니다. 서버 모니터링은기업의 서버 관리자가 담당합니다. 서버 관리자는 기업의 비전과 전략을 달성하기 위해 서버를 비롯한 IT 시스템의 방향을 수립하는 IT 전문가입니다. 서버 관리자는 높은 수준의 가동 시간과 가용성을 보장하고 서버, 시스템 및 애플리케이션의 소프트웨어 및 하드웨어 기능과 같은 구성 요소를 평가합니다. 서버 관리자의 주요 업무는 조직의 규모와 특정 요구 사항에 따라 다를 수 있지만, 일반적으로 아래와 같습니다. 서버 관리자의 주요 업무 1. 서버 설치 및 구성 서버 설치 및 구성은 서버 관리자의 필수 업무로, 서버 하드웨어, 소프트웨어 및 네트워크 인프라에 대한 기술적 전문 지식, 세부 사항에 대한 주의 및 철저한 이해가 필요한 복잡한 작업입니다. 서버 관리자는 최적의 성능, 보안 및 안정성을 제공하는 동시에 서버가 조직의 요구사항을 충족하도록 올바르게 설치 및 구성됐는지 확인해야 합니다. 2. 서버 모니터링 및 유지보수 서버의 안정성과 성능을 유지하기 위한 핵심 업무입니다. 서버 관리자는 서버 하드웨어 및 소프트웨어를 유지∙관리해, 서버가 효율적이고 안전하게 실행되도록 하고 시스템 성능을 모니터링해 잠재적인 문제를 식별합니다. 3. 서버 보안 서버 보안 관리는 서버에 저장된 데이터의 기밀성, 무결성 및 가용성을 손상시킬 수 있는 잠재적인 보안 위협으로부터 서버를 보호하는 것과 관련된 업무입니다. 서버 관리자는 서버가 잠재적인 보안 위협으로부터 보호되고 서버가 관련 규정 및 표준을 준수하는지 확인하기 위해 적극적으로 노력합니다. 4. 서비스 제공 및 지원 서비스 제공 및 지원은 서버 서비스 및 응용 프로그램의 배포, 유지 및 지원 관리와 관련 있습니다. 이 업무는 서버 가용성을 유지하고 사용자 요구 사항을 충족하는데 중요하며, 서버 관리자는 사용자가 필요할 때 시기 적절하고 효과적인 지원을 받을 수 있도록 합니다. ------------------------------------------ 이처럼 서버 관리자는 서버가 원활하고 안전하며 효율적으로 실행되도록 하는데 중요한 역할을 합니다. 서버 관리자는 복잡한 기술적 지식을 보유해야 하고 빠른 대처 능력을 요구받으며, 보안 대응 및 최적화 작업 등에서 많은 어려움을 겪습니다. 더욱이 서버가 기능에 따라 세분화돼 일반 서버, 웹 어플리케이션 서버, 데이터베이스 서버 등으로 나뉘게 되면 각 기능별로 웹 애플리케이션 서버관리자나 데이터베이스 서버관리자 등으로 관리자의 역할이 세분화되기도 합니다. 서버의 수나 종류가 많아지고 구성이 복잡해지면 모니터링과 관리가 어려워집니다. 이를 돕기 위해 브레인즈컴퍼니의 Zenius(제니우스)와 같은 통합 서버 모니터링 및 관리 소프트웨어가 필요하게 됩니다.
2023.05.09
기술이야기
옵저버빌리티 향상을 위한 제니우스 대표 기능들
기술이야기
옵저버빌리티 향상을 위한 제니우스 대표 기능들
이번 블로그에서는 지난 블로그에서 다루었던 옵저버빌리티를 구현하기 위한 오픈 소스들은 어떤 것들이 있는지 간략히 알아보고, 제니우스(Zenius-EMS)에서는 옵저버빌리티 향상을 위해서 어떤 제품들을 제공하고 있는 지 살펴보겠습니다. 옵저버빌리티 구현을 위해 널리 활용되는 대표적인 오픈소스로는 아래 네 가지 정도를 들 수 있습니다. l Prometheus: 메트릭 수집 및 저장을 전문으로 하는 도구입니다. Prometheus는 강력한 쿼리 기능을 가지고 있으며, 다양한 기본 메트릭을 제공하며 데이터 시각화를 위해 Grafana와 같은 도구와 통합될 수 있습니다. 또한 이메일, Slack 및 PagerDuty와 같은 다양한 채널을 통해 알림을 보낼 수 있습니다. l OpenTelemetry: 에이전트 추가 없이 원격으로 클라우드 기반의 애플리케이션이나 인프라에서 측정한 데이터, 트레이스와 로그를 백엔드에 전달하는 기술을 제공합니다. Java, Go, Python 및 .NET을 포함한 다양한 언어를 지원하며 추적 및 로그에 대한 통합 API를 제공합니다. l Jaeger: 분산 서비스 환경에서는 한번의 요청으로 서로 다른 마이크로서비스가 실행될 수 있습니다. Jaeger는 서비스 간 트랜잭션을 추적하는 기능을 가지고 있는 오픈 소스 소프트웨어입니다. 이 기능을 통해 애플리케이션 속도를 저해하는 병목지점을 찾을 수 있으며 동작에 문제가 있는 애플리케이션에서 문제의 시작점을 찾는데 유용합니다. l Grafana: 시계열 메트릭 데이터를 시각화 하는데 필요한 도구를 제공하는 툴킷입니다. 다양한 DB를 연결하여 데이터를 가져와 시각화 할 수 있으며, 그래프를 그릴 수도 있습니다. 시각화한 그래프에서 특정 수치 이상일 때 알람 기능을 제공하며 다양한 플러그인으로 기능확장이 가능합니다. ------------------------------------------------- 오픈 기술을 이용해 Do It Yourself 방식으로 옵저버빌리티를 구현한다면 어떨까요? 직접 옵저버빌리티를 구현하기 위해서는 먼저 필요한 데이터를 수집해야 합니다. 필요한 데이터가 무엇인지, 어떤 방식으로 수집할지 결정하고 Prometheus, OpenTelemetry 같은 도구들을 이용해 설치 및 설정합니다. 이 단계는 시간이 가장 오래 걸리고, 나중에 잘못된 구성이나 누락이 발견되기도 합니다. 다음 단계는 데이터 저장입니다. 이 단계에서 주의할 점은 예전처럼 여러 소스에서 수집한 데이터를 단순하게 저장하는 것이 아니라, 전체적인 관점에서 어떤 이벤트가 일어나는지를 추적이 가능하도록 데이터 간의 연결과 선후 관계를 설정하는 것입니다. 어려운 점은 새로운 클라우드 기술을 도입하거나 기존의 인프라나 애플리케이션에서 변경이 발생할 때마다 데이터를 계속해서 정리를 해야 하는데, 이를 위해 플랫폼을 지속적으로 수정하고 구성을 추가해야 한다는 것입니다. 마지막으로 부정확한 경고들은 제거해야 합니다. 비즈니스 상황과 데이터는 계속해서 변화하기 때문에 이에 맞게 베이스 라인을 지속적으로 확인하고, 임계치를 조정해서 불필요한 알람이나 노이즈 데이터가 생기는 것을 방지해야 합니다. 결론적으로 직접 옵저버빌리티를 구현하는 것은 처음에는 쉬워 보여도 고급 인력과 많은 시간을 확보해야 하며, 별개로 시간이 지남에 따라서 효율성과 확장성이 떨어진다는 점을 감안하면 대부분의 기업은 감당하기 어렵다고 할 수 있습니다. 그렇다면, Zenius(제니우스) EMS는 옵저버빌리티를 어떻게 확보하고 있을까요? 옵저버빌리티 향상을 위한 가장 기본적인 기능은 토폴로지맵 또는 대시보드입니다. 다양한 인프라의 물리적 논리적 연결구조들을 한 눈에 시각적으로 파악할 수 있도록 해야 합니다. Zenius는 각 인프라별 상황을 한 눈에 볼 수 있는 오버뷰와 시스템 전체를 조망할 수 있는 토폴로지맵, 그리고 서비스 별 상황들을 감시할 수 있는 대시보드 등 크게 세가지의 뷰어(Viewer)를 제공합니다. 인프라의 구성 상황에 따라 다층적으로 구성되어 고객들이 인프라에서 일어나는 상황을 즉각 알 수 있도록 해 줍니다. 이러한 뷰어들은 기존 ‘모니터링’의 개념에서 ‘옵저버빌리티’ 개념으로 진화화면서 좀 더 다층적, 다양화되는 형태로 진화하고 있습니다. 또한, Zenius는 기존의 각 인프라별로 단순히 감시를 설정하는 방식이 아닌 다양한 인프라로부터의 로그와 메트릭 정보를 이용해 어떤 상관관계가 있는지 분석하는 ‘복합감시’라는 서비스가 기본적으로 탑재돼 있습니다. 복합감시를 대표 기능에는 ERMS(Event Relation Management System), 스냅샷 그리고 조치 자동화 등을 들 수 있습니다. l ERMS 기능은 로깅, 메트릭 정보와 장비의 상태를 이용해 새로운 감시 기준을 만들어, 의미있는 이벤트를 생성해 사용자에게 개별 장비 수준이 아닌 서비스 관점에서 정확한 상황 정 보를 제공합니다. l 스냅샷은 서비스 동작에서 이벤트가 발생했을 때, 당시 상황을 Rawdata 기반으로 그대로 재현하는 기능으로 SMS, DBMS, APM, NMS 등 모든 인프라를 동시에 볼 수 있습니다. l 조치 자동화는 ERMS를 자동운영시스템과 연동해, 특정 상황에서 자동으로 스크립트를 실행해 제어하는 기능입니다. 트레이싱 기능은 APM에서 제공하는 기능으로, WAS(Web Application Server)에 인입되고 처리되는 모든 트랜잭션들을 실시간으로 모니터링하고 지연되고 있는 상황을 토폴로지 뷰를 통해 가시적으로 분석할 수 있습니다. 사용자는 토폴로지 뷰를 통해 수행 중인 액티브 트랜잭션의 상세정보와 WAS와 연결된 DB, 네트워크 등 여러 노드들 간의 응답속도 및 시간들을 직관적으로 파악할 수 있습니다. 제니우스의 또 다른 옵저버빌리티는 인공지능 기반의 미래 예측 기능으로 미래 상황을 시각적으로 보여줍니다. 인프라 종류에 상관없이 인공신경망 등 다양한 알고리즘을 통해 미래 데이터를 생성하고, 장애발생 가능성을 빠르게 파악해 서비스 다운타임이 없도록 도와줍니다. 또한 이상 탐지 기능은 보안 침해 또는 기타 비정상적인 활동을 나타낼 수 있는 시스템 로그, 메트릭 및 네트워크 트래픽의 비정상적인 패턴을 식별할 수 있습니다. 이상탐지 알고리즘은 시간이 지남에 따라 시스템 동작의 변화에 적응하고 새로운 유형의 위협을 식별하는 방법을 학습할 수 있습니다. 이상과 같이 Zenius(제니우스) EMS는 최고의 옵저버빌리티를 제공하기 위해서 연구개발에 매진하고 있습니다. 옵저버빌리티 향상을 위한 다양한 기능/제품들은 고객의 시스템과 조직 상황에 맞게 선별적으로 사용될 수 있습니다.
2023.04.19
1
2
3
4
5
6
7
8
9
10