kibana는 최초 실행 시 /usr/share/kibana/config 경로에 있는 kibana.yml 파일을 읽어서 초기 설정을 수행한다.
kibana.yml에 들어갈 수 있는 설정 값들은 아래 링크의 공식문서에서 확인할 수 있다.
www.elastic.co/guide/en/kibana/current/settings.html
사용자가 따로 만들지 않아도 kibana가 자동적으로 아래와 같이 kibana.yml 파일을 만든다. (7.2.0 버전 기준)
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
그럼, 이 kibana.yml에 원하는 설정값을 추가하는 법을 알아보자.
나는 base path의 값을 설정할 것이다.
방법은 간단하다.
원하는 설정값을 configmap으로 만든 뒤, 그 configmap을 해당 경로에 마운트 시키면 된다.
우선 configmap을 작성해주자.
$ vi kibana-config.yaml
kind: ConfigMap
apiVersion: v1
data:
kibana.yml: |
server.name: kibana
server.host: "0"
server.basePath: "/api/kibana"
server.rewriteBasePath: true
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
metadata:
name: kibana-config
참고로 server.basePath 사용시, server.rewriteBasePath=true 도 추가해줘야 한다.
그 다음, 해당 configmap을 마운트하도록 kibana도 수정한다.
$ vi kibana.yaml
apiVersion: v1
kind: Service
metadata:
name: kibana
labels:
app: kibana
spec:
type: NodePort
ports:
- port: 5601
targetPort: 5601
selector:
app: kibana
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana
labels:
app: kibana
spec:
replicas: 1
selector:
matchLabels:
app: kibana
template:
metadata:
labels:
app: kibana
spec:
containers:
- name: kibana
image: docker.elastic.co/kibana/kibana:7.2.0
env:
- name: ELASTICSEARCH_URL
value: http://elasticsearch.default.svc.cluster.local:9200
ports:
- containerPort: 5601
volumeMounts:
- mountPath: /usr/share/kibana/config/kibana.yml
name: config
subPath: kibana.yml
volumes:
- name: config
configMap:
name: kibana-config
맨 아랫부분에 있는 volumeMounts와 volumes가 그 부분이다.
그럼 yaml파일을 적용시키고 확인해보자.
$ kubectl apply -f kibana-config.yaml
$ kubectl apply -f kibana.yaml
nodeport타입의 서비스를 붙여서 실행시켰으므로, 해당 노드의 IP:Port로 접속을 시도해보자
원래 들어가던 방식대로 IP:Port만 입력하면, Not Found가 뜬다.
하지만 설정한 base path 경로를 뒤에 붙이면,
성공적으로 들어가진다.
다만 basePath를 변경한 경우 주의할 점이 있다.
curl을 날리는 등, kibana의 주소로 무언가를 하는 작업을 하려면 반드시 주소뒤에 basePath도 같이 적어주어야 한다.
'공부 > EFK' 카테고리의 다른 글
Fluentd Index Template 생성 및 ILM 자동 적용 (0) | 2021.06.25 |
---|---|
Opendistro와 OIDC(Keycloak) 연동 on Kubernetes (0) | 2021.04.16 |
Kibana [index_not_found_exception] no such index [.kibana] 에러 해결 (0) | 2021.03.11 |
curl을 이용한 Kibana index 패턴 생성 (0) | 2021.03.11 |