安装ELK

我按照别人的教程安装了一遍ELK,表示尊敬,送上大佬博客地址:ELK安装教程

但是安装过程中发现一些错误之处,所以自己动手装了几遍,现在总结下来,以备下次学习。

我安装的版本是elk7.3.0,mysql版本是8.0.20

踩坑:logstash用的MySQL驱动jar包版本必须要和mysql版本对应上。比如说,我的MySQL版本是8.0.20,那么MySQL的驱动jar包也应该是8.0.20。如果你的elk是安装在阿里云上,也可以

1,安装es

下载es镜像

docker pull docker.io/elasticsearch:7.3.0 

启动

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name es -d docker.io/elasticsearch:7.3.0 

2,安装kibana

下载kibana镜像

docker pull docker.io/kibana:7.3.0 

启动 

docker run --rm -p 5601:5601 \
-e ELASTICSEARCH_URL=http://localhost:9200 --name kibana \
-v /home/elk/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml -d kibana:7.3.0

这个启动时挂载了一个配置文件kibana.yml,到目录/home/elk/kibana/config/目录下,新建配置文件kibana.yml,内容如下

#
## ** THIS IS AN AUTO-GENERATED FILE **
##
#
## Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://192.168.44.130:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN      #汉化

3,安装logstash

下载镜像

docker pull docker.io/logstash:7.3.0 

为了运行获取容器里面的配置文件(配置文件在本地的话,方便修改和多次使用),我们先新建一个logstash容器,然后将配置文件从容器中复制到本地。

运行容器

docker run --name logstash -d -p 5044:5044 -p 9600:9600 logstash:7.3.0 

提前在本地创建配置文件目录并赋权限。我是root用户下安装的elk,所以直接赋root用户权限。

mkdir -p /home/elk/logstash && \
chown -R root /home/elk/logstash

拷贝配置文件

docker cp logstash:/usr/share/logstash/config /home/elk/logstash/config

删除容器

docker rm -f logstash

创建正式容器,到/home/elk/logstash/config下修改配置文件logstash-sample.conf

input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-8.0.20.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://mysql的ip地址:3306/数据库"
    jdbc_user => "root"
    jdbc_password => "123456"
    schedule => "* * * * *"
    jdbc_default_timezone => "Asia/Shanghai"
    statement => "select * from table"
    use_column_value  => false
  }
}
output{
    elasticsearch{
        hosts => "es地址:9200" # ES连接
        index => "uum_user_log"      # ES索引名称
        document_id => "%{id}"   # id对应MYSQL中主键字段
    }
}

新建一个路径 /home/elk/jars/,存放相关jar包。从mysql官网下载驱动jar包mysql-connector-java-8.0.20.jar到 /home/elk/jars/  目录下,这样在创建logstash容器时就会将jar包映射到容器的/usr/share/logstash/config/路径下

 

正式创建容器

docker run --name logstash -d \
-p 5044:5044 \
-p 9600:9600 \
-v /home/elk/logstash/config:/usr/share/logstash/config \
-v /home/elk/jars/mysql-connector-java-8.0.20.jar:/usr/share/logstash/logstash-core/lib/jars/mysql-connector-java-8.0.20.jar \
-e xpack.monitoring.elasticsearch.hosts=http://esIp地址:9200 \
logstash:7.3.0 \
-f /usr/share/logstash/config/logstash-sample.conf

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值