반응형

 

엘라스틱서치를 설치하고 이제 로그인 하려는데 암호를 몰라 접속을 못하신다구요?

여기에 나오는 방법대로만 하면 해결할 수 있습니다.

 

엘라스틱서치 로그인 패스워드는 설치하자마자 출력되는 Command Prompt로 확인할 수 있지만

따로 저장해 놓지 않으면 로그인 할 수 없습니다ㅠㅠ

 

엘라스틱서치의 기본 로그인 패스워드를 변경(reset)하는 방법 공유드리겠습니다.

 

1. 패스워드 변경을 위해선 먼저 elasticsearch-reset-password를 찾아야 합니다.

아래와 같은 명령어로 경로를 찾아줍니다.

참고로 저는 깔끔한 스샷을 찍기 위해 경로명에 /usr/share을 써넣었지만 설치 경로를 모르시는분은 아래 명령어와 같이 루트 경로(/)로 넣으시면 됩니다.

$ sudo find / -name "*reset-password"

 

elasticsearch-reset-password 프로그램 찾기

 

저의 경우 찾고자 하는 프로그램은 /usr/share/elasticsearch/bin/elasticsearch-reset-password에 프로그램이 위치해 있습니다.

프로그램을 찾았으니 elastic 사용자를 지정하여 패스워드를 초기화 해줍니다.

 

$  /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

 

저의 패스워드는 모자이크 처리 하였지만 이것을 따라하시면 초기화된 패스워드를 확인할 수 있습니다.

 

추가) 패스워드 분실 방지 방법

운영 환경이 서버라면 Elastic Search docs 페이지에도 나와있지만 패스워드 분실을 방지하기 위해선

접속 패스워드를 환경변수로 추가하거나 Desktop의 경우 profile 또는 .bashrc에 등록해 두시면 분실을 방지할 수 있습니다.

 

$ export ELASTIC_PASSWORD="접속패스워드"

 

 

caul334@gmail.com

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

반응형
반응형

 

Elastic Search를 설치하고 netstat로 확인까지 하지 9200 포트가 열려있는 것을 확인했습니다.

하지만 막상 접속을 하려니 다음과 같이 접속이 불가능했습니다.

정상이라면 Elastic Search의 로그인 창이 떠야하는데...

 

해결책

위 문제는 주소창에 엉뚱한 프로토콜을 입력했기 때문이였습니다ㅠㅠ

엘라스틱서치 최신 버전은 주소를 입력할 때 http가 아닌 https를 입력해야 합니다.

저는 최신버전 8.15버전을 설치하다보니 TLS가 적용되어 있다는 영어 문구를 놓쳤더라구요.. 이놈의 영어 실력

올바른 주소 입력

 

 

위 문제의 경우 때문에 TCPdump로 네트워크 트래픽을 확인해보신 분들은 다음과 같은 특징을 발견하셨을 겁니다.

처음에  Syn, Syn+Ack, Ack 으로 3-way 핸드쉐이킹을 잘 맺자마자

곧바로 Fin Fin+Ack과 같이 연결이 끊어지는 특징이 있습니다.

 

 

 

결론적으로 이후 https를 입력하면 로그인 팝업창이 뜨는데

엘라스틱서치를 설치하게 되면 처음에 나오는 비밀번호를 잘 저장해놨다가 입력하시면 됩니다^^

 

 

기본 디폴트 id인 elastic과 설치 시 출력된 비밀번호를 입력하게 되면 아래 사진과 같이

최신버전도 잘 접속이 되는 것을 확인할 수 있습니다.

 

 

caul334@gmail.com

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

반응형
반응형

 

Linux Debian 계열인 우분투 시스템 위에 ELK 스택(Elastic search + Logstash + Kinbana) 설치 방법을 공유드리겠습니다.

 

1. ELK 스택 설치 전 Ubuntu 시스템에서 사전 세팅

# 1) APT 업데이트

$ sudo apt update

 

# 2) Java SDK 설치

$ sudo apt install default-jdk

 

 

2. Elastic Search 설치

1.1) <최신 버전 설치 시> : google에서 elastic download 검색 후 "DEB x86_64" 다운로드

1.2) <특정 버전 설치 시> : google에서 elastic <버전> download 검색 후 "DEB x86_64" 다운로드

2) $ cd Downloads

3) $ sudo dpkg -i <elastic file>

4) $ sudo systemctl start elasticsearch

5) 서비스 확인 : 인터넷 브라우저 > http://localhost:9200/

설치 완료 후 화면

 

3. Kibana 설치

1.1) <최신 버전 설치 시> : google에서 kibana download 검색 후 "DEB x86_64" 다운로드

1.2) <특정 버전 설치 시> : google에서 kibana <버전> download 검색 후 "DEB x86_64" 다운로드

2) $ cd Downloads

3) $ sudo dpkg -i <kibana file>

4) $ sudo systemctl start kibana

5) 서비스 확인 : 인터넷 브라우저 > http://localhost:5601/

설치 완료 후 화면

 

 

반응형
반응형

Selenium wire 모듈을 사용하다보면 가끔 POST 요청으로 백그라운드에서 XHR 요청이 발생하는 경우 있습니다.

 

하지만 문제는 POST 요청에 대한 파라미터를 변경한 값을 결과 값으로 가져오고 싶은데 그게 어렵다는 문제입니다ㅠㅠ

 

이런 경우 아래와 같은 코드를 사용하면 Selenium wire 모듈을 통해서도 얼마든지 세션을 유지하면서 Post 요청을 사용할 수 있습니다.

 

  해결책 - Python 코드

from seleniumwire import webdriver
import requests

# WebDriver 설정
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(seleniumwire_options={}, options=options)

# Selenium 모듈로 홈페이지 요청
url = 'https://example.com'
driver.get(url)

# POST 요청을 하는 특정 페이지 요청 값을 수정하여 requests 모듈로 재요청
for idx, request in enumerate(driver.requests):
	if '</api와 같은 홈페이지 uri 값>' in request.url and request.method == 'POST':
		post_url = request.url
		headers = request.headers
		params = {
			'key1': 'val1',
			'key2': 'val2'
		params_json = json.dumps(params)
		response = requests.post(post_url, data=params_json, headers=headers)
		print(response.text)
		break

 

 

caul334@gmail.com

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

반응형
반응형

 

Python으로 Selenium 모듈을 사용하다가 요청 트래픽과 응답 트래픽을 보기 위해 위해 Selenium Wire를 알게되어

Selenium Wire 모듈을 사용했는데 사용하자마자 역시나 다음과 같은 문제가 이어졌다.

 

Selenium Wire 모듈을 사용하며 특정 사이트에 접속했을 때 아래와 같이 "주의 요함" 또는 "Not Sure" 메시지가 뜬다면...

 

 

 

해결책

1. Selenium wire 홈페이지(https://pypi.org/project/selenium-wire/) 접속

 

 

2. here 클릭하여 ca.crt 파일 다운로드

 

3. 브라우저에 다운받은 인증서 추가

(Chrome 브라우져의 경우) : 설정 > 개인 정보 보호 및 보안 > 보안 > 인증서 관리 > 신뢰할 수 있는 루트 인증 기관 > 가져오기 > 인증서 가져오기 마법사 시작 > 다음 > 파일 경로에 다운 받았던 ca.crt 경로 추가 > 다음

 

 

4. Selenium Wire 재실행 및 확인

인증서를 넣으면! 아래 사진과 같이 "주의 요함" 또는 "Not Sure"메시지가 사라지게 됩니다

 

 

 

 

caul334@gmail.com

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

반응형
반응형

 

syslog 설정하고 Log파일 이름을 원하는 경로에 원하는 파일명으로 설정하는 방법에 대하여 공유드리겠습니다.

해당 명령어 실행은 CentOS 7.9 버전에서 수행되었습니다.

가장 우선적으로 yum 패키지 업데이트 이후 syslog 패키지를 다운로드하여 설치합니다.

1
2
3
#=== 패키지 설치 ===#
sudo yum update
sudo yum install -y rsyslog
cs

 

설치가 모두 완료되었으면 Log를 저장 할 위치를 선정하고 폴더를 생성하여 줍니다.

저는 /data/log/remote 경로에 저장하겠습니다.

1
2
#=== 폴더 생성 ===#
sudo mkdir -/data/log/remote
cs

 

syslog를 원하는 파일명으로 저장하기 위해 아래 $ModLoad부터 ~ 514 까지 2줄의 주석 제거하고

$template 부터 시작하는 아래 2줄을 추가해 줍니다.

UDP/514만 저장하기 원하는 경우 위에 2줄만 주석 제거하고

TCP/514만 저장하기 원하는 경우 아래 2줄만 주석 제거해줍니다.

저의 경우 UDP/514, TCP/514 모두를 파일로 저장하기 위해 아래와 같이 총 4줄을 주석제거 했습니다.

Log 파일 이름 포맷을 변경하실 분은 %로 시작하는 Format의 순서를 변경하시면 됩니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#=== 주석 삭제 및 라인 추가1 ===#
sudo vi /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
 
$template FILENAME, "/data/log/remote/%fromhost-ip%/%$YEAR%-%$MONTH%-%$DAY%_%fromhost-ip%.log"
*.* ?FILENAME
 
 
#=== 주석 삭제 및 라인 추가2 ===#
$ModLoad imtcp
$InputTCPServerRun 514
 
$template FILENAME, "/data/log/remote/%fromhost-ip%/%$YEAR%-%$MONTH%-%$DAY%_%fromhost-ip%.log"
*.* ?FILENAME
cs

 

설정파일을 저장하였으면 syslog 서비스를 시작하여 줍니다.

1
2
#=== 서비스 시작 ===#
sudo systemctl start rsyslog
cs

 

서비스가 잘 시작되었는지 netstat 명령어로 포트 리스닝을 확인합니다.

1
2
#=== 포트 오픈 확인 ===#
sudo netstat -anp
cs

 

netstat 명령어로 확인해보니 TCP, UDP 모두 정상적으로 514 포트를 리스닝하고 있습니다.

 

syslog client에서 syslog를 전송하게 되면 아래 경로에 다음과 같이 IP 이름으로 폴더가 생성됩니다.

 

폴더에 들어가보면 <%날짜%>_<%IP주소%>.log 형태의 로그가 저장됩니다.

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

 

반응형
반응형

AWS 자격증을 준비하면서 개념 파악을 위해 AWS Fargate와 ECS를 사용해 보고자 AWS Docs를 보면서 따라하던 중

ECR 레포지토리를 생성하고 인증 부분에서 아래와 같은 에러를 만났습니다.

 

  에러메시지 내용

error during connect: this error may indicate that the docker daemon is not running: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/auth": open //./pipe/docker_engine: The system cannot find the file specified.

 

  원인

Windows Docker Desktop이 정상적으로 실행되지 않아서 그렇습니다.

제 경우는 Hyper-V 관련 에러 메시지가 출력되면서 Docker Desktop이 정상적으로 동작하지 않고 있었습니다.

 

혹시 Windows Docker Desktop이 실행될 때 Hyper-V 관련 에러가 나온다면 아래 URL을 참고하면 바로 해결 가능합니다.

Powershell을 통해 명령어 한 줄 넣으니 바로 해결 되었습니다.

https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v

 

Enable Hyper-V on Windows 10

Install Hyper-V on Windows 10

learn.microsoft.com

 

  해결책

Windows Docker Desktop이 아래 사진과 같이 정상적으로 실행되면 에러 원인도 해결됩니다.

[인증 성공!]

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

반응형
반응형

Part 3에서는 Kibana와 Elastic을 연동하고 Dev Tool을 통해 Index를 생성하는 내용에 대해 다루겠습니다.

Ubuntu에 XRDP로 접속하여 kibana (5601/tcp)에 접근하니 아래와 같은 화면이 뜹니다.

 

  Step1. Enrollment Token 생성 및 입력

 

우선적으로 Enroolment Token을 발행해야 합니다. Ubuntu(Linux) 명령어로 아래와 같이 입력합니다.

*실행 경로가 다르신 분은 find 명령어로 elasticsearch-create-enrollment-token 프로그램의 위치를 찾으면 됩니다.

1
sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana --url "https://<내부IP>:9200"
cs

 

그러면 긴 문자열의 Token이 발행되는데 그것을 위 화면에 붙여넣고 Confiture Elastic을 클릭합니다.

 

 

  Step2. Verification required 생성 및 입력

 

아래와 같이 인증코드 6자리를 입력하라는 화면이 나오면 아래 명령어를 입력합니다.

1
sudo /usr/share/kibana/bin/kibana-verification-code
cs

인증번호가 출력되면 인증번호를 입력합니다.

 

 

  Step3. ElasitcSearch 로그인

 

드디어 마지막 단계입니다.

ElasticSearch 계정으로 로그인을 하면됩니다. 혹시 PW가 기억나지 않으시는분들은 password reset이 필요합니다.

그 방법은 https://betterinvesting.tistory.com/315 링크를 참고하시면 됩니다.

 

  Step4. Index 생성

 

로그인까지 완료했으면 DashBoard가 보이실텐데 그곳에서 Management > Dev Tools로 들어가줍니다.

 

가장 첫줄로 GET /_cat/indices?v 를 입력하여 모든 Index를 출력해줍니다.

ElasticSearch에서 Index는 Database에서 DB이름과 같은 개념입니다.

이번에는 customer 이름의 index를 생성해보도록 하겠습니다. 명령어는 아랫줄과 같습니다.

PUT /customer

이후 다시 GET /_cat/indices?v 명령어로 모든 Index를 출력하여 보면 customer index가 생성되었음을 확인 가능합니다.

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

반응형

'IT > ELK' 카테고리의 다른 글

[ELK] 간단한 ELK 설치 환경 구축 방법 (Part 2)  (1229) 2023.05.14
[ELK] 간단한 ELK 설치 환경 구축 방법 (Part 1)  (1235) 2023.05.12
반응형

Part1에서는 설치를 완료하고 프로세스와 포트오픈되는 것까지 확인하였습니다.

구체적인 설치 방법이 궁금하신 분은 아래 글을 먼저 참고하시고 오세요~!

https://betterinvesting.tistory.com/314

 

[ELK] 간단한 ELK 설치 환경 구축 방법 (Part 1)

ELK란 ElasticSearch + Logstash + Kibana 의 첫 글자 조합으로 Elastic stack, ELK stack으로도 불립니다. 각각의 역할로는 ElasticSearch는 분석 및 검색, Logstash는 로그 수집, Kibana는 분석 결과 시각화를 담당합니다.

betterinvesting.tistory.com

 

이번 글인 ELK 설치 환경 구축 방법 Part2에서는 패스워드 설정과 UI 확인하는 법을 공유드리겠습니다.

설치 완료 후 서비스를 실행하여 아래 링크로 접속하여 접속이 잘 되는지 확인해 보았습니다.

https://<IP주소>:9200 그러니 아래와 같은 화면이 뜨면서 인증 정보를 입력하하는 화면을 맞닥드리게 됩니다.

하지만 저는 ELK Stack을 설치하면서 ID/PW를 설정한 적이 없는데.....

 

 

확인을 해보니 Elastic Search 6.x 버전 이후 부터는 ID/PW를 별도의 프로그램으로 따로 설정해 줘야 합니다.

설정하는 방법은 아래와 같이 /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive 명령어를 입력하면 됩니다. elasticsearch-setup-passwords 프로그램의 정확한 위치는 아래 명령어를 통해 찾을 수 있습니다.

sudo find / -name "elasticsearch-setup-passwords"

하지만 저는 이미 설정이 되어 있는지 실패 메시지가 뜨면서 password를 reset 하라는 메시지가 나오더라구요.

 

 

안내와 같이 elasticsearch-reset-password 파일을 실행하면서 -u 옵션과 사용자이름(elastic)을 같이 인자로 전달합니다.

그러면 아래와 같이 성공 메시지가 뜨면서 패스워드가 성공적으로 초기화 됩니다.

 

초기화된 패스워드를 아까와 같이 로그인 창에  넣어주면 성공적으로 로그인 할 수 있습니다.

인증정보 : elastic / <초기화패스워드>

ELK 로그인 화면

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

반응형

'IT > ELK' 카테고리의 다른 글

[ELK] 간단한 ELK 설치 환경 구축 방법 (Part 3)  (1232) 2023.05.15
[ELK] 간단한 ELK 설치 환경 구축 방법 (Part 1)  (1235) 2023.05.12
반응형

ELK란 ElasticSearch + Logstash + Kibana 의 첫 글자 조합으로 Elastic stack, ELK stack으로도 불립니다.

각각의 역할로는 ElasticSearch는 분석 및 검색, Logstash는 로그 수집, Kibana는 분석 결과 시각화를 담당합니다.

 

ELK를 간단하게 설치하는 방법에 대해 공유드리겠습니다.

 

1. VM 환경 구축 (VMware, Virtual Box, Cloud 등)

OS는 Ubuntu를 추천드리며 테스트 환경 스펙은 원활환 환경을 위해서 vCPU 4개, Memory 8 GB, SSD 100 GB 스펙으로 구축하였습니다.

VM환경은 NHN Cloud를 이용하였습니다. (VMware, Virtual Box, AWS, Azure, NCP 모두 상관 없음)

 

인스턴스 생성
VM환경 접속 사진

 

 

 

2. 패키지(.deb) 업데이트 및 설치 파일 다운로드

ELK Stack을 다운받을 수 있는 다운로드 페이지로 이동합니다.

https://www.elastic.co/kr/downloads/

 

Elastic 제품 다운로드

Elasticsearch, Logstash, Kibana 및 Beats를 무료로 다운로드하고 몇 분 내에 Elastic APM, Elastic App Search, Elastic Workplace Search 등을 시작하세요.

www.elastic.co

 

이동 하였으면 원하는 패키지에 대하여 다운로드 버튼을 클릭합니다

Linux 환경에서 패키지를 다운로드 할 것이기 때문에 다운로드 페이지에서 deb 패키지로 전환 후 오른쪽 클릭을 하여 링크 주소를 복사해둡니다. (추후 wget 명령어와 링크 주소를 활용하여 다운로드 하기 위함)

ElasticSearch, Kibana, Logstash에 대한 링크를 확보하였으면 Linux에는 아래와 같이 명령어를 입력할 수 있습니다.

제가 설치한 버전은 8.7.1 버전입니다. 설치 시 주의사항은 ELK 각각의 버전이 모두 통일되어야 합니다.

1
2
3
4
5
6
7
8
# 패키지 업데이트
sudo apt-get update && sudo apt-get upgrade
# Elasticsearch 패키지 다운로드
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.7.1-amd64.deb
# Kibana 패키지 다운로드
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.7.1-amd64.deb
# Logstash 패키지 다운로드
wget https://artifacts.elastic.co/downloads/logstash/logstash-8.7.1-amd64.deb
cs

 

 

 

3. 패키지(.deb) 설치 및 서비스 실행

ELK Stack 패키지의 다운로드가 모두 완료되었으면 아래 명령어를 입력하여 설치를 해줍니다. (순서 상관 없음)

1
2
3
4
5
6
# Elastic Search 설치
sudo dpkg -i elasticsearch-8.7.1-amd64.deb
# Kibana 설치
sudo dpkg -i kibana-8.7.1-amd64.deb
# Logstash 설치
sudo dpkg -i logstash-8.7.1-amd64.deb
cs

 

설치가 정상적으로 완료되면 elasticsearch 서비스를 실행해줍니다.

기본 설정으로 실행 된 경우 9200/tcp 포트가 열리게 됩니다.

 

 

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

반응형

'IT > ELK' 카테고리의 다른 글

[ELK] 간단한 ELK 설치 환경 구축 방법 (Part 3)  (1232) 2023.05.15
[ELK] 간단한 ELK 설치 환경 구축 방법 (Part 2)  (1229) 2023.05.14

+ Recent posts