본문 바로가기

728x90

전체 글

Ansible에서 사용자 정의 팩트를 정의하고 사용하는 방법 Ansible에서 사용자 정의 팩트를 정의하고 사용하는 방법 사용자 정의 팩트를 정의하면 플레이북이나 템플릿에서 해당 변수를 사용하여 조건을 설정하거나 동적으로 값을 할당할 수 있습니다. 그룹 변수, 호스트 변수, /etc/ansible/facts.d 디렉토리 등이 있습니다. node Server Control node control1 Managed nodes centos7 Managed nodes ubuntu22 관리형 노드에서 facts.d 디렉토리 생성 sudo mkdir -p /etc/ansible/facts.d facts 파일 생성 cat [was_server] > was_name=php-fpm > was_version=8.1.27 > EOF [web_server] web_name=nginx w.. 더보기
Ansible Facts Ansible Facts Facts는 Ansible이 목표 호스트에서 수집하는 정보입니다. 플레이북 편집 vim gather_facts_playbook.yml --- - name: Gather Facts hosts: all gather_facts: true # 기본값이지만 명확성을 위해 여기에 지정합니다. tasks: - name: Display gathered facts debug: var: ansible_facts 이 플레이북은 모든 호스트에서 Facts를 수집하고, 수집된 Facts를 출력하는 역할을 합니다. ansible_facts 변수에는 각 호스트에서 수집된 모든 Facts가 포함되어 있습니다. Facts는 기본적으로 Ansible에 의해 수집되므로 별도로 설정하지 않아도 됩니다. gather.. 더보기
ICMP Ping 테스트를 수행하는 Python 스크립트 ICMP Ping 테스트를 수행하는 Python 스크립트 주어진 서브넷의 호스트에 대해 ICMP Ping 테스트를 수행하는 Python 스크립트입니다. 스크립트 편집 vim check_icmp_ping.py import sys import subprocess import ipaddress def ping(host): """ 주어진 호스트에 대한 ping을 수행하고 결과를 반환합니다. """ try: # 플랫폼에 따라 ping 명령어의 형식이 다를 수 있습니다. subprocess.run(["ping", "-c", "1", "-W", "1", host], stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True) return 0 # 성공 except subp.. 더보기
CentOS 7에서 nginx-module-vts 모듈을 추가하는 방법 CentOS 7에서 nginx-module-vts 모듈을 추가하는 방법 1. 필요한 패키지 설치 sudo yum install -y epel-release sudo yum install -y gcc-c++ make rpm-build zlib-devel pcre-devel openssl-devel 2. 작업 디렉토리 생성 mkdir -p /usr/local/src/nginx-build cd /usr/local/src/nginx-build 3. nginx-module-vts 모듈 소스 다운로드 git clone https://github.com/vozlt/nginx-module-vts.git 4. Nginx 소스 다운로드 wget https://nginx.org/download/nginx-1.24.0.tar.. 더보기
nginx 모듈 사용 방법 nginx 모듈 사용 방법 nginx 버전과 함께 설치된 모든 모듈 목록을 출력 nginx -V $ nginx -V nginx version: nginx/1.24.0 built by gcc 11.2.0 (Ubuntu 11.2.0-19ubuntu1) built with OpenSSL 3.0.2 15 Mar 2022 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path.. 더보기
Nginx 가상 호스트 트래픽 상태 모듈을 통한 Nginx 모니터링(nginx-module-vts 모듈 추가) Nginx 가상 호스트 트래픽 상태 모듈을 통한 Nginx 모니터링(nginx-module-vts 모듈 추가) nginx-module-vts는 서버 상태 및 성능 통계를 제공하는 Nginx 모듈입니다. APT 저장소 설정 sudo sed -Ei 's/(archive|security)\.ubuntu\.com/mirror.kakao.com/g' /etc/apt/sources.list sudo apt-get update 필요한 패키지 설치 sudo apt-get install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev sudo apt-get install -y gcc git wget vim 우분투에서 NGINX 1.24 버전을 .. 더보기
Ansible playbook에서 block, rescue, loop, always를 사용하는 방법(ansible-playbook) Ansible playbook에서 block, rescue, loop, always를 사용하는 방법(ansible-playbook) 블록(Block)은 작업의 논리적 그룹을 만듭니다. 블록은 또한 많은 프로그래밍 언어의 예외 처리와 유사하게 작업 오류를 처리하는 방법을 제공합니다. Ansible에서 block, rescue, loop, always를 사용하는 방법은 주로 예외 처리와 루프에서 유용합니다 Ansible 플레이북 작성 block, rescue, loop, always 사용 예시 vim example.yml --- - name: 플레이북 예시 hosts: all gather_facts: false become: true tasks: - name: Outer Block block: - name:.. 더보기
우분투에서 패키지가 자동으로 업데이트되지 않도록 설정하는 방법 우분투에서 패키지가 자동으로 업데이트되지 않도록 설정하는 방법 apt-mark 명령어는 패키지의 속성을 변경하는 데 사용됩니다. 주로 패키지를 hold 상태로 설정하거나 해당 설정을 해제하는 데에 사용됩니다. 1. Hold 설정 지정된 패키지를 현재 설치된 버전으로 고정시키고 업그레이드를 방지합니다 sudo apt-mark hold nginx $ sudo apt-mark hold nginx nginx set on hold. 2. Hold 상태 확인 Hold로 설정된 패키지 목록을 확인합니다. sudo apt-mark showhold $ sudo apt-mark showhold nginx 3. Hold 해제 Hold 설정을 해제하여 패키지가 다시 업그레이드될 수 있도록 합니다. sudo apt-mark u.. 더보기

728x90