前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装配置kibana+logstash

安装配置kibana+logstash

作者头像
老七Linux
发布2018-05-31 12:56:27
8050
发布2018-05-31 12:56:27
举报
文章被收录于专栏:Laoqi's Linux运维专列
安装kibana

主要作用:收集数据并成图的web。

以下在主节点上执行

前面已经配置过yum源,这里就不用再配置了

代码语言:javascript
复制
yum install -y kibana 

kibana同样也需要安装x-pack(可省略,看企业是否需要)

安装方法同elasticsearch的x-pack

代码语言:javascript
复制
cd /usr/share/kibana/bin

./kibana-plugin install x-pack     //如果这样安装比较慢,也可以下载zip文件(可省略)

wget https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-6.0.0.zip//这个文件和前面下载的那个其实是一个(可省略)

./kibana-plugin install file:///tmp/x-pack-6.0.0.zip (可省略)
配置 kibana
代码语言:javascript
复制
vim /etc/kibana/kibana.conf  //增加修改如下

server.port: 5601
server.host: 192.168.59.131 //建议配置内网IP,不要配置公网IP,为了安全。
elasticsearch.url: "http://192.168.59.131:9200"
logging.dest: /var/log/kibana.log
//当然你也可以配置user和passwd在配置文件中。

touch /var/log/kibana.log; chmod 777 /var/log/kibana.log

//kibana这个的服务器的日志产生量特别大,每点击一个页面就会产生一个日志。要注意清理日志。

重载配置:

代码语言:javascript
复制
[[email protected] ~]# systemctl start kibana

[[email protected] ~]# netstat -lntp | grep 5601
tcp        0      0 192.168.59.131:5601     0.0.0.0:*               LISTEN      3680/node 

浏览器里访问 http://192.168.59.131:5601/

用户名elastic,密码为之前你设置过的密码(如果未安装x-pack,不需要用户名密码)

若无法输入用户名密码,查日志

代码语言:javascript
复制
/var/log/kibana.log
出现错误:
代码语言:javascript
复制
Status changed from uninitialized to red - Elasticsearch is still initializing the kibana index.

解决办法:

代码语言:javascript
复制
curl -XDELETE http://192.168.59.131:9200/.kibana -uelastic
配置另外一台 logstash

同时按照起初的分配我们还需要在另外一台机器上面也需要安装logstash:

以下在138上执行(logstash这个服务特别浪费资源,尤其是刚刚启动的时候,后期稳定后还好些)

logstash目前不支持java9

直接yum安装(配置源同前面es的源)

代码语言:javascript
复制
yum install -y  logstash

//如果慢,就下载rpm包

代码语言:javascript
复制
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.2.rpm

(x-pack相关配置)

代码语言:javascript
复制
cd /usr/share/logstash/bin/(可省略)

./logstash-plugin  install file:///tmp/x-pack-6.0.0.zip (可省略)

先不要启动,先编辑配置文件:(此文件就是配置收集各种报错信息和日志的。)如下我们定义收集的是系统的日志,并且指定端口为10514(可以自己指定,只要此server中没有这个端口即可)

代码语言:javascript
复制
[[email protected] ~]# vim /etc/logstash/conf.d/syslog.conf
//conf.d是个子配置文件目录,养成习惯,指定特殊的名字.conf 添加如下内容:(定义数据的输入和输出)

input {
  syslog {
    type => "system-syslog"
    port => 10514  
  }
}
output {
  stdout {
    codec => rubydebug      //意为把当前输出输出在当前屏幕上
  }
}

真正的生产环境一般会以这种方式来收集:

代码语言:javascript
复制
input{
    file{
        path => ["/var/log/*.log"]
    }
}
output{
    elasticsearch {
        hosts => ["192.168.15.188:9200"]
    }
}

其实配置了这一套软件我发现,所有的安装包几乎都在一个位置 /usr/share/目录中:

代码语言:javascript
复制
[root@zhdy01 ~]# ls /usr/share/kibana/

[root@zhdy02 ~]# ls /usr/share/logstash/

配置文件几乎都在 /etc 目录下。

检测刚刚配置的配置文件是否有错

代码语言:javascript
复制
cd /usr/share/logstash/bin

[[email protected] bin]# ./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
Sending Logstash's logs to /var/log/logstash which is now configured via log4j2.properties
Configuration OK

启动服务:

代码语言:javascript
复制
systemctl enable logstash

systemctl start logstash
logstash 收集 syslog日志

配置:

代码语言:javascript
复制
vi /etc/rsyslog.conf    

//在#### RULES下面增加一行(目的就是把日志输入到你的日志收集机器上)
*.* @@192.168.59.138:10514      //*.*代表所有的日志。

前台形式启动logstash

代码语言:javascript
复制
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf  
//这样可以在屏幕上查看到日志输出,不能敲任何命令。只是一个日志输出窗口。

重启服务

代码语言:javascript
复制
systemctl restart rsyslog

再开一个终端

检测是否开启10514端口:

代码语言:javascript
复制
netstat -ltnp |grep 10514
tcp6       0      0 :::10514                :::*                    LISTEN      2723/java    

我们可以第三台机器安装一个vim 包,或者ssh 一下 zhdy02机器,然后在logstash前台的终端上看到ssh登录的相关日志。

如上的这种格式就是刚刚咱们自定义的日志输入和输出格式:

结束logstash,在前台的那个终端上按ctrl c

配置logstash

后台形式启动logstash

编辑配置文件

代码语言:javascript
复制
vim /etc/logstash/conf.d/syslog.conf   //配置文件内容改为如下

input {
  syslog {
    type => "system-syslog"
    port => 10514  
  }
}
output {
  elasticsearch {
    hosts => ["192.168.59.131:9200"]
    index => "system-syslog-%{+YYYY.MM}"        //定义索引的
  }
}

重启服务:

代码语言:javascript
复制
systemctl start logstash

//启动需要一些时间,启动完成后,可以看到9600端口和10514端口已被监听

启动后需要等待一小会,我们才可以看到自定义的 10514 端口和 9600

代码语言:javascript
复制
# netstat -ltnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1254/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1912/master         
tcp6       0      0 192.168.161.162:9200    :::*                    LISTEN      2242/java           
tcp6       0      0 :::10514                :::*                    LISTEN      4305/java           
tcp6       0      0 192.168.161.162:9300    :::*                    LISTEN      2242/java           
tcp6       0      0 :::22                   :::*                    LISTEN      1254/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1912/master         
tcp6       0      0 127.0.0.1:9600          :::*                    LISTEN      4305/java   
logstash的配置文件:
代码语言:javascript
复制
vim /etc/logstash/logstash.yml 

遇到的问题:

日志不可以写入:

代码语言:javascript
复制
/var/log/logstash/logstash-plain.log

需要更改权限为logstash

代码语言:javascript
复制
chown logstash.logstash /var/log/logstash/logstash-plain.log

chown -R logstash.logstash /var/lib/logstash

systemctl restart logstash
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/03/14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装kibana
  • 配置 kibana
    • 出现错误:
    • 配置另外一台 logstash
    • logstash 收集 syslog日志
    • 配置logstash
    • logstash的配置文件:
    相关产品与服务
    Elasticsearch Service
    腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档