ELK搭建简单说明


简单说明


  • 周天陪孩子学习,自己简单研究了下如何处理
  • 不是很系统,仅是能够展示部分文件的日志.
  • 需要有很多坑需要进行填充.


搭建模式


  • 自己采取rpm包方式进行搭建

183 机器上面安装上 kibana 以及 ES
180 的机器上面安装logstash
181 的机器也是安装logstash
两台机器用于发送数据到ES然后交由kinaba显示
暂时没有使用filebeat. 感觉不如loki好用

遇到的问题以及解决


  • logstash 启动报错

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插件


  • 可以进行查看
  • 注意里面可以有不同的内容
    ELK搭建简单说明_vim


安装Kibana


  • 也是使用rpm包进行安装
  • 需要修改配置文件

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的设置
    ELK搭建简单说明_配置文件_02


Kibana进行日志展示


  • 进入管理设置, 选择Stack管理
  • 注意需要进入具体的设置界面
    ELK搭建简单说明_配置文件_03


Kibana进行日志展示


  • 需要进入右侧的 Create index.
  • 注意需要下面有前缀信息.
    ELK搭建简单说明_vim_04


Kibana进行日志展示


  • 设置好只有可以进入控制面板查看discover 进行查看日志
  • 注意可以有不同的index进行展示.
    ELK搭建简单说明_vim_05


Kibana进行日志展示


  • 进入下一个界面就可以正常展示日志信息了
  • 注意可以点击查看具体信息,也可以通过下拉列表更改log
    ELK搭建简单说明_配置文件_06