操作系统

当前位置:金沙棋牌 > 操作系统 > Kibana搭建日志收集分析系统,Centos7单机部署ELK

Kibana搭建日志收集分析系统,Centos7单机部署ELK

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-11-09 19:47

    金沙棋牌 1

实验拓扑图

金沙棋牌 2

lab

1、jdk环境部署好(java-1.8.0-openjdk)
2、ELK软件版
redis 2.8 epel
logstash 1.5 rpm
es 1.7 rpm
kibana 4.1 rpm
3、安装部署
elk-node3:(logstash,nginx 192.168.9.120)
# ~]# yum install /data/pkg/logstash-1.5.4-1.noarch.rpm nginx -y
#金沙棋牌, systemctl start nginx.service
# systemctl enable nginx.service
# vim /etc/logstash/conf.d/nginx-redis.conf
# input {
# file {
# path => ["/var/log/nginx/access.log"]
# type => "nginxlog"
# }
# }
# output {
# redis {
# host => "192.168.9.119"
# port => "6379"
# data_type => "list"
# key => "logstash-nginxlog"
# }
# }
# ~]# /opt/logstash/bin/logstash -f /etc/logstash/conf.d/nginx-redis.conf --configtest
# ~]# /opt/logstash/bin/logstash -f /etc/logstash/conf.d/nginx-redis.conf

elk-node2:(redis 192.168.9.119)
# vim /etc/redis.conf
# bind 0.0.0.0
# systemctl start redis.service
# systemctl enable redis.service

elk-node1:(logstash-server 192.168.9.118)
# ~]# yum install /data/pkg/logstash-1.5.4-1.noarch.rpm -y
# vi /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-0.3.0/patterns/nginx
# NGUSERNAME [a-zA-Z.@-+_%]+
# NGUSER %{NGUSERNAME}
# NGINXACCESS %{IPORHOST:clientip} - %{NOTSPACE:remote_user} [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} %{NOTSPACE:http_x_forwarded_for}
# ========
# vim /etc/logstash/conf.d/redis-grok-es.conf
# input {
# redis {
# host => "192.168.9.119"
# port => "6379"
# data_type => "list"
# key => "logstash-nginxlog"
# }
# }
# filter {
# grok {
# match => {"message" => "%{NGINXACCESS}"}
# }
# }
# output {
# elasticsearch {
# cluster => "loges"
# index => "logstash-%{+YYYY.MM.dd}"
# }
# }
elk:(elasticsearch,kibana 192.168.9.77)
# yum install -y elasticsearch-1.7.2.noarch.rpm
# vi /etc/elasticsearch/elasticsearch.yml
# cluster.name: loges
# node.name: "elk"
# 安装head插件,上传到plugins目录解压就可以用了
# cd /usr/share/elasticsearch/plugins/
# unzip elasticsearch-head-latest.zip
# mv elasticsearch-head-master/ head
# systemctl enable elasticsearch.service
# systemctl start elasticsearch.service
注意点:(简单部署测试)
1、elasticsearch是最终的数据分布式存储。
2、logstash-server实时去redis拉取数据
3、logstash-agent实时向redis推送数据
4、当运气起来后,redis中是看不到数据了,查看keys是显示没有一个keys,其实数据已经被推送到了ES。
5、web日志数据结构化(grok)是在logstash-server上实施(当然也可以在agent,在大规模环境下,数据统一由logstash-server处理会比较好,减少前段web负载,日志时间)
ES查看数据信息:

金沙棋牌 3

head

# kibana
# tar xf kibana-4.1.2-linux-x64.tar.gz -C /usr/local/
# chown -R root.root kibana-4.1.2-linux-x64/
# ln -s kibana-4.1.2-linux-x64/ kibana
# vim kibana/config/kibana.yml
# elasticsearch_url: "http://localhost:9200"
# /usr/local/kibana/bin/kibana &
kibana展示:

金沙棋牌 4

注意了:
做这个实验的时候,我系统时间没有同步ntp,时区也不对
ntpdate cn.ntp.org.cn
timedatectl set-timezone Asia/Shanghai
导致在kibana discovery数据的时候,没有一笔数据,最好是先设置时间,时区,
在kibana上查看最近几天的数据才可以发现数据。

金沙棋牌 5

Elasticsearch+Logstash+Kibana搭建日志收集分析系统

 ELK stack是Elasticsearch、Logstash、Kibana三个开源软件的组合。目前都在Elastic.co公司名下。ELK是一套常用的开源日志监控和分析系统,包括一个分布式索引与搜索服务Elasticsearch,

一个管理日志和事件的工具logstash,和一个数据可视化服务Kibana

logstash_1.5.3                  负责日志的收集,处理和储存

elasticsearch-1.7.2            负责日志检索和分析

kibana-4.1.2-linux-x64.tar.gz  负责日志的可视化

redis-2.4.14                      DB以及日志传输的通道来处理

用一张图来表示他们之间的关系

金沙棋牌 6

此文以两个服务器为例来部署

服务器A:192.168.0.1  java elasticsearch redis kibana logstash(agent indexer)

服务器B:192.168.0.2  java logstash(agent)

首先安装服务器A相关软件

一、安装基础软件

yum -y install curl wget lrzsz axel

二、安装配置redis服务

1、安装tcl8.6.1

a) tar -xf tcl8.6.1-src.tar.gz --strip-components=1
b) cd tcl8.6.1/unix
c) ./configure --prefix=/usr/local
d) make
e) make test
f) make install 
g) make install-private-headers 
h) ln -v -sf tclsh8.6 /usr/bin/tclsh 
i) chmod -v 755 /usr/lib/libtcl8.6.so(可选,并且如报找不到文件,没关系)

2、安装redis-3.0.2

wget
tar xzf redis-3.0.2.tar.gz /usr/local/redis
cd redis-3.0.2
make MALLOC=libc
make test
make install

2、配置redis

a) mkdir /etc/redis
b) mkdir /var/redis
c) cp utils/redis_init_script /etc/init.d/redis
d) vim /etc/init.d/redis
头部添加:
#chkconfig: 345 60 60
#!/bin/bash
e) mkdir /var/redis/6379
f) cp redis.conf /etc/redis/6379.conf
g) vim /etc/redis/6379.conf
        #设置daemonize为yes
        #设置pidfile为/var/run/redis_6379.pid
        #设置loglevel
        #设置logfile为/var/log/redis_6379.log
        #设置dir为/var/redis/6379
h) sysctl vm.overcommit_memory=1
i) chkconfig --add redis
j) chkconfig redis on

3、重启服务

service redis start/stop

4、查看进程和端口
1)查看进程

ps -ef |grep redis
root    31927 25099  0 18:26 pts/0    00:00:00 vi /etc/init.d/redis

2)查看端口

netstat -tupnl |grep redis
tcp        0      0 0.0.0.0:6379                0.0.0.0:*                  LISTEN      31966/redis-server 
tcp        0      0 :::6379                    :::*                        LISTEN      31966/redis-server

三、安装java环境

1、安装包

yum -y list java*
yum -y install openjdk-7-jdk

2、查看版本

java -version
java version "1.7.0_91"
OpenJDK Runtime Environment (rhel-2.6.2.2.el6_7-x86_64 u91-b00)
OpenJDK 64-Bit Server VM (build 24.91-b01, mixed mode)

 

四、安装elasticsearch

1、下载elasticsearch

wget

2、安装elasticsearch

rpm -ivh elasticsearch-1.7.2.noarch.rpm

3、配置
1)备份配置

cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak

2)修改配置

echo "network.bind_host: 192.168.0.1" >> /etc/elasticsearch/elasticsearch.yml

4、启动elasticsearch服务

/etc/init.d/elasticsearch start
/etc/init.d/elasticsearch stop

5、查看进程和端口

1)查看进程

ps -ef |grep java

2)查看端口

netstat -tupnl |grep java

6、测试

curl -X GET
{
  "status" : 200,
  "name" : "Miguel O'Hara",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.7.2",
    "build_hash" : "e43676b1385b8125d647f593f7202acbd816e8ec",
    "build_timestamp" : "2015-09-14T09:49:53Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.4"
  },
  "tagline" : "You Know, for Search"
}

7、添加到开机启动

update-rc.d elasticsearch defaults
update-rc.d: using dependency based boot sequencing

五、安装logstash

1、下载logstash

wget 

2、安装logstash

rpm -ivh logstash-1.5.4-1.noarch.rpm

3、配置(默认没有这个配置文件)

vim /etc/logstash/conf.d/logstash_indexer.conf
input {
        redis {
                host => "192.168.0.1"
                data_type => "list"
                key => "logstash:redis"
                type => "redis-input"
        port => "6379"
        }
}
output {
        elasticsearch {
                host => "192.168.0.1"
        }
}

4、启动服务

/etc/init.d/logstash start

5、使用jps -mlv或ps -ef来查看下进程

ps -ef|grep logst

6、设置开机启动

update-rc.d logstash defaults
update-rc.d: using dependency based boot sequencing

六、安装kibana(前端web)

1、下载

wget

2、解压到指定目录

tar zxvf kibana-4.1.2-linux-x64.tar.gz -C /opt

3、创建日志目录

mkdir -p /opt/kibanalog

4、配置
1)备份配置

cp /opt/kibana-4.1.2-linux-x64/config/kibana.yml /opt/kibana-4.1.2-linux-x64/config/kibana.yml.bak

2)修改配置

sed -i 's!^elasticsearch_url: .*!elasticsearch_url: "' /opt/kibana-4.1.2-linux-x64/config/kibana.yml
sed -i 's!^host: .*!host: "192.168.0.1"!g' /opt/kibana-4.1.2-linux-x64/config/kibana.yml

5、启动服务

cd  /opt/kibanalog && nohup /opt/kibana-4.1.2-linux-x64/bin/kibana &

6、查看进程和端口
1)查看进程

ps aux |grep kibana

2)查看端口

netstat -tupnl|grep 5601

7、在Windows上访问

8、设置开机启动

echo "cd /opt/kibanalog && nohup /opt/kibana-4.1.2-linux-x64/bin/kibana &" >> /etc/rc.local

到此服务器A的相关软件全部安装完成;

现在安装日志采集端的程序(服务器B),可以有多个

clientB安装配置logstash(agent)

1、安装java环境

yum -y list java*
yum -y install openjdk-7-jdk

1、下载logstash

wget 

2、安装logstash

rpm -ivh logstash-1.5.4-1.noarch.rpm

3、配置(默认没有这个配置文件)
1)配置logstash_agent

vim /etc/logstash/conf.d/logstash_agent.conf

input {
    file {
        path => "/tmp/*.log"
        start_position => beginning
    }
}

output {
        redis {
                host => "192.168.0.1"
                data_type => "list"
                key => "logstash:redis"
        }
}

5、启动服务
 
/etc/init.d/logstash start
logstash started.

6、使用jps -mlv或ps -ef来查看下进程

ps -ef|grep logst

7、设置开机启动

update-rc.d logstash defaults
update-rc.d: using dependency based boot sequencing

至此服务器B也安装配置完成,根据日志采集端的需要可以配置N个服务B

如何查看日志:

1、查看redis日志

cat /var/log/redis/redis-server.log

2、查看elasticsearch日志

cat /var/log/elasticsearch/elasticsearch.log
tail -300f  /var/log/elasticsearch/elasticsearch.log

3、查看logstash日志

cat /var/log/logstash/logstash.errtail -30f /var/log/logstash/logstash.err

4、查看kibana日志

cat /opt/kibanalog/nohup.out
tail -30f /opt/kibanalog/nohup.out

错误处理

1)unable to fetch mapping, do you have indices matching the pattem?

kibana 报这个错误就是因为没有从logstash 过来任何数据一般检查一下数据传输

ELK stack是Elasticsearch、Logstash、Kibana三个开源软件的组合。目前都在Elastic.co公司名下。ELK是一套...

 

​ ​ ​ ​    5.2 查看启动日志
      cd /var/log/elasticsearch/
      tail -f elasticsearch.log

    金沙棋牌 7

    金沙棋牌 8

    金沙棋牌 9

一、下载需要软件
  1、ELK下载地址
    
  2、jdk下载地址
    
  3、所需软件列表
    #文件默认放到/opt目录下
    jdk-8u131-linux-x64.tar.gz
    elasticsearch-6.2.4.rpm
    kibana-6.2.4-x86_64.rpm
    logstash-6.2.4.rpm
二、 安装JAVA
  1、解压
    tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/local/
    ln -s /usr/local/jdk1.8.0_131/ /usr/local/jdk
  2、配置环境
    vim /etc/profile
    #最后面添加以下配置文件
    export JAVA_HOME=/usr/local/jdk
    export JRE_HOME=$JAVA_HOME/jre
    export PATH=$PATH:$JAVA_HOME/bin
  3、验证结果
    source /etc/profile
    java -version
    #检查结果:
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
三、部署elasticsearch
  1、 rpm安装
    cd /opt
    rpm -ivh elasticsearch-6.2.4.rpm
    创建用户
    groupadd elasticsearch
    useradd -g elasticsearch elasticsearch
  2、修改elasticsearch配置文件
    2.1 vim /etc/elasticsearch/elasticsearch.yml
      [root@localhost elasticsearch]# cat elasticsearch.yml | grep -v "^#" | grep -v "^$"
      path.data: /var/lib/elasticsearch
      path.logs: /var/log/elasticsearch
      network.host: "0.0.0.0"
      http.port: 9200
    2.2 vim /etc/elasticsearch/jvm.options(根据自己服务器配置修改)
      -Xms512m
      -Xmx512m
    2.3 vim /etc/sysconfig/elasticsearch
      JAVA_HOME=/usr/local/jdk
  3、安装x-pack插件
​ ​ ​     cd /usr/share/elasticsearch/bin
​ ​ ​   ​ ./elasticsearch-plugin install x-pack
​ ​ ​          安装时间比较长,需耐心等待......​ ​ ​ ​ ​
​   ​4、启动elasticsearch
  ​ ​ ​  ​systemctl start elasticsearch
​   ​5、检查启动情况
​ ​ ​     ​5.1 查看启动状态
​ ​ ​ ​       ​systemctl status elasticsearch

  6、开启kibana
    后期生产环境中,只需:
    1、编写好conf文件
    2、启动logstash即可,systemctl start logstash
  7、kibana中x-pack认证问题

    显示试用期为30天。预知如何增加时间,请看下回分解。

五、部署logstash
  1、rpm安装
    cd /opt
    rpm -ivh logstash-6.2.4.rpm
  2、修改配置文件
    mkdir -p /usr/share/logstash/config
    cp /etc/logstash/log4j2.properties /usr/share/logstash/config
    [root@localhost logstash]# cat /etc/logstash/logstash.yml | grep -v "^#" | grep -v "^$"
    node.name: logstash
    path.data: /var/lib/logstash
    path.config: /etc/logstash/conf.d
    config.test_and_exit: True
    path.logs: /var/log/logstash
  3、编写测试conf
    一般放在/etc/logstash/conf.d目录下
    [root@localhost conf.d]# cat test.conf
    input {
      stdin {
        }
      }
    output {
      elasticsearch {
        hosts =>["10.244.78.230:9200"]
        index => "test-%{+YYYY.MM.dd}"
        user => elastic
        password => "123456"
      }
      stdout {
        codec => rubydebug
      }
    }
  4、测试运行
    /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test.conf(用来临时做测试用

    可以看到对话框,输入用户名和密码就可以。默认的用户名:elastic

  4、启动kibana
    systemctl start kibana
  5、访问测试(默认端口为5601)

  2、修改配置文件
    [root@localhost bin]# cat /etc/kibana/kibana.yml | grep -v "^#" | grep -v "^$"
    server.port: 5601
    server.host: "10.244.78.230"
    elasticsearch.url: ""
    elasticsearch.username: "elastic"
    elasticsearch.password: "123456"
  3、安装x-pack插件
    cd /usr/share/kibana/bin/
    ./kibana-plugin install x-pack

    金沙棋牌 10

  系统要求:Centos7(内核3.5及以上,2核4G)
  elk版本:6.2.4(较新版本)
  jdk版本:1.8(必须为java1.8版本)

​ ​ ​     ​5.3 检查端口情况
      netstat -lntp

ELK分布式框架作为现在大数据时代分析日志的常为大家使用。现在我们就记录下单机Centos7部署ELK的过程和遇到的问题。

    金沙棋牌 11

    金沙棋牌 12

    

   6、通过x-pack设置密码
    cd /usr/share/elasticsearch/bin/
    x-pack/setup-passwords interactive

  5、打开kibana查看

    金沙棋牌 13

  7、登陆测试
    打开浏览器访问:

    金沙棋牌 14

    金沙棋牌 15

    访问成功!!!!
四、部署kibana
  1、rpm安装
    cd /opt
    rpm -ivh kibana-6.2.4-x86_64.rpm

本文由金沙棋牌发布于操作系统,转载请注明出处:Kibana搭建日志收集分析系统,Centos7单机部署ELK

关键词:

上一篇:没有了

下一篇:共计60个子项目,出现错误