Ansible 8

[Ansible] Ansible을 활용하여 Linux 로그 주기 설정인 logrotate 설정 변경

[Ansible] Ansible을 활용하여 Linux 로그 주기 설정인 logrotate 설정 변경 Logrotate 란Lorotate 는 Linux 서버 내 로그를 관리하는 데몬이다. cron 을 통해 동작하며 logrotate 설정을 활영하여 정해진 시간마다 로그를 백업하거나 삭제한다. logrotate 를 활용하여 로그의 백업 주기(daily, weekly, monthly, yealry) 를 지정할 수 있다.Default 설정인 rotate 4는 최대 로그 파일 개수를 4개로 제한하는 설정이다.weekly 설정일 경우 4주를 보관한다는 의미이다. Logrotate 관련 ansible playbookplaybook의 목적은 /etc/logrotate.conf 파일 내 rotate 설정값을 변경하여 주..

Ansible 2018.11.09

[Ansible] 7. Ansible Playbook을 활용한 Zabbix Agent 자동 설치

[Ansible]7. Ansible Playbook을 활용한 Zabbix Agent 자동 설치Ansible Playbook을 활용하여 Zabbix Agent 3.4.9 버전을 자동 설치[Ansible]7. Ansible Playbook을 활용한 Zabbix Agent 자동 설치1. 자동화 관련 Flow2. 관련 Command 및 실행 결과1) 실행 Command2) 명령어 매개변수3) 실행 결과3. 관련 파일1) zabbix-agent.yml2) hosts3) zabbix-agentd.conf.j21. 자동화 관련 FlowZabbix Agent 3.4.9 RPM을 원격지로 파일 전송Zabbix Agent 설치Zabbix Agent 관련 Config 파일 설정zabbix-agentd.conf.j2 파일의 ..

Ansible 2018.08.31

[Ansible] 6 . Ansible Playbook에서 Command line을 통해 입력 받은 변수 사용 방법

[Ansible] 6 . Ansible Playbook에서 Command line을 통해 입력 받은 변수 사용 방법Ansible의 playbook은 작성 시 일반 프로그래밍 언어와 같은 변수(var)입력 기능을 지원한다.변수는 대상 서버의 Facts 정보 또는 사용자가 입력한 값을 지정하여 활용할 수 있다.여기서는 간단하게 Playbook 내 대상 host를 Adhoc 커맨드와 같이 특정 서버를 지정하여 실행하는 용도로 변수 기능을 활용할 예정이다.[ansible-playbook man page] -e, --extra-vars set additional variables as key=value or YAML/JSON, if filename prepend with @ 외부 변수 입력은 -e 옵션을 통해 지..

Ansible 2018.08.25

[Ansible] 5 . Ansible 의 멱등성 이해 및 Cron 모듈 예제

[Ansible] 5 . Ansible 의 멱등성 이해 및 Cron 모듈 예제Ansible의 멱등성 개요 Ansible의 기존 shell script 자동화 방식 대비 가장 큰 장점은 멱등성(idempotence)를 기본 개념으로 제공하는 것이라 생각한다.멱등성(冪等性, 영어: idempotence) : 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다.https://ko.wikipedia.org/wiki/%EB%A9%B1%EB%93%B1%EB%B2%95%EC%B9%99자동화 솔루션 도입 시 가장 걱정되는 것은 버그나 예외상황에 의한 오동작으로 장애나 설정 오류가 발생하는 것이다.Shell script를 직접 작성 시에는 모든 작업에 대해 if 문을 통한 상태 체크가 필요하거나 장애 케이..

Ansible 2018.08.22

[Ansible] 4 . Ansible Playbook 에서 hosts 인벤토리 파일 지정

[Ansible] 4 . Ansible Playbook 에서 hosts 인벤토리 파일 지정ansible-playbook 지정 시 Default hosts 파일 경로는 /etc/ansible/hosts 이다.1[test@server1 ~]$ cat /etc/ansible/hosts 2# This is the default ansible 'hosts' file.3#4# It should live in /etc/ansible/hosts5#6# - Comments begin with the '#' character7# - Blank lines are ignored8# - Groups of hosts are delimited by [header] elements9# - You can enter hostnames ..

Ansible 2018.08.22

[Ansible] 3 . Ansible Playbook 에서 gather_facts 설정 해제

[Ansible] 3 . Ansible Playbook 에서 gather_facts 설정 해제ansible 의 playbook을 아래와 같이 ping taks를 추가 후 실행하면 의도하지 않은 [Gathering Facts] 가 추가로 실행 됨을 확인할 수 있다. Facts 는 원격 대상 시스템의 호스트 네임, CPU, Memory 정보 등을 수집하는 setup 모듈이다.수집 관련 전체 항목은 ansible -m setup 를 통해 확인 가능하다.ansible 에서는 playbook 실행 시 default 로 setup 모듈을 실행하여 관련 정보를 사전에 수집한다.작업 대상 서버가 대규모라면 Gathering Facts 를 사전에 실행하는 시간이 매우 많이 소요될 것이다.수집된 정보를 playbook 내..

Ansible 2018.08.22

[Ansible] 2 . Ansible Playbook 활용 및 예제

[Ansible] 2 . Ansible Playbook 활용 및 예제https://docs.ansible.com/ansible/2.3/ 내 문서를 Study하며 작성했습니다.Ansible 은 ADHOC이라는 task 실행 모드를 통해 Inventory 내 서버 대상 원격 명령어 실행을 지원한다.하지만, Ansible 의 자동화 기능중 가장 필요한 부분은 YAML 언어를 활용한 Playbook이다.Playbook 구성 Playbook은 YAML 형식으로 작성된다. YALM 문법은 리스트 및 해쉬로 구성되어 있다.관련 내용은 https://ko.wikipedia.org/wiki/YAML 위키페이지를 한 번 정독하고 Playbook 예제를 따라해본다면 금방 적응할 수 있다.참고로, YAML에서는 tab을 지원..

Ansible 2018.08.22

[Ansible] 1. Ansible 개요 및 설치 방법

[Ansible] 1. Ansible 개요 및 설치 방법[Ansible] 1. Ansible 개요 및 설치 방법개요Ansible 설치 및 세팅법1. pip를 사용한 ansible 설치2. inventory 설정3. inventory 내 server 연결 테스트개요Ansible은 인프라 관리 도구로 관리 대상 서버에 Agent 설치 없이 SSH 기반으로 다량의 서버를 운영할 수 있게 해준다.일반적으로 운영으로 불리는 영역은패키지 설치kernel, process 등 현황 현황 확인파일 다운로드script 배포 및 실행등이 있다. Ansible 은 AD-HOC 이라 불리는 일회성 원격 명령어 수행을 지원하며,YAML언어를 활용한 playbook 작업도 지원한다.Ansible 설치 및 세팅법1. pip를 사용한..

Ansible 2018.08.11