[카테고리:] ELK

  • CentOS7 에서 Metricbeat 설치 및 활용 가이드

    CentOS7 에서 Metricbeat 설치 및 활용 가이드

    metricbeat 란?

    Metricbeat를 이용하면 시스템과 서비스에서 메트릭 정보를 손쉽게 수집할 수 있다.

    Cpu, Memory, File system, Disk IO, Network IO 등과 시스템에서 실행되는 모든 프로세스에 대한 통계를 수집하여 전송한다.

    또한 기본적으로 내장되어 있는 모듈은 Apache, Jolokia, NGINX, MongoDB, MySQL, PostgreSQL, Prometheus 등의 다양한 서비스로부터 메트릭을 수집하며, 원하는 모듈이 없다면 Go Language로 새로운 모듈을 간단하게 생성할 수도 있다.

    metricbeat 설치

    yum으로 ELK stack을 설치했지만 이번에는 download 받아서 설치함.

    $ curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.2-x86_64.rpm
    
    $ sudo rpm -vi metricbeat-7.10.2-x86_64.rpm
    vi /etc/matricbeat/metricbeat.yml

    Kibana

    elasticsearch Output

    kibana Dashboard 설정

    $ metricbeat setup --dashboards

    Metricbeat 실행

    $ metricbeat setup -e

    서비스활성화

    $ sudo systemctl enable metricbeat
    $ sudo chkconfig --add metricbeat
    $ sudo systemctl start metricbeat

    elasticsearch Index 확인

    $ curl localhost:9200/_cat/indices?v

    Kibana 확인

    우선 metricbeat-* Index Pattern을 만들어야 함.

    Kibana Dashboard

    metricbeat의 kibana dashboard template를 다운받았기 때문에 Dashboard에 들어가면 수많은 템플릿이 기본적으로 제공됨.

  • CentOS7 에서 Java 및 Elasticsearch 설치 가이드

    CentOS7 에서 Java 및 Elasticsearch 설치 가이드

    java설치

    java 버전 확인

    java -version

    java 설치할 수 있는 버전 확인

    yum list java*jdk-devel

    java가 설치 되지 않았다면 — java 설치

    yum install java-1.8.0-openjdk-devel.x86_64

    Java 설치 확인

    javac -version
    java -version

    환경변수 등록

    readlink -f /usr/bin/java

    JAVA_HOME = 복사한 경로(/jre/bin/java 빼고)

    ‘vi /etc/profile’

    JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 
    PATH=$PATH:$JAVA_HOME/bin 
    CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar 
    export JAVA_HOME PATH CLASSPATH

    ‘source /etc/profile 명령어로 활성화.’

    환경변수 등록 테스트

    echo $JAVA_HOME
    echo $PATH
    echo $CLASSPATH

    elasticsearch GPG key 다운

    rpm — import https://artifacts.elastic.co/GPG-KEY-elasticsearch

    repo 파일 추가하기.
    vi /etc/yum.repos.d/elasticsearch.repo

    [elasticsearch]
    name=Elasticsearch repository for 7.x packages
    baseurl=https://artifacts.elastic.co/packages/8.x/yum
    gpgcheck=1
    gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
    enabled=0
    autorefresh=1
    type=rpm-md

    elasticsearch 설치

    yum install --enablerepo=elasticsearch elasticsearch

    elasticsearch 파일 편집.
    ‘vi /etc/elasticsearch/elasticsearch.yml’

    • 수정 할 부분.
      – node.name: 주석제거
      – network.host : 0.0.0.0 : 주석제거 및 변경
      – http.port : 9200 주석제거
      – discovery.seed_hosts : [“127.0.0.1”]
      – cluster.initial_master_nodes : [“node-1”]

    +++ secure 부분 설정 추가

    사진과 같이 주석처리 및 변경처리

    ES 재시작 및 설치 확인

    systemctl restart elasticsearch
    curl http://127.0.0.1:9200

    만약, 위와 같이 안나올경우, JAVA 환경변수 다시 확인

    Kibana 설치

    rpm — import https://artifacts.elastic.co/GPG-KEY-elasticsearch

    kibana.repo 수정

    vi /etc/yum.repos.d/kibana.repo

    [kibana-7.x]
    name=Kibana repository for 7.x packages
    baseurl=https://artifacts.elastic.co/packages/7.x/yum
    gpgcheck=1
    gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
    enabled=1
    autorefresh=1
    type=rpm-md

    install

    yum install kibana

    kibana.yml 수정

    vi /etc/kibana/kibana.yml

    제거해야할 부분

    • server.port : 5601
    • server.host : “0.0.0.0”
    • elasticsearch.hosts: [“http://localhost:9200″]

    Kibana 재시작 및 설치 확인

    systemctl restart kibana

    브라우저에 http://해당 ip : 5601

    만약 브라우저에 뜨지 않는다면,

    • 로컬디스크 C > Window > System32 > drivers > etc > hosts 파일에 등록.
    • 방화벽 확인.
    iptables -nL
    systemctl stop firewalld
    systemctl disable firewalld

    참고

    ip addr # ip 설치 확인.

    logstash 설치

    rpm 설치

    rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

    logstash.repo 수정

    vi /etc/yum.repos.d/logstash.repo
    
    ---
    
    [logstash-7.x]
    name=Elastic repository for 7.x packages
    baseurl=https://artifacts.elastic.co/packages/7.x/yum
    gpgcheck=1
    gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
    enabled=1
    autorefresh=1
    type=rpm-md

    install

    yum install logstash

    pipeline.conf 설정

    cd /etc/logstash/conf.d

    conf파일 생성 => 이름은 아무거나 입력해도 됨. (ex -> demo-pipeline.conf) 생성

    # Sample Logstash configuration for creating a simple
    # Beats -> Logstash -> Elasticsearch pipeline.
    
    input {
    #  beats {
    #    port => 5044
    #    host => "0.0.0.0"
    #  }
      tcp {
        codec => json
        #iformat => json_event
        port => 5044
        host => "localhost(자기자신 IP 넣기)"
        #type => 'stucco-tcp'
      }
    }
    output {
      elasticsearch {
        hosts => ["http://0.0.0.0:9200"]
        #hosts => ["http://localhost:9200"]
        index => "crawler-%{+YYYY.MM.dd}"
    #    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #    #user => "elastic"
    #    #password => "changeme"
      }
      stdout{codec => rubydebug}
    }

    logstash 재실행

    systemctl restart logstash

    filebeat 설치

    rpm 설치

    rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

    install

    yum install filebeat

    filebeat.yml 수정

    vi /etc/filebeat/filebeat.yml

    system 활성화 및 modules 리스트 확인

    filebeat modules enable system
    filebeat modules list

    시스템 재가동

    systemctl restart elasticsearch
    systemctl restart logstash
    systemctl restart kibana
    systemctl restart filebeat