inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

구성 관리 자동화 도구 - 앤서블(Ansible)

Ansible Log 파일의 취합에 대해서 물어보고 싶습니다.

548

이효원

작성한 질문수 1

0

안녕하세요.

회사에 Ansible tower를 사용하고 있지만

ansible을 갓배우기 시작해서 이런 방법이 있는 지 문의하고 싶습니다.

Node 1~ 300번까지 있으며 모든 node를 Node 1에 특정한 곳에 특정파일을 취합을 하는 방법을 찾고 있습니다.

모듈 fetch를 이용하여 Ansible server에 취합하고 node1에 배포 할수 있는 방법이 있을 것 같긴 하지만

다른 방법 즉 1~300 node를 1 node로 취합하는 방법이 있을까요?

ansible

답변 6

0

조훈(Hoon Jo)

아하 pull로 땡겨서 특정 서버에 consolidation 하기로 하셨군요 :) 

넵 요즘 추세가 pull을 좀 더 선호하는거 같더라고요 k8s의 영향도 없다고 할순 없을꺼 같아요 

앤서블의 방식과 반대이긴 하지만 둘다 장 단점이 있으니..

방법론을 찾으셔서 축하드립니다 ^^ 그리고 공유도 감사드려요!

0

이효원

네..좋은 답변 감사합니다. 단발성이 아닌 주기성을 가지고 Ansible의 스케쥴 jobs을 이용하는 방법을 찾아보았고

여러 사람들과 상의해본 결과

synchronize 모듈을 이용하는 것이 제일 적합한 것으로 판단하였습니다.

예를 들면..

vars:
synchronize:
src: "/tmp/{{ fileDate }}.messages"
dest: "/tmp/{{ ansible_hostname }}_{{ fileDate }}.messages"
mode: pull

delegate_to: "XXX.XXX.XXX.XXX" <--files server

대신 rsync 패키지를 설치하거나 방화벽 오픈을 해야 하는 번거러움이 있지만 이 방법이 좋은으로 판단했습니다.

0

조훈(Hoon Jo)

일단 현재 상태에서는 규칙성을 찾아야 할꺼 같아요 

전통적인 개발/스크립트/프로그래밍에서는 규칙을 코드화 하는게 일반적인거라서요 

규칙을 찾는 것을 ML/DL로 도출할 수도 있긴 한데 당연히 이건 아닌거 같고요..

따라서 아래의 사항들을 체크해야 할꺼 같아요 

1. 노드 별로 디렉터리는 같은가? (즉 운영체제의 커널 레벨이 되기도 하겠네요)

2. 노드마다 vpn이 다르다면 앤서블 서버(코어)에서 reachable한가 (아마 되겠죠?)

대략 위의 내용에 대해서 느낌만으로 정리하면 

현재 경로를 가능한 통일하고 (각 노드의 sw link 생성) 

안되는 것들은 아래와 같이 목적별(순수 예시입니당)로 구분하여  수행하거나 

hosts 파일 자체를 쪼개고 그걸 호출하는 bash shell을 짜는게 좋을꺼 같아요 

 dest=/etc/ansible/hosts
 content="
 [dev]
 192.168.1.[101:104]
 192.168.1.[201:204]

 [stage]
 172.16.n.x

 [Prod]
 10.10.n.x"

사실 로그 수집에 가장 쉬운건 syslogd에 저장소를 중앙으로 하거나...

아니면 nfs로 노출해 놓고 그걸 중앙에서 가지고 가게 하는 것도 있는데...

위의 내용만 가지고는 쉽게 얘기할수가 없네요 

일단 ansible concept 자체는 push가 기본이라 pull을 하려면 할수 있는데 그건 다른 방법이...

주기성을 가지는 작업인거 같은데 그게 또 앤서블이 맞는지 모르겠네요 

주기성을 가지지 않는다면 앤서블도 좋은 선택지일꺼 같아요. 

아무래도 이건 구조와 요구사항을 다 이해해야 좋은 답변이 나오게 될꺼 같아요. 

도움이 되시길 바랍니다. 감사합니다. 

 

0

이효원

무리한 질문에 답변 감사합니다.^^

네..각 node들의 로그를 한 서버에 모으기 위해서 질문 한 것입니다.

공유 디렉토리는 node별로 vpn도 다르고 정책상 사용이 어려워서... Ansible로 좋은 방법이 있을까 찾아보고 있는 것입니다.

0

조훈(Hoon Jo)

아 제목을 보니까..Log..? 를 모으려고 하시는걸까요?

0

조훈(Hoon Jo)

안녕하세요 

교육 범주를 넘는거 같긴 한데...예외적으로 답변 드릴께요 :) 

가장 간단한 방법은 Node #1에 NFS Server등의 공유 디렉터리를 구성하고요 

나머지 Node #2-300이 거기를 mount하여 작업하도록 앤서블 플레이북을 짜시면 사용하는데 문제 없으실꺼에요 

취합이라는게 정확히 어떤건지 몰라서..Node #1에 있는걸 나머지 노드가 가져다가 쓴다 (Git repo개념?)

인거 같아서 위와 같이 답변 드려요. 

취합 또는 하시려고 하는 내용을 좀 더 정확하게 알려주시면 답변 드릴께요. 

감사합니다. 

[해결] install nssm에서 넘어가질 않습니다.

1

78

1

윈도우 vagrant 유저랑 5985번 포트 질문

0

101

2

3강 CentOS 신규 다운로드 및 yum 레포 수정

1

77

1

앤서블 서버에 앤서블 코어의 환경 구성하기편 질문

0

89

2

스크립트 파일 공유 문의

0

98

2

ansible provison ansible-server 이후 ping tess오류입니다.

0

179

2

vagrant 로 nxosv 올리는 과정에서 질문이 있습니다.

0

103

2

anp nginx_install.yml -k 시 오류

1

103

1

vagrant up을 하면 vagrantfile에서 정의한 ip로 설정이 되지 않습니다.

0

156

3

ssh 연결 설정과 관련하여 현업에서는 어떻게 하는지 궁금합니다.

0

144

3

강의중 yum install이 안되신다면 봐주세요.

1

324

1

no working in time sync

0

307

2

윈도우서버 2012 vagrant 에러

0

520

3

vagrant 버전 혹시 몇버전으로 하시는지 알수 있을까요?

0

335

1

Packer와 Vagrant 중 현업에서 둘중 얼마나 더 많이 사용하는지 알고 싶습니다.

0

396

1

실습코드가 올려져 있나요.

0

379

1

ansible-server에 pywinrm 설치 시, 에러 발생하여 문의드립니다.

0

603

1

vagrant에서 config.vm.box에 지정한 값으로 실행되지 않습니다.

0

501

1

-e 옵션이란 무엇일까요?

0

310

1

vagrant 초기 구성 질문

1

482

4

최초 패스워드 입력 질문

1

268

1

좋은 강의 감사합니다

1

208

1

group['nodes']에 대해서 궁금한 점이 있습니다.

1

198

1

Auto_known_host.yml 에서 오류 발생합니다.

1

367

2