Monitoring으로 로그 보기
9658 단어 8.0monitoring키바나7.1
소개
눈치채면, 여러가지 기능이 추가되고 있는 Elastic Stack입니다.
이번은 조금 작은 기능입니다만, 피릴리 온다(가나?).
Monitoring에서 로그 표시
Monitoring 기능은 각 노드와 인덱스의 메트릭을 표시했지만 Infra App의 Logs와 연동하여 로그를 표시하는 기능이 추가되었습니다.
하지만 기본적으로 메시지가 표시되는 것만으로 아무것도 나오지 않습니다.
쓰여진 대로, 제대로 Filebeat를 설정해 표시해 봅시다.
Filebeat 설정
설정은, 이런 느낌으로.
Elasticsearch가 타고 있는 서버에 Filebeat를 넣습니다. 이번에는 Monitoring용 클러스터가 있는 것은 아니므로, 그대로 로컬의 Elasticsearch에 보냅니다.
filebeat.ymlfilebeat.config:
modules:
path: /etc/filebeat/modules.d/*.yml
module: elasticsearch
output.elasticsearch:
hosts: ["localhost:9200"]
이 설정으로 시작하면 다음과 같은 화면이 나옵니다.
(아까와는 버전 다릅니다만, 아무튼, 차 눈으로)
Github의 Issue을 보는 한, 워닝은 색 차이로 내 주는 것 같습니다.
로그 표시
Overview의 경우
여기에 표시되는 것은 최근 10건뿐입니다. 로그 아래에는 Logs UI에 대한 링크도 있으므로 모두보고 싶으면 그쪽으로 이동합니다.
이 버튼을 누르면 Logs UI로 가서 Cluster UUID로 필터링된 로그가 표시됩니다.
Node의 경우
Overview와 마찬가지로 로그가 표시됩니다. 여기에서는 표시된 노드와 관련된 노드가 표시됩니다.
Logs UI를 살펴보면 제대로 필터링됩니다.
Index의 경우
색인으로 필터링된 로그가 표시됩니다.
Logs UI로 날아갑니다.
컨테이너에 내장
Elasticsearch를 Docker 용 컨테이너로 시작하는 것이 있습니다.
그럴 때 로그를 쉽게 볼 수 있도록 Filebeat을 통합해 보겠습니다.
그렇다고해도 Elasticsearch의 컨테이너에 넣어 버리는 것이 아니라 다른 컨테이너에 넣은 Filebeat에서 로그를 읽고 Elasticsearch에 로그를 던집니다.
docker-compose.yml과 filebeat.yml을 다음과 같이 만들어 보겠습니다.
docker-compose.ymlversion: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0-SNAPSHOT
container_name: elasticsearch4
environment:
- cluster.name=docker-cluster
- node.name=node-1
- cluster.initial_master_nodes=node-1
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- path.repo=/usr/share/elasticsearch/snapshots
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9204:9200
networks:
- esnet
kibana:
image: docker.elastic.co/kibana/kibana:7.1.0-SNAPSHOT
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch4:9200
container_name: kibana4
ports:
- 5605:5601
networks:
- esnet
beats4:
image: docker.elastic.co/beats/filebeat:7.1.0-SNAPSHOT
user: root
environment:
- ELASTICSEARCH_CONTAINER_NAME=elasticsearch4
- ELASTICSEARCH_HOSTS=http://elasticsearch4:9200
- KIBANA_HOST=http://kibana4:5601
volumes:
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./filebeat.yml:/usr/share/filebeat/filebeat.yml
networks:
- esnet
volumes:
esdata1:
driver: local
networks:
esnet:
호스트의 docker 관련 디렉토리를 참조할 수 있는 권한이 필요하므로 Filebeat의 기동 유저를 root로 하고 있습니다.
filebeat.ymlfilebeat.autodiscover:
providers:
- type: docker
labels.dedot: true
templates:
- condition:
contains:
docker.container.name: ${ELASTICSEARCH_CONTAINER_NAME:elasticsearch}
config:
- module: elasticsearch
server:
enabled: true
input:
type: docker
containers.ids:
- "${data.docker.container.id}"
setup.kibana:
host: "${KIBANA_HOST:kibana:5601}"
output.elasticsearch:
hosts: '${ELASTICSEARCH_HOSTS:elasticsearch:9200}'
사이고에게
이런 식으로 로그도 표시되면 Monitoring용 클러스터도 운용하고 싶어지고 있네요.
그리고는, 다른 제품군도 로그를 볼 수 있게 되면 기쁠까.
Reference
이 문제에 관하여(Monitoring으로 로그 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tak7iji/items/6c7792d6342c290adc83
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Monitoring 기능은 각 노드와 인덱스의 메트릭을 표시했지만 Infra App의 Logs와 연동하여 로그를 표시하는 기능이 추가되었습니다.
하지만 기본적으로 메시지가 표시되는 것만으로 아무것도 나오지 않습니다.
쓰여진 대로, 제대로 Filebeat를 설정해 표시해 봅시다.
Filebeat 설정
설정은, 이런 느낌으로.
Elasticsearch가 타고 있는 서버에 Filebeat를 넣습니다. 이번에는 Monitoring용 클러스터가 있는 것은 아니므로, 그대로 로컬의 Elasticsearch에 보냅니다.
filebeat.yml
filebeat.config:
modules:
path: /etc/filebeat/modules.d/*.yml
module: elasticsearch
output.elasticsearch:
hosts: ["localhost:9200"]
이 설정으로 시작하면 다음과 같은 화면이 나옵니다.
(아까와는 버전 다릅니다만, 아무튼, 차 눈으로)
Github의 Issue을 보는 한, 워닝은 색 차이로 내 주는 것 같습니다.
로그 표시
Overview의 경우
여기에 표시되는 것은 최근 10건뿐입니다. 로그 아래에는 Logs UI에 대한 링크도 있으므로 모두보고 싶으면 그쪽으로 이동합니다.
이 버튼을 누르면 Logs UI로 가서 Cluster UUID로 필터링된 로그가 표시됩니다.
Node의 경우
Overview와 마찬가지로 로그가 표시됩니다. 여기에서는 표시된 노드와 관련된 노드가 표시됩니다.
Logs UI를 살펴보면 제대로 필터링됩니다.
Index의 경우
색인으로 필터링된 로그가 표시됩니다.
Logs UI로 날아갑니다.
컨테이너에 내장
Elasticsearch를 Docker 용 컨테이너로 시작하는 것이 있습니다.
그럴 때 로그를 쉽게 볼 수 있도록 Filebeat을 통합해 보겠습니다.
그렇다고해도 Elasticsearch의 컨테이너에 넣어 버리는 것이 아니라 다른 컨테이너에 넣은 Filebeat에서 로그를 읽고 Elasticsearch에 로그를 던집니다.
docker-compose.yml과 filebeat.yml을 다음과 같이 만들어 보겠습니다.
docker-compose.yml
version: '2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0-SNAPSHOT
container_name: elasticsearch4
environment:
- cluster.name=docker-cluster
- node.name=node-1
- cluster.initial_master_nodes=node-1
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- path.repo=/usr/share/elasticsearch/snapshots
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9204:9200
networks:
- esnet
kibana:
image: docker.elastic.co/kibana/kibana:7.1.0-SNAPSHOT
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch4:9200
container_name: kibana4
ports:
- 5605:5601
networks:
- esnet
beats4:
image: docker.elastic.co/beats/filebeat:7.1.0-SNAPSHOT
user: root
environment:
- ELASTICSEARCH_CONTAINER_NAME=elasticsearch4
- ELASTICSEARCH_HOSTS=http://elasticsearch4:9200
- KIBANA_HOST=http://kibana4:5601
volumes:
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./filebeat.yml:/usr/share/filebeat/filebeat.yml
networks:
- esnet
volumes:
esdata1:
driver: local
networks:
esnet:
호스트의 docker 관련 디렉토리를 참조할 수 있는 권한이 필요하므로 Filebeat의 기동 유저를 root로 하고 있습니다.
filebeat.yml
filebeat.autodiscover:
providers:
- type: docker
labels.dedot: true
templates:
- condition:
contains:
docker.container.name: ${ELASTICSEARCH_CONTAINER_NAME:elasticsearch}
config:
- module: elasticsearch
server:
enabled: true
input:
type: docker
containers.ids:
- "${data.docker.container.id}"
setup.kibana:
host: "${KIBANA_HOST:kibana:5601}"
output.elasticsearch:
hosts: '${ELASTICSEARCH_HOSTS:elasticsearch:9200}'
사이고에게
이런 식으로 로그도 표시되면 Monitoring용 클러스터도 운용하고 싶어지고 있네요.
그리고는, 다른 제품군도 로그를 볼 수 있게 되면 기쁠까.
Reference
이 문제에 관하여(Monitoring으로 로그 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tak7iji/items/6c7792d6342c290adc83
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Monitoring으로 로그 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tak7iji/items/6c7792d6342c290adc83텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)