일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- elasticsearch
- tcp
- python
- AWS
- Linux
- 8.0
- Automation
- DB
- 5.0
- ansible
- GIT
- crawling
- API
- 시스템자동화
- module
- GCP
- 자동화
- ubuntu
- powershell
- EC2
- Selenium
- apt
- airflow
- ELK
- zabbix
- kibana
- 크롤링
- 데이터 분석
- EKS
- MySQL
- Today
- Total
목록분류 전체보기 (115)
Oops - IT
OSI 7계층 중 Application Layer에서 동작하는 DHCP 프로토콜의 동작 원리에 대해서 알아보도록 하겠습니다. 1. DHCP란? DHCP(Dynamic Host Configuration Protocol)는 Static IP가 아닌 Dynamic 방식으로 IP를 할당하며 사용 시간이나 IP-Pool 등을 별도로 설정하여 IP를 효율적으로 관리할 수 있게 도와준다. 초기 MAC Addr를 통하여 Broadcast 메세지를 보내어 DHCP 서버를 발견하고 해당 DHCP 서버에서 사용 가능한 IP를 할당 받아서 사용하는 방식이다. 동일 Broadcast에 DHCP 서버가 두 대이상 존재할 경우 보조 DHCP에 OFFER 시간 딜레이를 주어 주 DHCP 서버에 문제가 생겼을 때 동작하게끔 보통 설정..
Python 기본 함수들을 이용하여 "aabbccc" 형태의 String을 a2b2c3 형태로 Compression 하는 알고리즘에 대해서 알아보고 코드를 직접 작성하여 데이터 출력을 확인해보도록 하겠습니다. 1. 알고리즘 정리 - 문자열로된 데이터를 입력 받습니다. - 문자열을 배열 형태로 출력하여 현재 데이터와 다음 데이터 비교 연산을 진행합니다. - 현재 데이터와 다음 데이터가 같을 경우 Count 변수를 증가 시킵니다. - 현재 데이터와 다음 데이터가 다를 경우 comp_str 변수에 데이터를 입력합니다. - For문 종료 후 마지막 데이터를 추가하여줍니다. - 최종 데이터를 리턴 합니다. 2. 코드 작성 및 분석 - 전체 코드는 아래와 같습니다. - i 값 변화에 따른 데이터 변화 - 최종 결과
지난 번에 포스팅 했던 내용을 응용하여 CSV 파일을 연동하여 Host 대량 등록 작업을 진행할 수 있는 스크립트를 작성해보겠습니다. (참조: usheep91.tistory.com/49?category=887203 ) 1. Library 추가 - 스크립트 실행 시 변수를 받기 위한 sys 라이브러리 (CSV 파일 참조) - CSV 파일 Read를 위한 csv 라이브러리 2. 스크립트 실행 시 추가 변수를 받기 위한 설정 추가 - 저는 동일 디렉토리에 zabbix_list라는 폴더를 추가 생성 후에 이 안에 csv 파일을 추가해줬습니다. - 스크립트 실행 시 받은 변수 filename 이라는 변수에 재 할당 - CSV 파일 내용 3. CSV 파일 리딩 및 Hostgroup 및 Templates 분리 - 파..
Logstash에 jdbc 플러그인을 이용하여 DB 데이터를 Elasticsearch에 Import한 후 Kibana로 시각화 해주는 작업을 진행해보겠습니다. DB는 Zabbix DB(Maria DB 10.0.38)을 사용하였습니다. ## 구성도 ## 1. Logstash에 jdbc 플러그인 설치 # /usr/share/logstash/bin/logstash-plugin list jdbc - 위와 같은 경우 정상적으로 설치가 되어 있는 것이므로 스킵 해주세요 - 설치가 되어 있지 않을 경우 아래 명령어로 설치를 진행 해줍니다. # /usr/share/logstash/bin/logstash-plugin install logstash-integration-jdbc 2. mysql-connector-java ..
저번에 포스팅에서 입력한 Basketball 관련 데이터 입력 시 공백에 따라 데이터가 구분되는 현상을 수정하기 위해 형태 소 분석기 nori를 추가하였고, termvector 데이터 확인 시 최대 3개의 데이터("Golden" + "State" + "Warrios")를 합쳐야 생성가능한 Terms가 있어 max_shingle_size까지 설정해주었습니다. 1. 기존 인덱스 삭제 - 기존 생성되어 있던 인덱스 패턴을 삭제해줍니다. # curl -X DELETE 'localhost:9200/basketball?pretty' 2. Mapping 파일 수정 - Mapping 파일에 형태소 분석기 내용과 shingle_size 관련 내용을 추가해 줍니다. - vim basketball_mapping.json ...
TCP 통신 과정 중 TCP 연결 종료 시 발생되는 TIME_WAIT 상태의 개념에 대해서 정리해보겠습니다. 1. TCP 종료 과정 - 아래 그림과 같이 연결 종료 시에는 4-way handshaking 이라고 하는 과정으로 종료 과정이 진행된다. Client에서 Server로 종료 메시지(FIN)를 보냄 Server는 응답 메세지(ACK)를 보내고 종료 준비 상태로 들어감 Server에서 종료 준비 완료시 Client로 종료 메세지(FIN)을 보냄 Client에서 Server로 응답 메세지(ACK)를 보냄 2. 실제 Socket이 종료되는 시기 - Client의 경우 Server로 응답 메세지(ACK)를 보낸 후 잠시 대기하다가 CLOSED 상태가 된다. - Server의 경우 Client로부터 응답 ..
Github 사용 시 협업하여 프로젝트를 진행하는 유저에게 Push와 Pull 권한을 주기위해 Collaborator 추가에 관해서 정리해보겠습니다. 1. Github 접속 후 Repo Settings 이동 - 권한 설정을 할 Repo 선택 - Settings 탭 이동 2. Collaborator 추가 - Manage Access 클릭 - Invite a collaborator 추가 - Collaborator로 추가할 Username, Email 입력 - 입력 후 Select a collaborator above 선택 시 해당 계정으로 메일로 확인 메일이 발송됩니다. - 해당 Collaborator가 메일 확인 후부터 해당 Repo에 Pull, Push 할 수 있는 권한을 가지게 됩니다.
ELK STACK을 전체 구성 후에 Logstash를 통해 CSV파일 데이터를 Elasticsearch에 Import한 후 Kibana로 시각화 해주는 작업을 진행해보겠습니다. 1. Logstash 설치 - Logstash를 통해 Elasticsearh에 데이터를 넣기 위해 설치를 먼저 진행해주겠습니다. # wget https://artifacts.elastic.co/downloads/logstash/logstash-7.10.0-amd64.deb # dpkg -i logstash-7.10.0-amd64.deb # systemctl enable logstash # systemctl start logstash # systemctl status logstash 2. CSV 파일 다운로드 - 인프런 강의의 cs..
Elasticsearh에 인덱스 생성 및 데이터 입력 추가적으로 Kibana Terms로 활용을 위한 Mapping 작업까지 진행해주도록 하겠습니다. 1. Elasticsearh 인덱스 생성 - 데이터 입력을 위한 인덱스를 먼저 생성해 줍니다. - 인프런 강의 데이터 활용을 위해 아래와 같이 생성해주었습니다. # curl -X PUT localhost:9200/basketball 2. Mapping 생성 - 신규 ElasticVersion 에서는 Content-Type을 반드시 명시해줘야됩니다!! - Mapping을 위한 json 파일 생성 # vim basketball_mapping.json . . . { "record" : { "properties" : { "team" : { "type" : "tex..
리눅스 상에서 라이브러리 의존성을 확인하는 방법에 대해서 알아보겠습니다. ** OS 환경: ubuntu16.04 1. ldd [Library Name] - 2글자로 된 리눅스 명령어 출력 # find /usr/{bin,sbin} -name '??' - Library Name은 절대 경로로 입력해주세요. (ex. /bin/ls) # ldd /bin/ls 2. objdump -p [Linray Name] - objdump 커맨드 실행이 불가능한 경우 - apt-get으로 binutils 패키지를 설치해주세요 # objdump -p /bin/ls 3. readelf -d [Linray Name] # readelf -d /bin/ls