metricbeat+elasticsearch+kibana로 우분투 머신의 메트릭을 시각화합니다.

기계의 구성은 다음과 같습니다. 모두 1대로 충당하는 것도 가능하므로 참고까지.
  • 메인 PC
  • kibana 화면을 확인하십시오

  • 우분투 서버
  • 집계 대상 머신입니다. metricbeat를 설치합니다.

  • elasticsearch & kibana (베이스 OS는 우분투)
  • 집계 결과를 집계하는 머신입니다.
  • IP: 192.168.11.101


  • apt 용 리포지토리에 elasticsearch 추가



    패키지 관리자를 사용하여 관리하는 것이 업데이트/삭제하기 쉽기 때문에 apt 를 사용하여 설치할 수 있도록 설정합니다.

    elasticsearch 리포지토리의 인증 키 추가


    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
    

    나중에 설치하는 데 필요한 구성 요소 설치


    sudo apt-get install apt-transport-https
    

    탄력적 리포지토리를 apt 소스 목록에 추가


    echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
    

    참고 : htps //w w. 에스 c. 코/구이데/엔/베아 ts/메 티 c베아 t/쿤 t/세츠 p-레포시토리 s. HTML

    elasticsearch 설치


    sudo apt-get update && sudo apt-get install elasticsearch
    

    elasticsearch를 외부에서 액세스할 수 있도록 허용



    모든 것을 1대의 머신으로 끝낼 경우에는 불필요합니다.
    이번에는 집계 대상 머신과 elastic이 움직이는 머신이 다르므로 외부에서 액세스할 수 있도록 설정을 추가했습니다.

    /etc/elasticsearch/elasticsearch.yml
    # ---------------------------------- Network -----------------------------------
    #
    # Set the bind address to a specific IP (IPv4 or IPv6):
    #
    network.host: 0.0.0.0
    #
    # Set a custom port for HTTP:
    #
    http.port: 9200
    #
    # For more information, consult the network module documentation.
    transport.host: localhost
    transport.tcp.port: 9300
    #
    

    설정이 끝나면 elasticsearch를 시작합니다.
    systemctl restart elasticsearch
    

    kibana 설치


    sudo apt-get update && sudo apt-get install kibana
    

    kibana도 마찬가지로 외부에서 액세스 할 수 있도록 설정했습니다.

    /etc/kibana/kibana.yml
    server.host: "0.0.0.0"
    

    설정이 끝나면 kibana를 시작합니다.
    systemctl restart elasticsearch
    

    집계 대상 호스트 시스템에 metricbeat 설치


    sudo apt-get update && sudo apt-get install metricbeat
    

    elasticsearch 호스트 설정


    /etc/metricbeat/metricbeat.yml 에 다음과 같은 설정 항목이 있으므로, 환경에 맞추어 세트.
    로컬 호스트에서 elasticsearch를 실행하는 사람은 필요하지 않습니다.
    이번에는 다른 머신의 elasticsearch에 액세스하기 위해 다른 호스트의 IP/포트를 설정했습니다.

    /etc/metricbeat/metricbeat.yml
    output.elasticsearch:
      # Array of hosts to connect to.
      hosts: ["192.168.11.101:9200"]
    

    집계 대상 세트



    환경에 맞게 집계하려는 모듈을 활성화합니다.
    이번에는 Ubuntu 머신의 정보가 취하고 싶을 뿐이므로 실시하지 않았습니다만, 참고까지.
    metricbeat modules enable apache mysql
    

    사용 가능한 모듈은 아래에서 확인할 수 있습니다.
    기본값은 system이 활성화되어 있으므로 특별한 작업은 없습니다.
    root@ubuntu ~# metricbeat modules list
    Enabled:
    system
    
    Disabled:
    aerospike
    apache
    aws
    beat
    beat-xpack
    ceph
    cockroachdb
    consul
    coredns
    couchbase
    couchdb
    docker
    dropwizard
    elasticsearch
    elasticsearch-xpack
    envoyproxy
    etcd
    golang
    graphite
    haproxy
    http
    jolokia
    kafka
    kibana
    kibana-xpack
    kubernetes
    kvm
    logstash
    logstash-xpack
    memcached
    mongodb
    mssql
    munin
    mysql
    nats
    nginx
    oracle
    php_fpm
    postgresql
    prometheus
    rabbitmq
    redis
    statsd
    traefik
    uwsgi
    vsphere
    windows
    zookeeper
    

    metricbeat 시작
    systemctl restart metricbeat
    

    kibana에서 집계 결과 확인



    메인 PC 브라우저에서 192.168.11.101:5601 에 액세스.
    왼쪽의 Infrastructure를 클릭하여 정보를 확인합니다.





    요약



    kibana, metricbeat, elasticsearch의 접속을 위한 정보를 쓸 수 있는데, 확실히 정보를 취득할 수 있는 것이 편하고 굉장하네요.
    metricbeat마저 넣어 두면 다른 모듈도 곧바로 집계 개시할 수 있을 것 같기 때문에, 또 정보가 있으면 기사로 합니다.

    좋은 웹페이지 즐겨찾기