ELK搭建简单说明
简单说明
- 周天陪孩子学习,自己简单研究了下如何处理
- 不是很系统,仅是能够展示部分文件的日志.
- 需要有很多坑需要进行填充.
搭建模式
183 机器上面安装上 kibana 以及 ES
180 的机器上面安装logstash
181 的机器也是安装logstash
两台机器用于发送数据到ES然后交由kinaba显示
暂时没有使用filebeat. 感觉不如loki好用
遇到的问题以及解决
1. 遇到问题
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
2. 解决问题的方式
ln -s /etc/logstash /usr/share/logstash/config
获取安装介质
elasticsearch-7.14.0-x86_64.rpm
filebeat-7.9.1-x86_64.rpm
kibana-7.14.0-x86_64.rpm
logstash-7.14.0-x86_64.rpm
安装ES
- 目标机器183
- 注意需要创建目录
/data/eslog
以及 /data/esdata
- 注意需要赋予权限
chown elasticsearch:elasticsearch /data -R
修改配置文件
vim /etc/elasticsearch/elasticsearch.yml
需要修改的事项:
#集群名
cluster.name: es_server
#node名
node.name: appnode01
#数据目录
path.data: /data/esdata
#日志目录
path.logs: /data/eslog
network.host: 0.0.0.0
http.port: 9200
#集群master需要和node名设置一致
cluster.initial_master_nodes: ["appnode01"]
- 设置完成之后启动ES
systemctl enable elasticsearch && systemctl restart elasticsearch
安装ElasticSearch的head插件
- 这个插件应该不是必须,不过便于进行查看ES的信息
- 注意修改配置文件ElasticSearch才可以访问head.
修改配置文件:
vim /etc/elasticsearch/elasticsearch.yml
在最后面添加内容为:
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
安装ES插件
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz
注意存放路径:
可以也放在/data 路径下
对两个文件进行解压缩即可.
注意需要将node的bin文件夹路径放置到 环境变量了里面去
需要在 elasticsearch-head-master 路径下执行安装
npm install -g grunt-cli
npm install -g grunt
注意不能随意更换下载好的路径,不然那安装好的modular可能会失效.
安装ES插件
- 修改配置文件
- 注意需要修改head插件的配置,不然无法进行连接
vim /data/elasticsearch-head-master/Gruntfile.js
在keepalive:true的后面添加一个 逗号
然后添加 hostname: *
注意需要保持yaml文件的配置, 注意空格等信息.
vim /data/elasticsearch-head-master/_site/app.js
可以查找 9200 的字样,然后将地址修改为自己的ES的地址
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.110.82.183:9200";
以上为示例.
安装ES插件
wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
注意需要将这个文件放置到
/tmp/phantomjs 目录下
可以使用其他机器下载,避免文件下载不到安装失败.
安装ES插件
cd /data/elasticsearch-head-master
npm install
# 注意可能需要执行较长的时间
之后在当前目录下运行
grunt server &
- 在
10.110.82.183:9200
可以看到head插件
安装ES插件
- 可以进行查看
- 注意里面可以有不同的内容
安装Kibana
vim /etc/kibana/kibana.yml
注意需要修改的内容主要如下:
server.port: 5601
server.host: "0.0.0.0"
server.name: "kibana01"
elasticsearch.hosts: ["http://10.110.82.183:9200"]
kibana.index: ".kibana"
- 启动kibana即可
systemctl enable kibana && systemctl restart kibana
- 可以使用
10.110.82.183:5601
进行查看.
安装logstash查看日志
- 也是使用rpm包进行安装,可以自定义一个配置文件用于发送数据
ln -s /etc/logstash /usr/share/logstash/config
vim /etc/logstash/conf.d/file.conf
内容为:
input{
file{
path => ["/app/server/log/app.log"]
type => "app-log"
start_position => "beginning"
}
}
filter{
}
output{
elasticsearch{
hosts => ["10.110.82.183:9200"]
index => "app-log-%{+YYYY.MM}"
}
}
nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/file.conf &
Kibana进行日志展示
- 可以登录
9100
查看ES的head能够看到新增的一个logstash信息
- 可以登录
5601
进行设置 方式如下:
- 第一步打开界面 使用kibana的设置
Kibana进行日志展示
- 进入管理设置, 选择Stack管理
- 注意需要进入具体的设置界面
Kibana进行日志展示
- 需要进入右侧的 Create index.
- 注意需要下面有前缀信息.
Kibana进行日志展示
- 设置好只有可以进入控制面板查看discover 进行查看日志
- 注意可以有不同的index进行展示.
Kibana进行日志展示
- 进入下一个界面就可以正常展示日志信息了
- 注意可以点击查看具体信息,也可以通过下拉列表更改log