2장. 중앙 집중식 로깅 제품군 설치


2.1. 중앙 집중식 로그 릴레이/Transformer 설치

  1. 다음 최소 사양을 충족하는 베어 메탈 시스템을 찾습니다.

    • 8GB 메모리
    • 단일 소켓 Xeon 클래스 CPU
    • 500GB의 디스크 공간
  2. Red Hat Enterprise Linux 7을 설치합니다.
  3. 시스템이 Operational Tools 패키지에 액세스할 수 있도록 허용합니다.

    1. 시스템을 등록하고 구독하십시오.

      # subscription-manager register
      # subscription-manager list --consumed
      Copy to Clipboard Toggle word wrap

      OpenStack 서브스크립션이 자동으로 연결되지 않은 경우 수동으로 서브스크립션을 연결하는 설명서를 참조하십시오.

    2. 처음 활성화된 리포지토리를 비활성화하고 Operational Tools에 적합한 리포지토리만 활성화합니다.

      # subscription-manager repos --disable=*
      # subscription-manager repos --enable=rhel-7-server-rpms --enable=rhel-7-server-optional-rpms --enable=rhel-7-server-openstack-8-optools-rpms
      Copy to Clipboard Toggle word wrap
      참고

      기본 OpenStack 리포지토리(rhel-7-server-openstack-8-rpms)는 이 노드에서 활성화되지 않아야 합니다. 이 리포지토리에는 Operational Tools 패키지와 호환되지 않을 수 있는 특정 운영 툴 종속 항목의 최신 버전이 포함될 수 있습니다.

  4. 다음 명령을 실행하여 Elasticsearch,FluentdKibana 소프트웨어를 설치합니다.

    # yum install elasticsearch fluentd rubygem-fluent-plugin-elasticsearch kibana httpd
    Copy to Clipboard Toggle word wrap
  5. Elasticsearch 에서 CORS(Cross-origin resource sharing)를 활성화합니다. 이렇게 하려면 /etc/elasticsearch/elasticsearch.yml 을 편집하고 파일 끝에 다음 행을 추가합니다.

    http.cors.enabled: true
    http.cors.allow-origin: "/.*/"
    Copy to Clipboard Toggle word wrap
    참고

    이렇게 하면 모든 웹 서버의 모든 웹 페이지에서 Elasticsearch JavaScript 애플리케이션을 호출할 수 있습니다. Kibana 서버의 CORS만 허용하려면 다음을 사용합니다.

    http.cors.allow-origin: "http://LOGGING_SERVER"
    Copy to Clipboard Toggle word wrap

    IP 주소 또는 호스트 이름을 Kibana에 액세스할지 여부에 따라 LOGGING_SERVER Kibana 서버의 IP 주소 또는 호스트 이름으로 교체합니다. 그러나 Elasticsearch 서비스가 신뢰할 수 있는 호스트에서만 액세스할 수 있는 경우 "/.*/" 를 사용하는 것이 안전합니다.

  6. Elasticsearch 인스턴스를 시작하고 부팅 시 활성화합니다.

    # systemctl start elasticsearch
    # systemctl enable elasticsearch
    Copy to Clipboard Toggle word wrap

    Elasticsearch 인스턴스가 작동하는지 확인하려면 다음 명령을 실행합니다.

    # curl http://localhost:9200/
    Copy to Clipboard Toggle word wrap

    다음과 유사한 응답이 제공됩니다.

    {
      "status" : 200,
      "name" : "elasticsearch.example.com",
      "cluster_name" : "elasticsearch",
      "version" : {
        "number" : "1.5.2",
        "build_hash" : "c88f77ffc81301dfa9dfd81ca2232f09588bd512",
        "build_timestamp" : "2015-02-19T13:05:36Z",
        "build_snapshot" : false,
        "lucene_version" : "4.10.3"
      },
      "tagline" : "You Know, for Search"
    }
    Copy to Clipboard Toggle word wrap
  7. 로그 데이터를 수락하고 Elasticsearch 에 작성하도록 Fluentd 를 구성합니다. /etc/fluentd/fluent.conf 를 편집하고 해당 콘텐츠를 다음으로 바꿉니다.

    # In v1 configuration, type and id are @ prefix parameters.
    # @type and @id are recommended. type and id are still available for backward compatibility
    
    <source>
      @type forward
      port 4000
      bind 0.0.0.0
    </source>
    
    <match **>
      @type elasticsearch
      host localhost
      port 9200
      logstash_format true
      flush_interval 5
    </match>
    Copy to Clipboard Toggle word wrap
  8. Fluentd 를 시작하고 부팅 시 활성화합니다.

    # systemctl start fluentd
    # systemctl enable fluentd
    Copy to Clipboard Toggle word wrap
    작은 정보

    Fluentd 의 저널을 확인하고 시작 시 오류가 없는지 확인합니다.

    # journalctl -u fluentd -l -f
    Copy to Clipboard Toggle word wrap
  9. Elasticsearch 인스턴스를 가리키도록 Kibana 를 구성합니다. /etc/httpd/conf.d/kibana3.conf 를 만들고 다음 내용을 내부에 배치합니다.

    <VirtualHost *:80>
    
      DocumentRoot /usr/share/kibana
      <Directory /usr/share/kibana>
        Require all granted
        Options -Multiviews
      </Directory>
    
    </VirtualHost>
    Copy to Clipboard Toggle word wrap
  10. KibanaElasticsearch 에 대한 액세스를 권한 있는 사용자에게만 제한하려면 이러한 서비스가 개방형 네트워크의 시스템에서 실행되고 HTTP 기본 인증을 사용하여 가상 호스트를 보호하고 프록시 뒤에서 Elasticseach 를 이동하기 때문입니다. 이렇게 하려면 다음 단계를 수행합니다.

    1. 다음 콘텐츠를 사용하여 /etc/httpd/conf.d/kibana3.conf 파일을 생성(또는 다시 작성)합니다.

      <VirtualHost *:80>
      
        DocumentRoot /usr/share/kibana
        <Directory /usr/share/kibana>
          Options -Multiviews
          AuthUserFile /etc/httpd/conf/htpasswd-kibana
          AuthName "Restricted Kibana Server"
          AuthType Basic
          Require valid-user
        </Directory>
      
        # Proxy for Elasticsearch
        <LocationMatch "^/(_nodes|_aliases|.*/_aliases|_search|.*/_search|_mapping|.*/_mapping)$">
          ProxyPassMatch http://127.0.0.1:9200/$1
          ProxyPassReverse http://127.0.0.1:9200/$1
        </LocationMatch>
      
        # Proxy for kibana-int/{dashboard,temp}
        <LocationMatch "^/(kibana-int/dashboard/|kibana-int/temp)(.*)$">
          ProxyPassMatch http://127.0.0.1:9200/$1$2
          ProxyPassReverse http://127.0.0.1:9200/$1$2
        </LocationMatch>
      
      </Virtualhost>
      Copy to Clipboard Toggle word wrap
      참고

      AuthUserFile 옵션과 AuthName 옵션에 대해 다른 경로를 사용할 수 있습니다.

    2. Kibana 에 액세스할 수 있는 사용자 이름과 암호 쌍을 생성합니다. 이렇게 하려면 다음 명령을 실행합니다.

      # htpasswd -c /etc/httpd/conf/htpasswd-kibana user_name
      Copy to Clipboard Toggle word wrap
      참고

      AuthUserFile 옵션에 다른 경로를 사용하는 경우 그에 따라 명령을 변경합니다.

      user_name 을 선택한 사용자 이름으로 교체합니다. 메시지가 표시되면 이 사용자 이름과 함께 사용할 암호를 입력합니다. 암호를 다시 입력하라는 메시지가 표시됩니다.

    3. 선택적으로 다음 명령을 실행하여 자체 암호를 사용하여 더 많은 사용자를 생성합니다.

      # htpasswd /etc/httpd/conf/htpasswd-kibana another_user_name
      Copy to Clipboard Toggle word wrap
    4. localhost 인터페이스에서만 수신 대기하도록 Elasticsearch 를 구성합니다. 이렇게 하려면 편집기에서 /etc/elasticsearch/elasticsearch.yml 파일을 열고 다음 옵션을 추가합니다.

      network.host: 127.0.0.1
      Copy to Clipboard Toggle word wrap
    5. 다음 옵션을 /etc/elasticsearch/elasticsearch.yml 에 추가하여 CORS로 HTTP 기본 인증 데이터를 사용할 수 있도록 Elasticsearch 를 구성해야 합니다.

      http.cors.allow-credentials: true
      Copy to Clipboard Toggle word wrap
    6. 이러한 변경 사항을 적용하려면 Elasticsearch 를 다시 시작하십시오.

      # systemctl restart elasticsearch
      Copy to Clipboard Toggle word wrap
    7. 마지막으로 프록시를 사용하여 Elasticsearch 파일을 다운로드하고 브라우저에서 HTTP 기본 인증 데이터를 전송하는지 확인합니다. 이렇게 하려면 /usr/share/kibana/config.js 파일을 편집합니다. 이 파일에서 다음 행을 찾습니다.

      elasticsearch: "http://"+window.location.hostname+":9200",
      Copy to Clipboard Toggle word wrap

      다음과 같이 변경합니다.

      elasticsearch: {server: "http://"+window.location.hostname, withCredentials: true},
      Copy to Clipboard Toggle word wrap
  11. Kibana (Inside Apache)를 활성화하여 Elasticsearch 에 연결한 다음 Apache를 시작하고 부팅 시 활성화합니다.

    # setsebool -P httpd_can_network_connect 1
    # systemctl start httpd
    # systemctl enable httpd
    Copy to Clipboard Toggle word wrap
  12. 시스템에서 방화벽을 열어 Fluentdhttpd 에 대한 연결을 허용합니다.

    # firewall-cmd --zone=public --add-port=4000/tcp --permanent
    # firewall-cmd --zone=public --add-service=http --permanent
    # firewall-cmd --reload
    Copy to Clipboard Toggle word wrap
  13. 또한 HTTP 인증 및 Elasticsearch 프록시를 구성하지 않은 경우 방화벽을 열어 Elasticsearch 에 대한 직접 연결을 허용합니다.

    # firewall-cmd --zone=public --add-port=9200/tcp --permanent
    # firewall-cmd --reload
    Copy to Clipboard Toggle word wrap
    중요

    HTTP 인증을 사용하여 KibanaElasticseach 에 대한 액세스를 제한하지 않으면 Kibana 및 Elasticsearch에서 제공하는 정보는 인증 없이 모든 사람이 사용할 수 있습니다. 데이터를 보호하려면 시스템 또는 열려 있는 TCP 포트(80, 4000, 9200)가 신뢰할 수 있는 호스트에서만 액세스할 수 있는지 확인합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat