DevOps

docker elk安装配置

2021-10-25  本文已影响0人  王宣成
创建网络名为 elk

127.0.0.1换成服务器ip

docker network create elk
安装 elasticsearch
docker run --name elasticsearch \
--network elk \
-v "$PWD"/esdata:/usr/share/elasticsearch/data \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"  \
-p 9200:9200 \
-d elasticsearch

$PWD 表示当前目录

url访问验证, 换成自己服务器ip

http://127.0.0.1:9200

安装 logstash

新建logstash文件夹,并在其下新建config、pipeline两个文件夹
config文件夹下有文件 logstash.yml 、pipelines.yml
pipeline文件夹下有文件logstash.conf

logstash.yml

config:
  reload:
    automatic: true
    interval: 3s
xpack:
  management.enabled: false
  monitoring.enabled: false

pipelines.yml

- pipeline.id: test
  path.config: "/usr/share/logstash/pipeline/logstash-test.conf"

logstash.conf

input {
    file {
        path => ["/usr/share/logstash/logs/*.log"]
        type => "system"
        start_position => "beginning"
    }
}
 
filter {
  mutate {
    gsub => ["message", "\r", ""]
  }
  dissect {
    mapping => {"message" => "%{date} %{+date} [%{task} %{+task}] [%{type}] %{class} - %{info}"}
  }
}
 
output {
    elasticsearch { 
        hosts => ["127.0.0.1:9200"] 
        index => "logstash-%{type}-%{+yyyy.MM.dd}"
        # 由logstash控制ES模板
        template_overwrite => true
        #document_type => "_doc"
        #user => "用户名"
        #password => "密码
    }
    stdout { codec => rubydebug }
}

logstash目录下运行

docker run --rm -it --name logstash \
--network elk \
-v "$PWD"/pipeline:/usr/share/logstash/pipeline   \
-v "$PWD"/config:/usr/share/logstash/config   \
-v "$PWD"/logs:/usr/share/logstash/logs \
-d logstash
安装kibana

新建kibana文件夹,并在其下新建config/kibana.yml文件

server.host: "0.0.0.0"
elasticsearch.url: http://127.0.0.1:9200
xpack:
  apm.ui.enabled: false
  graph.enabled: false
  ml.enabled: false
  monitoring.enabled: false
  reporting.enabled: false
  security.enabled: false
  grokdebugger.enabled: false
  searchprofiler.enabled: false

在kibana文件夹下运行

docker run --name kibana \
--network elk \
-v "$PWD"/config/kibana.yml:/usr/share/kibana/config/kibana.yml  \
-p 5601:5601 \
-d kibana

访问 http://127.0.0.1:5601

新建 Index,可以直接向 Elastic 服务器发出 PUT 请求。下面的例子是新建一个名叫 logstash-system 的 Index

curl -X PUT '127.0.0.1:9200/logstash-system'

$ curl -X PUT 'localhost:9200/weather'

上一篇下一篇

猜你喜欢

热点阅读