수집된 로그를 이용하여 map에 ip의 지역을 표시할 수 있습니다.

기존에는 logstash.conf에서 geoip만 사용하면 자동으로 설정이 됐는데...

지금 사용하는 버전에서는 설정이 필요하네요.

기본설정으로는 geoip.location = float 으로 표시됩니다.

지도에 IP를 표시하기 위해서는 geoip.location = geo_point 로 표시되어야 합니다.

 

아래 그림을 보고 참고하시기 바랍니다.

 

'기술 노트 > kibana' 카테고리의 다른 글

kibana에서 fortigate 로그 확인  (0) 2023.04.05
kibana 설정  (0) 2023.02.17
kibana 설치  (0) 2023.02.16

여기까지 잘 따라하셨다면 아래와 같은 화면을 보실 수 있을 것입니다.

왼쪽을 보면 로그 파싱된 필드들이 엄청나게 보입니다.

t로 보이는 것은 text

#으로 보이는 것은 숫자 입니다.

'기술 노트 > kibana' 카테고리의 다른 글

map에서 ip로 지역 표시하기  (0) 2023.08.23
kibana 설정  (0) 2023.02.17
kibana 설치  (0) 2023.02.16

 

# For more configuration options see the configuration guide for Kibana in
# https://www.elastic.co/guide/index.html

# =================== System: Kibana Server ===================
# Kibana is served by a back end server. This setting specifies the port to use.
server.port: 5601

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "0.0.0.0"

# Enables you to specify a path to mount Kibana at if you are running behind a proxy.
# Use the `server.rewriteBasePath` setting to tell Kibana if it should remove the basePath
# from requests it receives, and to prevent a deprecation warning at startup.
# This setting cannot end in a slash.
#server.basePath: ""

# Specifies whether Kibana should rewrite requests that are prefixed with
# `server.basePath` or require that they are rewritten by your reverse proxy.
# Defaults to `false`.
#server.rewriteBasePath: false

# Specifies the public URL at which Kibana is available for end users. If
# `server.basePath` is configured this URL should end with the same basePath.
#server.publicBaseUrl: ""

# The maximum payload size in bytes for incoming server requests.
#server.maxPayload: 1048576

# The Kibana server's name. This is used for display purposes.
server.name: "tmplogsvr"

# =================== System: Kibana Server (Optional) ===================
# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
# These settings enable SSL for outgoing requests from the Kibana server to the browser.
#server.ssl.enabled: false
#server.ssl.certificate: /path/to/your/server.crt
#server.ssl.key: /path/to/your/server.key

# =================== System: Elasticsearch ===================
# The URLs of the Elasticsearch instances to use for all your queries.
elasticsearch.hosts: ["http://localhost:9200"]

# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
#elasticsearch.username: "kibana_system"
#elasticsearch.password: "pass"

# Kibana can also authenticate to Elasticsearch via "service account tokens".
# Service account tokens are Bearer style tokens that replace the traditional username/password based configuration.
# Use this token instead of a username/password.
# elasticsearch.serviceAccountToken: "my_token"

# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
# the elasticsearch.requestTimeout setting.
#elasticsearch.pingTimeout: 1500

# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
# must be a positive integer.
#elasticsearch.requestTimeout: 30000

# The maximum number of sockets that can be used for communications with elasticsearch.
# Defaults to `Infinity`.
#elasticsearch.maxSockets: 1024

# Specifies whether Kibana should use compression for communications with elasticsearch
# Defaults to `false`.
#elasticsearch.compression: false

# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
# headers, set this value to [] (an empty list).
#elasticsearch.requestHeadersWhitelist: [ authorization ]

# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
#elasticsearch.customHeaders: {}

# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
#elasticsearch.shardTimeout: 30000

# =================== System: Elasticsearch (Optional) ===================
# These files are used to verify the identity of Kibana to Elasticsearch and are required when
# xpack.security.http.ssl.client_authentication in Elasticsearch is set to required.
#elasticsearch.ssl.certificate: /path/to/your/client.crt
#elasticsearch.ssl.key: /path/to/your/client.key

# Enables you to specify a path to the PEM file for the certificate
# authority for your Elasticsearch instance.
#elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/CA.pem" ]

# To disregard the validity of SSL certificates, change this setting's value to 'none'.
#elasticsearch.ssl.verificationMode: full

# =================== System: Logging ===================
# Set the value of this setting to off to suppress all logging output, or to debug to log everything. Defaults to 'info'
#logging.root.level: debug

# Enables you to specify a file where Kibana stores log output.
logging:
  appenders:
    file:
      type: file
      fileName: /var/log/kibana/kibana.log
      layout:
        type: json
  root:
    appenders:
      - default
      - file
#  layout:
#    type: json

# Logs queries sent to Elasticsearch.
#logging.loggers:
#  - name: elasticsearch.query
#    level: debug

# Logs http responses.
#logging.loggers:
#  - name: http.server.response
#    level: debug

# Logs system usage information.
#logging.loggers:
#  - name: metrics.ops
#    level: debug

# =================== System: Other ===================
# The path where Kibana stores persistent data not saved in Elasticsearch. Defaults to data
#path.data: data

# Specifies the path where Kibana creates the process ID file.
pid.file: /run/kibana/kibana.pid

# Set the interval in milliseconds to sample system and process performance
# metrics. Minimum is 100ms. Defaults to 5000ms.
#ops.interval: 5000

# Specifies locale to be used for all localizable strings, dates and number formats.
# Supported languages are the following: English (default) "en", Chinese "zh-CN", Japanese "ja-JP", French "fr-FR".
#i18n.locale: "en"

# =================== Frequently used (Optional)===================

# =================== Saved Objects: Migrations ===================
# Saved object migrations run at startup. If you run into migration-related issues, you might need to adjust these settings.

# The number of documents migrated at a time.
# If Kibana can't start up or upgrade due to an Elasticsearch `circuit_breaking_exception`,
# use a smaller batchSize value to reduce the memory pressure. Defaults to 1000 objects per batch.
#migrations.batchSize: 1000

# The maximum payload size for indexing batches of upgraded saved objects.
# To avoid migrations failing due to a 413 Request Entity Too Large response from Elasticsearch.
# This value should be lower than or equal to your Elasticsearch cluster’s `http.max_content_length`
# configuration option. Default: 100mb
#migrations.maxBatchSizeBytes: 100mb

# The number of times to retry temporary migration failures. Increase the setting
# if migrations fail frequently with a message such as `Unable to complete the [...] step after
# 15 attempts, terminating`. Defaults to 15
#migrations.retryAttempts: 15

# =================== Search Autocomplete ===================
# Time in milliseconds to wait for autocomplete suggestions from Elasticsearch.
# This value must be a whole number greater than zero. Defaults to 1000ms
#unifiedSearch.autocomplete.valueSuggestions.timeout: 1000

# Maximum number of documents loaded by each shard to generate autocomplete suggestions.
# This value must be a whole number greater than zero. Defaults to 100_000
#unifiedSearch.autocomplete.valueSuggestions.terminateAfter: 100000

'기술 노트 > kibana' 카테고리의 다른 글

map에서 ip로 지역 표시하기  (0) 2023.08.23
kibana에서 fortigate 로그 확인  (0) 2023.04.05
kibana 설치  (0) 2023.02.16

해당 매뉴얼은 centos에서 설치하여 yum을 선택하였습니다.

https://www.elastic.co/kr/downloads/kibana

 

yum을 이용한 repository 추가

[root@localhost ~]# echo '[kibana-8.x]

name=Kibana repository for 8.x packages

baseurl=https://artifacts.elastic.co/packages/8.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md' > /etc/yum.repos.d/kibana.repo

[root@localhost ~]#

설치 시 elasticsearch의 버전과 동일한 버전을 설치하세요.

 

yum을 이용한 kibana 설치

[root@tmplogsvr ~]# yum install kibana

Kibana repository for 8.x packages                                            30 MB/s |  24 MB     00:00

마지막 메타자료 만료확인 0:00:04 이전인: 2023년 03월 16일 (목) 오전 09시 45분 42초.

종속성이 해결되었습니다.

=============================================================================================================

 꾸러미                  구조                    버전                      레포지터리                   크기

=============================================================================================================

설치 중:

 kibana                  x86_64                  8.6.2-1                   kibana-8.x                  221 M

 

연결 요약

=============================================================================================================

설치  1 꾸러미

 

총계 내려받기 크기: 221 M

설치된 크기 : 579 M

진행 할 까요? [y/N]: y

꾸러미 내려받기 중:

kibana-8.6.2-x86_64.rpm                                                       14 MB/s | 221 MB     00:15

-------------------------------------------------------------------------------------------------------------

합계                                                                          14 MB/s | 221 MB     00:15

연결 확인 실행 중

연결 확인에 성공했습니다.

연결 시험 실행 중

연결 시험에 성공했습니다.

연결 실행 중

  준비 중           :                                                                                    1/1

  스크립트릿 실행 중: kibana-8.6.2-1.x86_64                                                              1/1

  설치 중           : kibana-8.6.2-1.x86_64                                                              1/1

  스크립트릿 실행 중: kibana-8.6.2-1.x86_64                                                              1/1

Creating kibana group... OK

Creating kibana user... OK

 

Created Kibana keystore in /etc/kibana/kibana.keystore

 

[/usr/lib/tmpfiles.d/elasticsearch.conf:1] Line references path below legacy directory /var/run/, updating /var/run/elasticsearch → /run/elasticsearch; please update the tmpfiles.d/ drop-in file accordingly.

 

  확인 중           : kibana-8.6.2-1.x86_64                                                              1/1

 

설치되었습니다:

  kibana-8.6.2-1.x86_64

 

완료되었습니다!

[root@tmplogsvr ~]#

 

kibana 시스템 등록

[root@localhost ~]# systemctl daemon-reload

[root@localhost ~]# systemctl enable kibana.service

Created symlink /etc/systemd/system/multi-user.target.wants/kibana.service → /usr/lib/systemd/system/kibana.service.

[root@localhost ~]#

 

kibana 시스템 시작 / 중지

/bin/systemctl start kibana.service

/bin/systemctl stop kibana.service

'기술 노트 > kibana' 카테고리의 다른 글

map에서 ip로 지역 표시하기  (0) 2023.08.23
kibana에서 fortigate 로그 확인  (0) 2023.04.05
kibana 설정  (0) 2023.02.17

+ Recent posts