본문 바로가기

Automation Tools

(40)
[ansible] proxmox vm 설정 하기 모듈 설치 ansible을 이용하여 proxmox의 VM을 설정하기 위하여 proxmox host에 필요한 python 모듈이 있다. proxmoxer requests 모듈 설치를 위하여 아래 기본 패키지를 설치한다. apt install python3-pip python3-dev build-essential 모듈을 설치한다. pip3 install proxmoxer pip3 install requests 모듈이 잘 설치 되었는지 확인한다. $ pip3 list Package Version ----------------- -------------- ... proxmoxer 2.0.1 ... requests 2.25.1 ... proxmox host api 테스트 ansible host에서 proxmox ..
[Ansible] [WARNING]: win_find failed to check some files, these files were ignored and will not be part of the result output(2) 파일의 Data Size 관련 원인 외에 열려져 있는 파일 때문에 발생하는 원인이 있다. (win_find Data Size 관련 오류 참조 : https://ploz.tistory.com/entry/Ansible-WARNING-winfind-failed-to-check-some-files-these-files-were-ignored-and-will-not-be-part-of-the-result-output) win_find 는 기본적으로 알파벳 순으로 파일을 나열하고 결과를 도출하는데 도중에 열려져 있는 파일이 있을 경우 아래와 같은 경고가 발생한다. 경고가 발생하기 전 까지의 결과물은 알파벳 순으로 인해 도출되며 경고가 발생하기전 마지막 결과 파일의 다음 파일이 열려져 있는 파일일 확률이 높다. 열려..
[Ansible] [WARNING]: win_find failed to check some files, these files were ignored and will not be part of the result output(1) 환경 AWX Docker Version awx 17.0.1 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 513c89b46290 ansible/awx:17.0.1 "/usr/bin/tini -- /u…" 3 months ago Up 2 months 8052/tcp awx_task 2c1410976fb7 ansible/awx:17.0.1 "/usr/bin/tini -- /b…" 3 months ago Up 2 months 0.0.0.0:80->8052/tcp awx_web 7c0247ceab04 postgres:12 "docker-entrypoint.s…" 3 months ago Up 2 months 5432/tcp awx_postgr..
[ansible AWX] 지나간 Jobs 삭제하기 AWX Version : 17:0.1 Docker $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 513c89b46290 ansible/awx:17.0.1 "/usr/bin/tini -- /u…" 3 months ago Up 2 months 8052/tcp awx_task 2c1410976fb7 ansible/awx:17.0.1 "/usr/bin/tini -- /b…" 3 months ago Up 2 months 0.0.0.0:80->8052/tcp awx_web 7c0247ceab04 postgres:12 "docker-entrypoint.s…" 3 months ago Up 2 months 5432/tcp awx_postgres 0b..
ansible | [playbook] AWX에 windows data backup 스케줄 등록하기(win_copy+win_find+win_file) 개요 윈도우 호스트에 특정 경로의 DATA를 일주일에 1번 원격지 NAS로 백업을 해야 한다. 백업 스케줄 실행 시 다음과 같은 조건을 갖는다. 특정 경로의 디렉토리는 백업대상에서 제외 원격지 NAS에 백업 날짜로 디렉토리를 생성하고 그 디렉토리에 백업 원격지 NAS에 접근 시 권한 필요 백업 실행 시 JOB, TASK 결과에 대한 Slack WebHook 알림을 받음. JOB 알림 설정 참조: ansible | [AWX] JOB Template 의 Schedule과 Notification TASK 알림 설정 참조 : ansible | AWX Playbook Task 실패 시 알림 설정 설정 환경 윈도우 호스트 : 172.16.10.32 backup src : E:\test 아래 모든 디렉토리 및 파일 ..
ansible | [AWX] Local Script 실행 및 결과값 slack webhook 전송하기 개요 ssh를 이용한 VMware ESXi VM 생성 및 삭제 Script를 AWX를 이용하여 실행하고 결과 값을 Slack Webhook을 통해 전송 할 수 있다. AWX : docker image ansible/awx:17.1.0 inventory에 vm 생성 관련 변수 값을 정의해놓고 참조하여 local script로 실행. VMware ESXi vm 생성 및 삭제 스크립트 참조 : [VMware ESXi] ssh를 통한 VM 생성, 삭제 하기(1) [VMware ESXi] ssh를 통한 VM 생성, 삭제 하기(2) Slack Webhook : VMware ESXi VM 스크립트를 수정하여 전송 AWX 로그를 이용한 slack webhook 전송 참조 : ansible | AWX Playbook T..
ansible | inventory 내 다른 host 변수 참조 Inventory "remote_server", "test_win" 2개의 호스트가 "plo" 란 그룹으로 묶이고 각각의 호스트 변수와 그룹변수를 가지고 있다. > cat host.ini [plo] remote_server spec_disk=140 spec_cpu=8 spec_memory=8 backup_drive=c:,e: test_win spec_disk=100 spec_cpu=8 spec_memory=8 backup_drive=c: [plo:vars] ansible_connection=winrm ansible_winrm_server_cert_validation=ignore Playbook "remote_server"을 대상으로 playbook을 실행 할 때 "test_win" 호스트 변수를 참조하게..
ansible | AWX Playbook Task 실패(or 성공) 시 알림 설정 개요 AWX의 JOB Template Notification 기능은 Playbook 내 Task의 실패 여부와 상관없이 JOB 자체의 시작, 성공, 실패에 맞춰 알람을 보낸다. 즉, Playbook 내 Task 가 성공이든 실패이든 JOB 이 끝난다면 Success의 Status 정보를 가지고 알람을 보낸다는 말이다.(AWX JOB Template Notification은 여기를 참조) 따라서 Playbook Task가 성공하였는지 실패 하였는지에 대한 알람은 Elasticsearch에서 수집하는 AWX의 Log 를 통하여 알람을 보내는 방법을 생각해 보았다.(로그 수집 방법은 여기를 참조) AWX에서 직접 Playbook TASK 결과에 대한 알람을 보내는 것이 좋지만 아직 방법을 찾지 못해 Log를 ..
ansible | [AWX] JOB Template 의 Schedule과 Notification 개요 AWX를 사용하는 이유중에 하나가 각각의 시스템에서 실행하는 스케줄된 JOB을 중앙에서 관리하고자 하는 이유가 있다. 정기적으로 실행되야하는 CRON JOB 등을 playbook을 제작하고 AWX에서 스케줄관리를 통해 실행 한다. 또한 Notification 기능을 통해 JOB이 실행되고 완료되며 에러가 발생하는 것 까지 알림으로 받아 볼 수 있다. 설정 Schedules 설정 windows ping playbook(Templates test1)을 매일 오후 18시에 실행하는 스케줄을 설정한다. Template - Schedules - ADD Start date/time : 최초 시작 시간 Local time zone : Asis/Seoul Run frequency : 정기적 스케줄 기준(CRON ..
ansible | [AWX] logstash(elasticsearch) 를 이용한 로그 수집 AWX 로그설정 AWX 버전 : 17.1.0 Settings - Logging settings - Edit Logging Aggregator : Logstash Host IP Logging Aggregator Port : Logstash Listen Port (기 사용중이단 5044포트와 다른 5045로 별도 지정하였음) Logging Aggregator Type : logstash Logging Aggregator Username : Logstash user(여기서는 사용하지 않음.) Logging Aggregator Password/Token : Logstash password (여기서는 사용하지 않음) Logging Aggregator Protocol : TCP Logging Aggregator L..