一.安装kibana
这和刚写的ELK(一)介绍、Elasticsearch安装和构建集群是一起的。kibana版本和elasticsearch版本一致,也是最新的7.5。
根据前文的准备环境,我们只在主节点上安装kibana。
vim /etc/yum.repos.d/kibana.repo
#添加
[kibana-7.x]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
#安装
yum install -y kibana
配置kibana:
vim /etc/kibana/kibana.yml
#监听端口
server.port: 5601
#绑定的ip
server.host: "192.168.247.160"
#和elasticsearch通信设定主机
elasticsearch.hosts: ["http://192.168.247.160:9200"]
#设置一个日志,不设置则是和系统日志/var/log/message一起
logging.dest: /var/log/kibana.log
#说明:一般来说需要图形化界面需要配置用户名密码,这样更安全,但是这是属于x-pack。但是x-pack要付费,所以设置不了。我们可以用nginx代理,做一个用户认证解决。
touch /var/log/kibana.log
chmod 777 /var/log/kibana.log
启动:
systemctl start kibana
浏览器进入:输入ip:5601
关于kibana操作的文章:https://zhaoyanblog.com/archives/732.html
二.安装logstash
注意:根据官方提示,java版本需要安装java8或java11。此处logstash为最新版7.5
在服务器170数据节点上安装logstash:
vim /etc/yum.repos.d/logstash.repo
#添加
[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
#安装:
yum install logstash -y
配置文件说明:
/etc/logstash/conf.d/
#这是所有的子配置文件,就是说要自己定义的要分析的日志
#比如说系统日志
#.conf结尾格式
vim /etc/logstash/conf.d/syslog.conf
#添加
input {
syslog {
type => "system-syslog"
port => 10514 //这样表示系统日志输出到10514端口
}
}
output {
stdout{
codec => rubydebug //测试,输出到当前终端屏幕
}
}
检测配置文件是否有错:
#其实ELK的软件的主目录都是在/usr/share目录下,包括它们的执行文件,库文件等。
cd /usr/share/logstash/bin/
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
还需要在系统日志配置文件里修改成监听10514端口,与上面的设置对应:
vim /etc/rsyslog.conf
*.* @@192.168.247.170:10514
#*.*表示监听所有类型的系统日志内容
启动logstash:
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf
#回车之后是不会退出来的,和syslog.conf配置有关
再打开一个170终端,重启系统日志rsyslog服务:
systemctl restart rsyslog
此时logstash屏幕已经有输出了,结束按ctrl+c。
三.配置logstash收集syslog日志
上面只是测试,输出到当前屏幕。现在要把输出到logstash:
#更改配置文件
vim /etc/logstash/conf.d/syslog.conf
#修改
input {
syslog {
type => "system-syslog"
port => 10514
}
}
output {
elasticsearch {
hosts => ["192.168.247.160:9200"] //定义输出主机
index => "system-syslog-%{+}" //定义索引
}
}
还需要修改logstash服务的配置文件:
vim /etc/logstash/logstash.yml
#修改一下监听的ip
http.host: "192.168.247.170"
测试有没有错:
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
因为我们之前启动都是root启动,所以有些文件需要改回来:
chown logstash /var/log/logstash/logstash-plain.log
chown -R logstash /var/lib/logstash
启动:
systemctl start logstash
#可能需要等一会端口才会出来,可以看日志有没有出错
四.kibana上查看日志
在elasticsearch(160)服务器上查看设置的系统日志有没有过来:
#获取索引信息
curl '192.168.247.160:9200/_cat/indices?v'
#看有没有刚才我们设置的索引,有就没问题
green open system-syslog-2020.02 sARbaADST2q7ktsYWz215Q 1 1 5
#获取指定索引详细信息
curl -XGET '192.168.247.160:9200/system-syslog-2020.02?pretty'
在kibana图形界面上操作:
它其实是和我们170的/var/log/message的日志是一样的,因为我们就是分析的它的日志。