어떻게 인프라 시설에 감시 도구를 신속하고 가볍게 배치합니까!

안녕하세요, 오늘 저는 여러분께 저의 첫 번째 문장을 소개해 드리게 되어 매우 기쁩니다.
우리는 모니터링 솔루션의 자동화와 배치, 그리고 정상적인 운행에 필요한 모든 도구를 토론할 것이다.
우리가 오늘 배치한 해결 방안은Grafana다.이 소스 오픈 도구는 우리가 생산이나 테스트 환경의 모니터링을 무료로 설정할 수 있도록 한다.
우리의 모든 서비스는 이미 부두에 정박했다.이런 서비스의 컨테이너화 방법은 개인의 선택이다.나는 각종 서비스를 컨테이너화하는 것이 매우 중요하다는 것을 발견했다. 이렇게 하면 우리는 우리가 수정하고자 하는 내용에 대해 맞춤형 행동을 취할 수 있다.

선결 조건


내 Github 디렉터리에서 내 작품을 보거나 복제할 수 있습니다: https://github.com/ArsNQ/deployMonitoring
먼저 "ssh-copy-id"을 사용하여 SSH 키를 서버에 복사해야 합니다.이 점이 없으면 ansible을 실행할 수 없습니다.코드를 정상적으로 운행하기 위해서는 약간의 변경이 필요하다.

호스트 파일


폴더 루트 디렉터리의 파일'hosts'는 감시할 서버 목록을 포함합니다.[cluster] 줄 아래에 모든 서버를 추가해야 합니다. (IP 주소, 개인 또는 공공)[GrafanaHost] 아래에 Grafana를 호스팅하는 서버의 IP 주소를 추가해야 합니다.

전자 우편 주소


roles/deployGrafana/files 폴더에서alert 관리자를 변경해야 합니다.yml 파일은 다음 행에 있습니다.
      - to: "**mailaddress**"
      from: "**mailaddress**"
      smarthost: "smtp.gmail.com:465"
      auth_username: "**mailaddress**"
      auth_identity: "**mailaddress**"
      auth_password: "password
SMTP 서버가 있으면 사용할 수 있지만 Smarthost 회선을 변경해야 합니다.개인 SMTP 서버가 없다면 나처럼 구글을 사용할 수 있다.이것은 매우 간단하다. 인터넷에는 많은 강좌가 있다.그 후에, 모든 메일 주소를 자신의 메일 주소로 바꾸기만 하면, 그것들에 대한 알림을 받을 수 있다.만약 다른 전자 우편 주소에서 이 통지를 받고 싶다면, "받는 사람"줄을 바꾸기만 하면 된다.

모니터링 파일


다음 파일을 수정해야 합니다: roles/deploy Grafana/files/prometheus.yml.사실상 이 파일은 환경을 감시하기 위한 모든 서비스를 포함하고 있습니다.AlertManager를 실행하는 서버, 노드 익스포터가 어디에 있는지 등을 찾을 수 있습니다.
따라서 AlertManager (16 줄) 와prometheus (20 줄) 를 수정해야 합니다. 이것들은Grafana와 같은 서버에서 실행됩니다.따라서, 이 두 필드에 정확한 IP 주소를 입력해야 합니다.
노드 내보내기 (23-XX 줄) 와cadvisor (29-XX 줄) 부분에 대해Grafana의 IP 주소와 감시할 환경을 입력해야 합니다.
다음에 파일 역할/deployGrafana/files/provisioning/dashboards/datasource를 수정해야 합니다.yml & 는 프로메테우스가 실행하는 서버의 IP 주소를 표시합니다.그라파나 프로메테우스의 데이터 원본이 어디에 있는지 알려주는 파일입니다.아래에서 보듯이,prometheus는grafana와 노드 내보내기/cadvisor를 연결할 수 있으며, 모든 서비스 간에 간격/동기화기의 역할을 합니다.

마지막으로/deployGrafana/files/provisioning/config의 비밀번호를 바꿔야 합니다.Grafana에 연결된 비밀번호입니다. (나중에 플랫폼에서 변경할 수 있습니다.)

해석하다


본고의 첫머리에서 지적한 바와 같이, 나는 docker를 사용하여 나의 서비스를 더욱 잘 관리하기로 결정했다.이것이 바로 ansible를 사용할 때 실행하는 모든 명령이 docker-compose up -d docker compose를 시작하기 위한 이유입니다.yml은 이전에 모든 역할의 파일 폴더에 설정되었습니다.그것들은 정확한 용기를 시작하기 위해 서버에 배치되어 있다.
우선, 우리의 스크립트는 서로 다른 환경에 연결되고, 첫 번째 역할인 deployNodeExporter를 실행할 것입니다.그것은 일련의 설치 패키지와 의존 항목 (예: docker, apt transport https 등) 으로 구성되어 있다이렇게 하면 앞으로 스크립트가 정상적으로 실행될 수 있다.

일단 우리의 모든 환경이 최신이고 모든 서버에서 우리의 첫 번째 노드 내보내기 용기를 실행합니다.우리는 두 번째 역할인 deploy Cadvisor를 계속 토론합니다. 이것은 cadvisor를 배치할 것이라고 예상할 수 있습니다.

마지막 deploy Grafana라는 역할은 Prometheus,Grafana, Alert 관리자 용기 배치를 맡는다.그리고 서비스의 프로필입니다.

다음은 배치 서비스의 결과입니다!

Grafana는 프로메테우스를 통해 모든 데이터를 수집하여 웹 인터페이스에 표시할 수 있습니다!
환경을 감시하기 위해 두 개의 표를 가져오고 싶습니다. 하나는 'Docker Monitoring' 이고, 다른 하나는 'Infrastructure Monitoring' 입니다.
만약 당신이 그것을 방문하고 싶다면, 이보다 더 간단한 것은 없다.

표시할 대시보드를 클릭합니다.

개술


다음은 복구 및 조회할 수 있는 데이터에 대한 빠른 개요입니다.


파이프라인에서 배포를 자동화하려면 CI/CD에서 이러한 솔루션을 상상해 보십시오.DRP에서는 간단하면서도 효과적인 모니터링을 자동화하는 것도 유용하다.
읽어주셔서 감사합니다!
나는 네가 이 강좌를 좋아하길 바란다. 만약 네가 나에게 어떤 피드백이 있다면 망설이지 마라.

좋은 웹페이지 즐겨찾기