본 도구는 AI 기반의 이상 로그 탐지 지원 툴킷으로, 사전에 정의된 기준 및 알고리즘을 바탕으로 이상 로그를 자동 식별합니다. 분석 결과는 참고용이며, 판단의 최종 책임은 사용자에게 있습니다. 자동 탐지 결과는 실제 상황과 차이가 있을 수 있으므로 사용자 스스로 충분한 검토와 해석을 통해 의사결정에 활용해야 합니다.
Python 3.10 또는 Python 3.11 버전이 필요하며 Local에서 진행 시 가상 환경 설정을 위해 virtualenv 설치가 필요합니다. 이는 pip install virtualenv
명령어를 통해 설치가 가능합니다. 추가로, 다음과 같이 python3 -m venv venv
명령어로도 가상 환경 세팅이 가능합니다. 하지만 이 방법은 버전 설정을 추가로 진행해주어야 하기 때문에 virtualenv 활용을 추천합니다.
# 1. Docker 설치
<https://www.docker.com/products/docker-desktop/>
# 2. 버전 확인
$ docker --version
$ docker compose version
# 3. 이미지 다운로드
$ docker pull ynjii/anomaly-toolkit:latest
# 4. 환경 설정
$ mkdir logscope && cd logscope
# 5. docker-compose.yml 작성
version: '3.8'
services:
web:
image: ynjii/anomaly-toolkit:latest
container_name: anomalytoolkit-web
ports:
- "8000:8000"
env_file:
- .env
# 6. .env 작성
SECRET_KEY="django-insecure-abc123456789"
# 7. 새 SECRET_KEY 발급
$ python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
# 8. 실행
$ docker compose up -d
# 1. 저장소 복제
$ git clone <https://github.com/whs3-mujo/anomaly-toolkit>
# 2. 환경변수 파일 생성
# 'manage.py'가 있는 경로에 '.env' 파일 만들기
# 파일 내용은 다음과 같이 작성하고 저장(아래 내용은 예시이며 비밀키로 사용할 문자열 직접 입력)
SECRET_KEY=123
# 3. 가상환경 세팅
$ virtualenv --python=3.11 .venv # pip install virtualenv
$ . .venv/bin/activate
# 4. requirements.txt 경로로 이동
$ (.venv) cd anomaly-toolkit
# 5. 의존성 라이브러리 설치
$ (.venv) pip install -r requirements.txt
# 6. 장고 - 모델의 변경사항 확인 후 마이그레이션 파일로 기록
$ (.venv) python manage.py makemigrations
# 7. 장고 - 생성된 마이그레이션 파일을 읽어 DB에 실제 적용
$ (.venv) python manage.py migrate
# 8. 장고 - admin 계정 생성(email 생략 가능)
$ (.venv) python manage.py createsuperuser
# 9. 장고 - 암호화 서명에 사용되는 비밀키 환경변수 지정 (2번에서 진행 시 생략 가능)
$ (.venv) export SECRET_KEY=[비밀키 지정]
# 10. 장고 - 서버 실행
$ (.venv) python manage.py runserver 0.0.0.0:8000
or $ (.venv) python manage.py runserver
# 11. 브라우저 실행
<http://127.0.0.1:8000/> 접속
# 오류 해결 방법
# (1) DB 연동 오류 발생 시 (히스토리 조회 불가, 대시보드 조회 불가 등)
$ (.venv) python manage.py makemigrations web
$ (.venv) python manage.py migrate web
$ (.venv) python manage.py runserver
# (2) 서버 실행 후 오류 발생 시
$ (.venv) python manage.py runserver