1.ecstats 오픈소스
redis를 사용하다 모니터링이나 관리 툴을 사용하지 않고 간단하게 데이터량을 추출해보고 싶어서 ecstats 오픈소스를 사용해보게 되었습니다.
ecstats 오픈소스는 ElastiCache, Azure Cache for Redis, Redis cluster를 python 스크립트를 사용해 데이터 사용량과 구성 정보를 엑셀로 추출해주는 오픈소스입니다.
- 링크 : https://github.com/Redislabs-Solution-Architects/ecstats
[오픈소스 구조]
ecstats는 총 세 가지 유형의 캐시 저장소의 데이터량의 추출하는 스크립트를 제공합니다.
ElastiCache | pullElasticCacheStats.py |
Azure Cache for Redis | pullAzureCacheForRedisStats.py |
Redis cluster | pullRedisOpenSourceStats.py |
사용하고 있는 캐시 저장소에 따라 해당 스크립트를 사용하면 됩니다.
2. Redis 사용 방법
사용 방법에는 도커 이미지를 사용해 실행하거나, 로컬 PC에서 python을 사용해 실행하는 두 가지 방법이 있습니다.
저는 python 스크립트를 이용해 로컬에서 사용 중인 Redis의 데이터량을 추출했습니다.
[실행을 위한 환경 정보]
redis 환경 : 로컬(127.0.0.1)에서 포트번호 (6379, 6380, 6381)로 redis 세 개를 구성함
사용한 스크립트 : pullRedisOpenSourceStats.py를 사용해 스크립트를 실행함
- 스크립트 input 엑셀 파일 (redis 환경 정보를 스크립트에 알려주기 위한 파일)
- 스크립트 output 엑셀 파일 (redis 데이터량 스크립트 실행에 대한 결과 파일)
[A. Github에서 소스 받기]
# git clone
git clone https://github.com/Redislabs-Solution-Architects/ecstats
해당 스크립트를 사용하고 싶은 경로에 clone 해 소스를 받으면 3개의 스크립트를 모두 사용할 수 있습니다.
저는 pullRedisOpenSourceStats.py를 사용했습니다.
[B. Redis DB 구성 엑셀에 작성]
이제, 데이터량을 추출할 Redis에 관한 정보를 스크립트에 알려줘야 합니다.
#pullRedisOpenSourceStats.py
parser = argparse.ArgumentParser()
parser.add_argument("inputFile",
help='''The Excel file containing Redis endpoints to pull stats from ''')
# Startup parameters
input_file = args.inputFile
위와 같이 pullRedisOpenSourceStats.py 소스코드를 확인해보면 엑셀 파일을 command line argumenets로 전달해 Redis에 관한 정보를 입력받고 있습니다.
엑셀 파일은 다운로드한 소스파일 경로에서 samples폴더 안에 있는 sampleOSSPullInput.xlsx를 참고해서 Redis에 관한 정보를 입력해줍니다.
저는 총 3개의 Redis를 로컬에서 포트를 나누어 구성을 해놨기 때문에 3개를 작성해주었고 TLS, Password, User는 사용하지 않고 구성하여 빈 값으로 엑셀을 작성했습니다.
[C. python 스크립트 실행]
먼저 스크립트를 실행하기 위한 python 라이브러리들을 설치해야 합니다.
pip install XlsxWriter #1.2.2
pip install boto3 #1.17
pip install openpyxl #3.0.4
pip install pandas #1.3.0
pip install pathlib #1.0.1
pip install redis #3.5.3
모두 다 설치가 완료되었다면 스크립트를 실행시킵니다.
python pullRedisOpenSourceStats.py samples/sampleOSSPullInput.xlsx
스크립트는 항상 input 엑셀 파일을 command line argumenets로 전달해 같이 실행해야 합니다. (samples 하위 경로에 input 엑셀 파일이 있으니 상대 경로로 작성했습니다)
[D. 데이터 사용량 엑셀 확인]
이렇게 실행이 완료되면 OSSStats.xlxs 파일이 생성된 것을 확인할 수 있습니다.
해당 엑셀 파일을 통해 redis DB에 데이터량과 slaves 등의 설정 정보를 확인할 수 있습니다.
3. 사용하기 편리하게 소스 변경하기
[input 엑셀 파일 경로 및 이름 수정하기]
# python pullRedisOpenSourceStats.py samples/sampleOSSPullInput.xlsx
python pullRedisOpenSourceStats.py input.xlsx
input 엑셀 파일을 스크립트와 동일한 경로로 옮긴 후 이름을 수정하면 스크립트 실행을 하기 훨씬 수월합니다.
[output 엑셀 파일 이름 수정하기]
스크립트에서 output file을 OssStats.xlsx로 추출하는 부분에서 이름을 수정해주면 원하는 이름의 형태로 엑셀 추출이 가능합니다.
'DevOps' 카테고리의 다른 글
[REDIS] redis 기초 개념 (0) | 2022.03.02 |
---|