2017-01-26 5 views
0

다른 응용 프로그램의 모든 로그를 관리하기 위해 ELK를 설치하는 개념을 증명하고 있습니다. 나는 Elasticsearch (9200 9201), Kibana (5601 5602) 및 Logstash (5044 5045)의 두 인스턴스와 역방향 프록시 역할을하는 하나의 nginx 및 서로 다른 응용 프로그램을 실행하고 Filebeat를 통해 Logstash로 로그를 보내는 두 개의 다른 시스템이 있습니다.Filebeat가 모든 로그 저장소로 로그를 보냅니다.

일부 사용자는 컴퓨터 A의 로그에 액세스 할 수 있으며 일부 사용자는 컴퓨터 B의 로그에 액세스 할 수 있지만 두 컴퓨터에서 Filebeat를 시작하면 각 사용자는 자신의 로그를 logstash의 다른 포트에 이처럼 구성했지만 kibana (두 포트)에 액세스 할 때 얻을 수있는 것은 두 시스템의 모든 로그입니다.

설치의 다른 인스턴스에서 로그를 분할 할 수 있습니까?

미리 감사드립니다.

+0

Elasticsearch 클러스터를 실행하려고합니까? 아니면 컴퓨터 A의 데이터가 하나의 노드로 가고 컴퓨터 B의 데이터가 다른 노드로 이동하는 두 개의 독립적 인 Elasticsearch 노드를 실행하려고합니까? –

+0

질문에 설명 된대로 두 개의 독립적 인 노드입니다. 그것의 목적은 다른 환경에 대한 액세스를 사용자들로 나누는 것입니다. –

답변

-1

두 클러스터 이름을 변경하고 서로 다른 이름을 지정하는 것이 옳습니다. 두 노드를 모두 독립적으로 유지하려면 기본적으로 elasticsearch : 9200을 가리키기 때문에 파일 비트 템플릿을 편집해야합니다.

0

동일한 호스트에서 두 개의 Elasticsearch 인스턴스를 실행하면 이러한 동작을 방지하기 위해 구성을 변경하지 않는 한 자동으로 클러스터가 형성됩니다.

다음 명령을 실행하여 클러스터의 노드를 나열 할 수 있습니다. 둘 이상의 노드가 나열되면 두 노드가 클러스터를 형성합니다.

curl -XGET 'localhost:9200/_cat/nodes?v&pretty'

은 각 노드의 구성에 독특한 cluster.name 값을 설정해야합니다. 기본값은 elasticsearch입니다. 두 노드가 서로를 발견하고 그 노드의 cluster.name이 동일하면 클러스터를 형성합니다.

+0

나는 변화를 만들었지 만 나는 여전히 기계 A의 로그와 동일한 키바나 인스턴스의 기계 B의 로그를 받고있다. –

+0

설정을 변경하기 전에'GET _cat/nodes' 응답의 출력에 두 개의 노드가 나열되어 있습니까? 그리고 변화를 한 후에 어때? –

+0

변경된 내용은 elasticsearch.yml –