ELK &IK分词(多表同步) & linux安装(7.6version)

注意

elasticsearch需要消耗的内存非常大建议:改为2-4g
处理器两个或两个以上

1、下载 elasticsearch https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz

2、解压后进入config 目录配置 : vim elasticsearch.yml

cluster.name: es-application #集群名称
node.name: node-1 #节点名称
#数据和日志的存储目录
path.data: /usr/java/es/elasticsearch-7.6.2/data
path.logs: /usr/java/es/elasticsearch-7.6.2/logs
#设置绑定的ip,设置为0.0.0.0以后就可以让任何计算机节点访问到了
network.host: 192.168.61.130
http.port: 9200 #端口
#设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可
cluster.initial_master_nodes: ["node-1"]

2.2为防止报错
vim /etc/security/limits.conf,追加以下内容;

* soft nofile 65536
* hard nofile 65536

vim /etc/sysctl.conf,追加以下内容:

vm.max_map_count=655360

保存后,执行:

sysctl -p

重新启动

3、新增 elasticsearch 用户,并运行 elasticsearch

/*切换到root*/
su root

/*新建用户*/
useradd elastic

/*设置密码*/
passwd elastic abc635

/*给用户执行权限*/
chown -R elastic /home/vagrant/elasticsearch-7.6.1

/*切换到 elastic用户*/
su elastic

cd  /home/vagrant/elasticsearch-7.6.1

/*运行elasticsearch */

./bin/elasticserarch

运行效果:

在这里插入图片描述

安装IK分词

下载地址

到这个目录 /elasticsearch-7.6.2/plugins/ 下新建elasticsearch文件夹
将IK解压后的全部放进新建的elasticsearch文件夹下
在这里插入图片描述

安装kibana

https://artifacts.elastic.co/downloads/kibana/kibana-7.6.2-linux-x86_64.tar.gz

解压
tar -zxvf kibana-7.6.2-linux-x86_64.tar.gz
编辑(使用root)
vim kibana.yml

server.port: 5601
server.host: "192.168.61.130"
elasticsearch.hosts: ["http://192.168.61.130:9200"]

之后使用root授权该目录

chown -R es:elasticsearch-7.6.2

之后运行
./kibana

在这里插入图片描述

安装logstash

在/logstash-7.6.2/config/下新建 mysql文件夹和子目录config
之后在/logstash-7.6.2/config/mysql/config/ 下新建 mysql.conf
编辑mysql.config

input {

stdin {
    
}
 jdbc {
      type => "tb_sys_work_log"
      # mysql 数据库链接,
      jdbc_connection_string => "jdbc:mysql://192.168.89.21:3306/localerp?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => "root"
      # 驱动
      jdbc_driver_library => "/usr/java/es/logstash-7.6.2/config/mysql/config/mysql-connector-java-5.1.48-bin.jar"
      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      #是否分页
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      #直接执行sql语句
      # statement =>"select * from t_item"
      # 执行的sql 文件路径+名称
      statement_filepath => "/usr/java/es/logstash-7.6.2/config/mysql/sys_work_log.sql"
      # 默认列名转换为小写
      lowercase_column_names => "false"
      #(定时)设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"
      # 索引类型
      #type => "jdbc"
 }
jdbc {
      type => "tb_sys_work_logcccc"
      # mysql 数据库链接,
      jdbc_connection_string => "jdbc:mysql://192.168.89.21:3306/localerp?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => "root"
      # 驱动
      jdbc_driver_library => "/usr/java/es/logstash-7.6.2/config/mysql/config/mysql-connector-java-5.1.48-bin.jar"
      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      #是否分页
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      #直接执行sql语句
      # statement =>"select * from t_item"
      # 执行的sql 文件路径+名称
      statement_filepath => "/usr/java/es/logstash-7.6.2/config/mysql/sys_work_log.sql"
      # 默认列名转换为小写
      lowercase_column_names => "false"
      #(定时)设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"
      # 索引类型
      #type => "jdbc"
 }
}


#在数据库导入到es中的数据的时候 es会自动创建出一些字段就是下面的这几个字段  要是不想要这几个字段就添加过滤器
filter { 
 mutate { 
     remove_field => ["@timestamp","@version","create_time","update_time"]
 }
}

output {
 if[type]=="tb_sys_work_log"{
    elasticsearch {
        # ES的IP地址及端口
        hosts => ["127.0.0.1:9200"]
        # 索引名称 可自定义
        index => "tb_sys_work_log"
        # 需要关联的数据库中有有一个id字段,对应类型中的id
        document_id => "%{id}"
        document_type => "%{user_name}"
      }
    }
 if[type]=="tb_sys_work_logcccc"{
    elasticsearch {
        # ES的IP地址及端口
        hosts => ["127.0.0.1:9200"]
        # 索引名称 可自定义
        index => "tb_sys_work_logcccc"
        # 需要关联的数据库中有有一个id字段,对应类型中的id
        document_id => "%{id}"
        document_type => "%{user_name}"
      }
    }
    stdout {
        # JSON格式输出
        codec => json_lines
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值