목차)
1.
개요도
2.
소스 디렉토리
3.
워크 플로우
4.
설치 및 조건
5.
결과물 (보안 상 첨부 x)
1. 개요도
python version : 3.6
reportlab version : 3.6.1
paramiko version : 2.8.0
2. 소스 디렉토리
report_maker_program_v1.0/
├─config
│ ├─config.json
│ ├─status.json
│ ├─exporters.yaml(monitoring-exporters-data)
├─images
│ ├─211103
│ └─example
├─reports
│ └─211103reports.pdf
├─resource
│ └─Font_file
└─source
├─grafana_image_export.py
├─infra_check.py
├─service_check.py
├─log_check.py
└─report_maker.py
Plain Text
복사
3. 워크 플로우
1.
crontab 에서 main.py 실행
2.
grafana_img_exports.py 로 grafana image 다운로드. ./images 폴더에 날짜별 폴더로 저장.
3.
infra_check.py 에서 infra raw data 를 생성. /tmp/infra-result/ 폴더에 날짜별 폴더로 저장.
4.
service_check.py 에서 service raw data를 생성. /tmp/service-result/ 폴더에 날짜별 폴더로 저장.
5.
log_check.py 에서 log rotation raw data 를 생성. /tmp/log-result/ 폴더에 날짜별 폴더로 저장
6.
report_make.py 에서 위 단계에서 생성된 images 와 raw data 를 불러와서 reports 생성. ./reports 파일에 날짜별 파일로 저장
4. 설치 및 조건
1.
라이브러리
# pip install paramiko reportlab
requirements.txt
---
bcrypt==3.2.0
certifi==2021.10.8
cffi==1.14.6
charset-normalizer==2.0.7
cryptography==3.4.7
idna==3.3
paramiko==2.7.2
Pillow==8.4.0
pprintpp==0.4.0
pycparser==2.20
PyNaCl==1.4.0
PyYAML==5.4.1
reportlab==3.6.2
requests==2.26.0
six==1.16.0
urllib3==1.26.7
---
Plain Text
복사
1.
Deploy 서버에 report_maker_program 설치 방법
# report_maker_program git download
git clone http://180.210.14.253:7000/sjpark/report_maker_program.git
# venv 생성
# python -m venv venv
# pip install
# pip install -r requirements.txt
# config 값 서버에 맞게 설정
# server ip 설정
# exports.yaml ( monitoring server ) 생성
monitoring-server# cd prometheus
monitoring-server# cat prometheus.yml > exports.yml
# exports.yml 파일을 reports_maker_program_v1.0/config/ 폴더에 복사하기
# python main.py 테스트
Plain Text
복사