使用linux搭建单机elk环境

网友投稿 764 2022-05-29

要想落地elk,首先就是安装。本文将提供单机版的elk环境落地供大家参考。集群版请自行查找。

一.版本

本文使用的logstash-7.3.2.tar.gz,搭配使用7.6.0的es,kibana,亲测好用。也可以在点我这里下载。

二.安装elasticsearch

1.下载安装包

由于官网下载太慢了,可以在以下地址下载。点这下载

2.解压

下载完成后,复制进linux并解压。

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

3.新建用户

useradd elasticsearch passwd elasticsearch chown -R elasticsearch /usr/local/es/elasticsearch-7.6.0 赋权

4.修改配置文件

修改elasticsearch.yml文件。

cluster.name: elasticsearch node.name: node-1 path.data: /usr/local/elasticsearch/elasticsearch-7.6.0/data path.logs: /usr/local/elasticsearch/elasticsearch-7.6.0/logs network.host: 0.0.0.0 http.port: 9200 cluster.initial_master_nodes: ["node-1"]

如果需要连接spring boot,需要添加以下配置。

http.cors.enabled: true http.cors.allow-origin: "*" xpack.security.enabled: true xpack.security.transport.ssl.enabled: true

同时在安装时会要求设置密码,如果没有以上配置则不需要。

5.进入elasticsearch用户

su elasticsearch

一定要在该用户下安装。

6.启动

cd /usr/local/es/elasticsearch-7.6.0/bin ./elasticsearch

7.开放端口号

如果发现输入ip:9200还是访问不了,请记住开放端口。

/sbin/iptables -I INPUT -p tcp --dport 9200 -j ACCEPT

8.验证

访问ip:9200,如果出现以下样式,则安装成功。

9.后台启动

./elasticsearch -d

10.异常总结

在博主安装时,出现了无数异常,博主总结成以下文档。所以如果有条件建议使用docker。

1)max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] 原因:无法创建本地文件问题,用户最大可创建文件数太小 解决方案:切换到root用户,编辑limits.conf配置文件, 添加类似如下内容: vi /etc/security/limits.conf 添加如下内容: 注意*不要去掉了 * soft nofile 65536 * hard nofile 131072 * soft nproc 4096 * hard nproc 4096 备注:* 代表Linux所有用户名称(比如 hadoop) 需要保存、退出、重新登录才可生效。 2)max number of threads [1024] for user [es] likely too low, increase to at least [4096] 原因:无法创建本地线程问题,用户最大可创建线程数太小 解决方案:同上 3)max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144] 原因:最大虚拟内存太小 每次启动机器都手动执行下。 root用户执行命令: [root@localhost ~]# sysctl -w vm.max_map_count=262144 查看修改结果命令:sysctl -a|grep vm.max_map_count 看是否已经修改 永久性修改策略: echo "vm.max_map_count=262144" >> /etc/sysctl.conf 4)system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk 原因:Centos6不支持SecComp,而ES5.4.1默认bootstravelap.system_call_filter为travelue进行检测,所以导致检测失败,失败后直接导致ES不能启动。 详见 :https://github.com/elastic/elasticsearch/issues/22899 解决方法:在elasticsearch.yml中新增配置 bootstrap.system_call_filter,设为false,注意要在Memory下面: bootstrap.memory_lock: false bootstrap.system_call_filter: false 5) os::commit_memory(0x00000000c5330000, 986513408, 0) failed; vi ../config/jvm.options 修改 -Xms256m -Xmx256m 6)future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/jdk/jdk1.8.0_231/jre] does not meet this requirement 不用管 会向下兼容 7)es:ccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SEC /usr/local/es/elasticsearch-7.6.0/config/elasticsearch.yml追加 bootstrap.memory_lock: false bootstrap.system_call_filter: false

三.安装kibana

1.下载

同上。

使用linux搭建单机elk环境

2.解压

同上。

tar -zxvf kibana.tar.gz

3.修改配置

修改 /usr/local/kibana/kibana-7.6.0-linux-x86_64/config/kibana.yml。

i18n.locale: "zh-CN" #汉化 server.port: 5601 server.host: 0.0.0.0

如果上文es开启了xpack,需要加入以下配置。

elasticsearch.username: "elastic" elasticsearch.password: "xxxx" xpack.reporting.encryptionKey: "a_random_string" xpack.security.encryptionKey: "something_at_least_32_characters"

4.赋权

因为需要使用非root用户启动,所以需要赋权。

chown -R elasticsearch /usr/local/kibana

5.开通端口

/sbin/iptables -I INPUT -p tcp --dport 5601 -j ACCEPT

6.后台运行

nohup ./kibana &

7.验证

访问ip:5601,如果出现下文样式,则安装成功。

四.安装logstash

1.下载

logstash可以在博主网盘中获取到。地址如下。

链接:https://pan.baidu.com/s/1izhfHnMlaHuSHm6q8rReAQ

提取码:t8ws

2.解压

tar -zxvf logstash-7.3.2.tar.gz

3.更改配置文件

在/logstash/bin目录下新建log_to_es.conf,(文件名随意,启动命令需要)并添加以下配置(配置仅用于测试) 。

input { file { path => "/var/log/messages" 监控的该路径的文件 并且输入到es中 type => "systemlog" start_position => "beginning" } } output{ elasticsearch{ hosts=>["192.168.xx.xx:9200"] es地址 默认端口号为9200 index => "log-%{+YYYY.MM.dd}" 新增的索引格式 } stdout{codec => rubydebug} }

4.启动

nohup ./logstash -f log_to_es.conf & 后台启动 ./logstash -f log_to_es.conf & 如果需要看到日志 使用这种方式

5.验证

出现如图 message为上文/var/log/messages路径中的文件内容,则安装成功。

注意:如果已经输出过。需要新增文档内容才能继续输出

五.ik分词器安装

1.下载

由于下载太慢了,直接上网盘地址。

链接:https://pan.baidu.com/s/1n2m_LeIz1T7DrJdSsvvMFA

提取码:16mz

2.解压

解压到elasticsearch/elasticsearch-7.6.0/plugins路径下。

3.重启elasticsearch

4.验证

使用kibana执行以下语句。

GET _analyze?pretty { "analyzer": "ik_max_word", "text": "我吃西红柿" }

如果出现以下效果,则安装成功。

Elasticsearch Linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:gets 、getchar 、fgets 、scanf的用法
下一篇:HBase使用最佳实践-HBase Bulkload原理介绍
相关文章