Netdata 및 Ansible을 사용한 실시간 모니터링 배포


안녕, 조엘!나는 더 많은 사람들과 실시간 시스템과 응용 프로그램 모니터링을 배치하는 것을 돕고 있다.나는 이 Ansible 안내서가 너희들 중 일부가 비범한 인프라 시설을 구축하는 데 도움을 줄 수 있기를 바란다.
Netdataone-line kickstart는 0으로 구성되어 적응성이 강하며 대량의 다른 운영체제와 Linux 버전과 호환된다.베어 메탈, 가상 머신, 컨테이너 및 둘 사이의 모든 장치에서 사용할 수 있습니다.
그러나 인프라 모니터링 솔루션을 가능한 한 빨리 시작하려면 어떻게 해야 합니까?여러 노드가 있는 전체 인프라에 Netdata를 배치하려면 어떻게 해야 합니까?만약 이 배치를 신뢰할 수 있고 중복될 수 있으며 幂 등을 원한다면 어떻게 해야 합니까?인프라나 클라우드 모니터링 시스템, 예를 들어 코드를 작성하고 배치하려면 어떻게 해야 합니까?
EnterAnsible는 일반적인 시스템 프로비저닝, 구성 관리 및 인프라 코드(IaC) 툴입니다.Ansible은 Playbook을 사용하여 간단한 구문을 사용하여 많은 표준화된 작업을 결합한 다음 표준적이고 안전한 SSH 연결을 통해 이러한 작업을 실행합니다.원격 시스템에 설치할 수 있는 에이전트가 없기 때문에 응용 프로그램과 모니터링 소프트웨어만 걱정할 수 있습니다.
Ansible는 PuppetChef 등과 약간의 경쟁이 있지만 Ansible의 가장 가치 있는 특징은 모든 요소가 幂 등이라는 것이다.출처:

An operation is idempotent if the result of performing it once is exactly the same as the result of performing it repeatedly without any intervening actions.


幂 등급은 노드가 실행 방식에 영향을 주지 않고 Ansible playbook을 임의로 실행할 수 있음을 의미합니다.Ansible을 사용하여 Netdata를 배치할 때, 코드로 배치하는 것도 감시합니다.
이 가이드에서는 Ansible glossary를 사용하여 Netdata Agent를 원하는 수의 분산 노드에 자동으로 배치하고 각 노드의 구성을 관리하며 이를 Netdata Cloud 계정에 선언하는 과정을 설명합니다.몇 분 안에 일부 모니터링되지 않은 노드에서 인프라 모니터링 솔루션으로 전환할 수 있습니다.

Ansible 시나리오 선결 조건

  • Netdata 클라우드 계정. 아직 없으면.
  • 관리 시스템이 설치되어 있음Sign in and create one.
  • 관리 시스템은 Ansible를 통해 하나 이상의 노드에 접근할 수 있다(비밀번호가 없는 것이 가장 좋다).
  • SSH 공개 키 시나리오 다운로드 및 구성


    먼저 다운로드 를 통해 현재 디렉토리로 이동하고 Ansible playbook을 사용하는 데 필요하지 않으므로 클론 저장소의 나머지 부분을 삭제합니다.
    git clone https://github.com/netdata/community.git
    mv community/netdata-agent-deployment/ansible-quickstart .
    rm -rf community
    
    그런 다음 cd Ansible 디렉토리에 들어갑니다.
    cd ansible-quickstart
    

    극본 호스트 파일 편집

    hosts 파일에는 Ansible이 playbook을 실행하려고 시도하는 IP 주소나 호스트 이름 목록이 포함되어 있습니다.저장소와 함께 제공되는 hosts 파일에는 두 개의 예제 IP 주소가 포함되어 있으며 노드의 IP 주소/호스트 이름을 기준으로 교체해야 합니다.
    203.0.113.0  hostname=node-01
    203.0.113.1  hostname=node-02 
    
    로컬 프록시 대시보드와 Netdata Cloud에 동시에 나타나는 변수hostname를 설정할 수도 있고, 시스템의 기본 호스트 이름을 사용하려면 hostname= 문자열을 완전히 무시할 수도 있습니다.

    로그인 사용자 설정(옵션)

    root 이외의 사용자 신분으로 SSH를 노드에 연결하려면 이 사용자 이름에 따라 설정해야 한다hosts.ansible_user 변수를 사용하여 로그인 사용자를 설정합니다.예를 들면 다음과 같습니다.
    203.0.113.0  hostname=ansible-01  ansible_user=example
    

    SSH 키 설정(옵션)

    ~/.ssh/id_rsa 이외의 SSH 키 로그인 노드를 사용하는 경우 hosts 파일에서 ansible_ssh_private_key_file 변수를 노드별로 설정할 수 있습니다.예를 들어, AWS에서 제공하는 두 개의 서로 다른 SSH 키를 사용하여 Lightsail 인스턴스에 로그인합니다.
    203.0.113.0  hostname=ansible-01  ansible_ssh_private_key_file=~/.ssh/LightsailDefaultKey-us-west-2.pem
    203.0.113.1  hostname=ansible-02  ansible_ssh_private_key_file=~/.ssh/LightsailDefaultKey-us-east-1.pem
    

    vars/main을 편집합니다.yml 파일


    Netdata Cloud에서 노드를 공간에 표시하고 에서 모든 지표를 실시간으로 보거나 composite charts 실행하려면 claim_token 변수와 claim_room 변수를 설정해야 합니다.claim_tokenclaim_room를 찾으려면 Netdata Cloud로 이동한 다음 위쪽 내비게이션에서 공간 이름을 클릭하고 관리 공간을 누르십시오.나타나는 패널의 노드 탭을 클릭합니다. 패널에는 tokenroom 문자열이 있는 스크립트가 표시됩니다.
    Metric Correlations
    문자열을 claim_tokenclaim_rooms 변수로 복사합니다.
    claim_token: XXXXX
    claim_rooms: XXXXX
    
    디스크 공간을 더 많이 할당하거나 적게 할당하여 메트릭을 저장하여 메트릭 보존 정책을 변경하려면dbengine_multihost_disk_space기본값은 2048 Mib 또는 2GiB입니다.
    이 노드를 Netdata Cloud로 선언하고 노드의 IP 주소나 호스트 이름 대신 대시보드를 볼 것이기 때문에 플레이북은 web_modenone로 설정하여 로컬 대시보드를 비활성화합니다.로컬 계기판에 불필요한 접근을 허용하지 않기 때문에 안전성을 약간 높일 수 있습니다.
    우리 에서 이 결정에 대한 정보를 더 읽거나, 다른 방식으로 로컬 계기판을 잠글 수 있습니다.

    Curious about why Netdata's dashboard is open by default? Read our blog post on that zero-configuration design decision.


    노드 보안 문서 시나리오 실행


    관리 시스템에서 시나리오를 실행하는 시간부터
    ansible-playbook -i hosts tasks/main.yml
    
    Ansible은 먼저 SSH를 통해 노드에 연결한 다음 시스템에 연결합니다.이 매뉴얼은 이러한 사실을 사용하지 않았지만, 사용자는 인프라 시설의 구성에 따라 이를 확장하여 특정한 유형의 시스템을 제공할 수 있습니다.
    다음에 Ansible은 시나리오에 정의된 taskscollects facts에 따라 각 노드를 변경합니다. 모든 작업이 변경되거나 실패하거나 완전히 건너뛰었든 상관없습니다.
    Netdata를 설치하는 작업은 노드마다 몇 분 정도 걸리므로 기다려 주십시오!플레이북이 성명 작업에 도착하면 노드가 Netdata Cloud에 공간을 채우기 시작합니다.

    되돌아오다 다음은요?


    Netdata를 사용하세요!
    Netdata를 사용하여 상태 모니터링 및 성능 문제 해결에 대한 지침이 더 필요하시면 을 참조하십시오.Netdata에 대해 무엇을 하고 싶은지에 대한 전면적인 안내서처럼 설계되었으니, 이러한 분류를 사용해서 깊이 있게 연구해 주십시오.
    몇 가지 가장 좋은 출발점:
  • documentation
  • Enable or configure a collector
  • Supported collectors list
  • [계기판 및 도표와 상호작용]See an overview of your infrastructure
  • https://learn.netdata.cloud/docs/visualize/interact-dashboards-charts
  • Ansible이나 NetdataChange how long Netdata stores metrics의 코드 소프트웨어(예를 들어 Chef나 Puppet)와 같은 다른 프로비저닝/인프라를 통해 더 많은 배치와 설정 관리 정책을 찾고 있습니다.누구나 재구매 협의와 PR 제출을 통해 이 시나리오를 개선하고 확장하거나 전체 인프라에 Netdata를 배치하기 위한 새로운 체험을 할 수 있다.

    좋은 웹페이지 즐겨찾기