要想落地 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 用户
一定要在该用户下安装。
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.后台启动
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.下载
同上。
2.解压
同上。
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.后台运行
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": "我吃西红柿"
}
复制代码
如果出现以下效果,则安装成功。
评论