docker 部署elk单节点

yum install -y yum-utils device-mapper-persistent-data lvm2

yum -y install wget vim

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

yum -y install docker-ce-18.06.1.ce-3.el7

docker --version

mkdir /etc/docker

cat > /etc/docker/daemon.json << EOF

{

"registry-mirrors": ["https://jo6348gu.mirror.aliyuncs.com"]

}

EOF

systemctl enable docker && systemctl start docker

vi /etc/security/limits.conf  #末尾追加

es soft nofile 65536

es hard nofile 65536

es soft nproc 65536

es hard nproc 65536

vi /etc/security/limits.d/20-nproc.conf  #将*改为用户名es

es          soft    nproc    4096

root      soft    nproc    unlimited

vi /etc/sysctl.conf

vm.max_map_count=655360

sysctl -p

mkdir -p /data/es/config

cd /data

wget https://mirrors.huaweicloud.com/elasticsearch/7.8.0/elasticsearch-7.8.0-linux-x86_64.tar.gz

tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz

cp -r elasticsearch-7.8.0/config/* /data/es/config

vi /data/es/config/elasticsearch.yml  #追加配置文件

discovery.type: single-node    #单节点模式

network.host: 0.0.0.0

useradd es

passwd es

cd /data

chown -R es:es es

chmod -R 777 es

docker run -d --name es -p 9200:9200 -p 9300:9300 -v /data/es/config/:/usr/share/elasticsearch/config -v /data/es/data/:/usr/share/elasticsearch/data elasticsearch:7.8.0

2.部署kibana

mkdir /data/kibana

cd /data

vim kibana/kibana.yml

server.host: 0.0.0.0

elasticsearch.hosts: ["http://192.168.0.34:9200"]

i18n.locale: "zh-CN"

docker run -d --name kibana -p 5601:5601 -v /data/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml:ro kibana:7.8.0

3.logstash部署

mkdir -p /data/logstash/config

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.8.0.tar.gz

tar -zxvf logstash-7.8.0.tar.gz

cp -r /data/logstash-7.8.0/config/* /data/logstash/config/

vi /data/logstash/config/logstash.conf

input {

  beats {

    port => 5044

  }

}

filter {

  dissect {

    mapping => { "message" => "[%{Time}] %{LogLevel} %{message}" }

  }

}

output {

  if "secure.log" in [tags] {

    elasticsearch {

      hosts => ["http://192.168.0.34:9200"]

      index => "secure.log"

    }

  }

  else if "logstash.log" in [tags] {

    elasticsearch {

      hosts => ["http://192.168.0.34:9200"]

      index => "logstash.log"

    }

  }

}

vi /data/logstash/config/logstash.yml

http.host: "0.0.0.0"

xpack.monitoring.enabled: true

xpack.monitoring.elasticsearch.hosts: [ "http://192.168.0.34:9200" ]

vim /data/logstash/config/pipelines.yml

- pipeline.id: docker

  path.config: "/usr/share/logstash/config/logstash.conf"  #注意此处为容器内部路径

docker run -d -p 5044:5044 -p 9600:9600 --name logstash -v /data/logstash/config:/usr/share/logstash/config logstash:7.8.0

docker logs -f -t --tail 100 logstash                      #查看容器最后十行日志

4.filebeat日志收集

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.8.0-linux-x86_64.tar.gz

tar -zxvf filebeat-7.8.0-linux-x86_64.tar.gz

vi /data/filebeat-7.8.0-linux-x86_64/filebeat.yml  #filebeat.yml配置文件指定监听日志路径

filebeat.inputs:

- type: log

  enabled: true

  paths:

    - /var/log/*.log

  fields:

    level: debug

  tags: ["secure.log"]


- type: log

  enabled: true

  paths:

    - /data/logstash-7.8.0/logs/*.log

  fields:

    level: debug

  tags: ["logstash.log"]


filebeat.config.modules:

  path: ${path.config}/modules.d/*.yml

  reload.enabled: false

setup.template.settings:

  index.number_of_shards: 1

setup.kibana:

output.logstash:

  hosts: ["192.168.0.34:5044"]

processors:

  - add_host_metadata: ~

  - add_cloud_metadata: ~

  - add_docker_metadata: ~

  - add_kubernetes_metadata: ~

cd /data/filebeat-7.8.0-linux-x86_64

sudo ./filebeat -e -c filebeat.yml -d "publish"        #前台启动filebeat

nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1&  #后台启动

5.搭建redis

mkdir -p /data/redis/data

vim redis/data/redis.conf

bind 0.0.0.0

daemonize no

pidfile "/var/run/redis.pid"

port 6380

timeout 300

loglevel warning

logfile "redis.log"

databases 16

rdbcompression yes

dbfilename "redis.rdb"

dir "/data"

requirepass "123456"

masterauth "123456"

maxclients 10000

maxmemory 1000mb

maxmemory-policy allkeys-lru

appendonly yes

appendfsync always

docker run -d --name redis -p 6380:6380 -v `pwd`/redis/data/:/data redis:5.0 redis-server  redis.conf

6.增加启用redis配置

vi /data/logstash/config/logstash.conf

input {

    redis {

        host => "192.168.0.34"

        port => 6380

        db => 0

        key => "localhost"

        password => "123456"

        data_type => "list"

        threads => 4

#        tags => "localhost"

    }

}

filter {

  dissect {

    mapping => { "message" => "[%{Time}] %{LogLevel} %{message}" }

  }

}

output {

  if "secure.log" in [tags] {

    elasticsearch {

      hosts => ["http://192.168.0.34:9200"]

      index => "secure.log-%{+YYYY.MM.dd}"

    }

  }

}

vi /data/filebeat-7.8.0-linux-x86_64/filebeat.yml

filebeat.inputs:

- type: log

  enabled: true

  paths:

    - /home/*/logs/*.log

  fields:

    level: debug

  tags: ["secure.log"]

filebeat.config.modules:

  path: ${path.config}/modules.d/*.yml

  reload.enabled: false

setup.template.settings:

  index.number_of_shards: 1

setup.kibana:

#output.logstash:

#  hosts: ["192.168.0.34:5044"]

output.redis:

  enabled: true

  hosts: ["192.168.0.34:6380"]

  password: "123456"

  db: 0

  key: localhost            #å­å¨çkeyå¼

  worker: 4

  timeout: 5

  max_retries: 3

  datatype: list

processors:

  - add_host_metadata: ~

  - add_cloud_metadata: ~

  - add_docker_metadata: ~

  - add_kubernetes_metadata: ~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容