IT 인프라의 규모가 커지고 복잡해짐에 따라 모든 것이 적절하게 관리되도록 더 많은 주의를 기울여야 할 수 있습니다.
클라우드가 부상한 이후로, 이는 이제 우리가 다양한 위치에 걸쳐 풍부한 기술 정보를 보유하고 있다는 점을 감안할 때 특히 더 관련성이 높아졌습니다.
그러나 포괄적인 로그 분석을 수행할 수 있다는 것은 지루하고 시간이 많이 걸리며 지루할 정도로 지루할 수 있습니다.
이러한 부담에서 벗어날 수 있는 간단하면서도 효과적인 방법은 로그 모니터링을 쉽게 하도록 설계된 소프트웨어나 응용 프로그램을 사용하는 것입니다. 바로 Alexis Gardin이 그의 응용 프로그램인 Logub에서 수행한 것입니다.
다른 많은 SaaS 솔루션과 달리 Logub은 온프레미스 및 오픈 소스에서 이러한 작업을 수행할 수 있습니다. 아래 단계에 따라 애플리케이션 로그를 수집, 탐색 및 분석하는 애플리케이션을 생성할 수 있습니다.
이 애플리케이션의 핵심은 타의 추종을 불허하는 효율성으로 여러 위치에서 로그를 탐색하고 분석하는 RediSearch의 기능에 대한 의존이었습니다. Alexis가 이 애플리케이션을 통합한 방법을 살펴보겠습니다.
하지만 본격적으로 시작하기 전에 Redis Launchpad에서 확인할 수 있는 흥미진진한 애플리케이션이 있음을 알려드립니다.
- 무엇을 만들 것인가?
- 무엇이 필요합니까?
- 건축물
- 시작하기
- 데이터 저장 방식
- 데이터 쿼리 방식
- 검색창은 어떻게 작동하나요?
- Logub을 프로젝트에 통합하는 방법은 무엇입니까?
- 결론
1. 무엇을 만들 것인가?
Redis로 구동되는 특별한 앱을 구축하여 로그 애플리케이션을 수집, 분석 및 탐색합니다. 아래 단계에서는 필수 구성 요소와 함께 이 애플리케이션을 빌드하는 데 필요한 A-Z를 살펴보겠습니다.
Redis가 처음이더라도 이 강력한 데이터베이스를 이해하는 방법을 정확히 알려드리겠습니다. 시작할 준비가 되셨습니까?
자, 바로 들어가 보겠습니다.
데모에서 DEMO 앱은 Logub에 로그를 게시합니다. 이 데모 앱과 상호 작용하여 로그를 생성할 수 있습니다. 그런 다음 Logub에서 요청할 수 있습니다.
먼저 시스템에서 주어진 포트가 열려 있는지 확인하십시오:8080, 8081, 3000 &6379.
자식 클론 https://github.com/redis-developer/logub
localhost:3000으로 이동하여 로그를 탐색합니다.
4. 시작하기
전제조건
1단계:저장소 복제
2단계. 데모 앱 불러오기
Logub 데모 시작
- 데모 가짜 앱에서 가짜 사용자를 만들고 로그에서 확인하세요.
- 시스템에 로그를 게시합니다.
데이터 쿼리 방법
이것은 로그를 조작하고 Redis에서 검색하는 데 사용할 개체입니다. 이 작업을 수행하면 Logub UI가 로그를 표시할 수 있습니다. 로그에서 복잡한 쿼리를 작성하려면 RediSearch를 사용할 수 있습니다.
RediSearch 스키마를 동적으로 변경할 수 있으므로 '목록' 데이터 구조를 사용하여 인덱싱된 스키마를 추적할 수 있습니다.
위의 명령을 사용하면 사용자 입력을 기반으로 일반 텍스트 RediSearch 쿼리를 만들 수 있습니다. RediSearch 라이브러리 상단에 구축된 작은 QueryBuilder가 많이 있습니다. 로그에서 포괄적이고 효율적인 검색을 수행하기 위해 Logub UI에서 보내는 것과 동일한 명령입니다.
2단계:검색창 작동 방법
태그로 검색하거나 전체 텍스트 검색을 수행할 수 있습니다. 다음은 막혔을 때 모델로 사용할 수 있는 몇 가지 예입니다.
- env:dev Ut ea vero voluptate*는 Ut ea vero voluptate로 시작하는 메시지와 함께 개발 환경의 모든 로그를 검색합니다.
- -env:prod Ut ea vero voluptate*는 Ut ea vero voluptate로 시작하는 메시지가 있는 prod를 제외한 모든 환경의 모든 로그를 검색합니다.
- originRequest:France originRequest:USA는 값이 프랑스 또는 미국으로 설정된 originRequest 필드가 있는 모든 로그를 검색합니다.
- "dog" "cat"은 "dog" 및 "cat"이라는 단어가 포함된 모든 로그를 검색합니다.
- -"dog" "cat"은 "dog"을 포함하지 않지만 "cat"을 포함하는 모든 로그를 검색합니다.
앱에 대한 좋은 테스트 경험을 얻으려면 플레이그라운드를 사용하여 고유한 로그를 만들고 비즈니스 속성을 추가한 다음 느낌을 얻기 위해 몇 가지 실험을 수행하는 것이 좋습니다.
3단계:Logub을 프로젝트에 통합하는 방법
Logub을 작동하려면 아래 Docker 이미지 목록이 필요합니다.
- Logub Fluentd 이미지를 수집하여 Redis로 보내기 위한 Logub Fluentd 이미지 – Logub Fluentd 이미지
- RediSearch 모듈 Redis Mod 이미지가 있는 Redis 이미지
- 로그 탐색 기능을 제공하는 Logub 컨트롤러 이미지 – Logub 컨트롤러 이미지
- 로그 탐색 및 쿼리를 위한 Logub UI – Logub UI 이미지
Logub 로그 형식
현재 Logub은 하나의 특정 로그 형식만 처리할 수 있습니다. 앞으로 이 형식이 확장되고 더 맞춤화될 것입니다.
다음은 Logub 형식입니다.
이 필드는 필수 항목이 아닙니다.
비즈니스 속성을 추가하려면 "mdc"가 키로 포함된 중첩 JSON 개체를 추가해야 합니다. 예:
Logub에 로그 게시
Loghub에서 로그를 탐색하려면 컨테이너에서 Docker Fluentd 로깅 드라이버를 사용해야 합니다. 다음은 고객 통합을 위한 구성 예입니다.
4단계:Logub에서 Redis 설정
레디서치
Logub은 RediSearch의 기능을 사용하여 애플리케이션 로그를 처리합니다. Redis 데이터베이스에 로그가 지속되면 3가지 유형의 필드가 수반됩니다.
- 시스템 속성: Docker와 Fluentd가 로그를 보낼 때 제공하는 정보입니다(예:환경, 컨테이너 이름 등).
- 기본 속성: 로그가 가지고 있는 기본 정보입니다(예:타임스탬프, 서비스 등). 이러한 속성은 RediSearch에서 자동으로 인덱싱됩니다.
- 비즈니스 속성: 특정 필드의 logub 사용자가 제공합니다. 여기서 사용자는 키-값(Map) 형식을 준수해야 합니다. RediSearch의 고급 기능 덕분에 이러한 '비즈니스 속성'에 대해 조사하고 싶은 경우 색인을 생성할 수 있습니다.
다음은 Fluentd가 Redis 데이터베이스에서 평면화되고 유지될 때 도구가 어떻게 작동하는지 설명하는 로그의 예입니다. Logub API를 사용하면 사용자 또는 회사가 mdc 개체의 하나 또는 모든 필드를 색인화할 수 있습니다.
이 프로젝트에서 태그 데이터 유형 널리 사용됩니다. 로그에서 검색할 때 비즈니스 속성(예:고객 ID)을 기반으로 로그가 검색되는 경우가 많습니다. 또한 TextField 데이터 유형도 사용합니다. 로그 메시지의 경우. 이를 통해 사용자는 이 필드에서 전체 텍스트 검색을 수행할 수 있습니다.
다음은 검색 프로세스의 단순화된 스키마입니다.
사용자가 인덱싱된 필드를 추적하기 위해 목록 유형을 사용하는 '스키마' 개체를 추가할 수도 있습니다. 레디스의. 이 애플리케이션은 누가 만들었나요?알렉시스 가딘
Alexis는 현재 Zendoc에서 일하는 혁신적인 소프트웨어 엔지니어입니다. 그의 GitHub 페이지로 이동하여 그가 참여한 다른 프로젝트를 확인하세요.