目录
1.现状
先前安装的elk是6.2.4版本的,只做了最基本的配置,前段时间公司检测出安装的elasticsearch有未经授权访问的漏洞,并限期修复。
查了一些资料,发现在7.2.0版本的elk中默认安装了xpack,免费的,基本可以满足需求。
2.下载安装包
elk官网:https://www.elastic.co/cn/products/
下载的是7.2.0版本,上传至原有的elk服务器,并停止原有的服务。
3.安装配置elasticsearch
解压
tar -xzvf elasticsearch-7.2.0.tar.gz
进入解压后的config文件夹,修改elasticsearch.yml
#ip
network.host: 0.0.0.0
##端口
http.port: 9200
##主要用于集群配置,多台服务器配置名称不可相同
node.name: node-1
#cluster.initial_master_nodes: ["node-1"]
#存放数据的目录,自定义即可
path.data: /home/XX/edata
#存放日志的目录,自定义即可
path.logs: /home/XX/elog
#Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动解决
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
#xpack启用
xpack.security.enabled: true
#单例模式
discovery.type: single-node
保存退出,进入bin文件夹,执行命令
./elasticsearch -d
稍等一会,再执行命令
./elasticsearch-setup-passwords interactive
配置密码
elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user,密码记好,后面要用。
然后访问elasticsearch
http://10.XX.XX.XX:9200/
弹出登录页面,可使用用户elastic登录
登录成功后,出现下面的页面
4.安装配置logstash
解压
tar –zxvf logstash-7.2.0.tar.gz
进入解压后的config文件夹,修改logstash.yml
vim logstash.yml
添加以下信息
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: "elastic"
xpack.monitoring.elasticsearch.password: "elasticpwd"
xpack.monitoring.elasticsearch.hosts: ["http://10.XX.XX.XX:9200"]
保存退出,创建kafka.conf(我们这边是logstash从kafka拿取日志消息,然后放入elasticsearch)
添加以下信息
input {
kafka{
bootstrap_servers => ["10.XX.XX.XX:9092"]
client_id => "logback-kafka"
auto_offset_reset => "latest"
consumer_threads => 5
decorate_events => true
topics => ["test-logs"]
codec => "json"
}
}
filter {
# pattern matching logback pattern
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp}\s+%{LOGLEVEL:severity}\s+\[%{DATA:service},%{DATA:trace},%{DATA:span},%{DATA:exportable}\]\s+%{DATA:pid}\s+---\s+\[%{DATA:thread}\]\s+%{DATA:class}\s+:\s+%{GREEDYDATA:rest}" }
}
}
output {
elasticsearch {
user => elastic
password => elasticpwd
hosts => ["10.XX.XX.XX:9200"]
index => "test-%{+YYYY-MM-dd}"
}
}
保存退出,进入bin文件夹,执行命令
nohup ./logstash -f ../config/kafka.conf &
执行命令,跟踪日志
tail -f nohup.out
没出错即为成功
5.安装配置kibana
解压
tar -zvxf kibana-7.2.0.tar.gz
进入解压后的config文件夹,修改kibana.yml
添加以下信息
server.port: 5601
server.host: "10.XX.XX.XX"
elasticsearch.hosts: ["http://10.XX.XX.XX:9200"]
logging.dest: /home/XX/kibanalog/kibana.log
#中文
i18n.locale: "zh-CN"
#用户名为kibana,密码是刚才在elasticsearch的bin文件夹下执行命令生成的
elasticsearch.username: "kibana"
elasticsearch.password: "kibanapwd"
保存退出,进入bin文件夹,执行命令
./kibana &
访问kibana页面
http://10.XX.XX.XX:5601/
使用elastic登录即可
其他问题:
如果系统为centos7以下,启动kibana时会报错,可参考下面的处理:
ELK | Kibana启动报错 libc.so.6: version GLIBC_2.14 not found_MyBlog-CSDN博客
安装glibc,可使用root用户,或者有sudo权限的用户,我尝试安装时,使用普通用户,在执行命令
make install
报错没有权限。