ELK-logback日志系统 单机搭建

 

 

版本使用的6.2.3, elasticsearch, logstash, kibana版本最好要统一,本次版本全是6.2.3

由于是单机搭建, 并且logstash收集日志是使用的logback日志框架通过tcp发送日志到logstash, 所以ELK全部搭建在一台服务器上便可.

 

安装elasticsearch

wget https://mirrors.tuna.tsinghua.edu.cn/elasticstack/6.x/yum/6.2.3/elasticsearch-6.2.3.rpm
rpm -ivh elasticsearch-6.2.3.rpm

elasticsearch安装后的路径

/etc/elasticsearch/

/user/share/elasticsearch/

修改配置文件elasticsearch.yml 

/etc/elasticsearch/elasticsearch.yml 
cluster.name: st1-log
node.name: st1-log1st
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0

启动和关闭es

systemctl enable elasticsearch.service
systemctl start elasticsearch.service
systemctl stop elasticsearch.service

浏览器访问 http://192.168.106.18:9200/

安装elasticsearch-head

  安装node.js

wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.xz
解压包
xz -d node-v8.11.1-linux-x64.tar.xz
tar -xf node-v8.11.1-linux-x64.tar
部署bin文件
ln -s ~/node-v8.11.1-linux-x64/bin/node /usr/bin/node
ln -s ~/node-v8.11.1-linux-x64/bin/npm /usr/bin/npm 

安装elasticsearch-head

首先下载下来
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
解压
unzip master.zip 
进入elasticsearch-head-master文件夹,执行
#忽略脚本继续进行安装
npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
npm install
修改Head主目录下的Gruntfile.js
connect: {
          server: {
                   options: {
                        port: 9100,
                        base: '.',
                        keepalive: true,
                        hostname: '*'
                    }
          }
  }
修改elasticsearch 的启动配置文件
vim elasticsearch.yml
#在文件末尾添加即可
http.cors.enabled: true
http.cors.allow-origin: "*"
启动head插件:
npm run start

 

浏览器访问 http://192.168.106.18:9100/

安装logstash

wget -c https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.rpm
rpm -ivh logstash-6.2.3.rpm 

修改/etc/logstash/logstash.yml

node.name: st1-log1st
path.data: /var/lib/logstash
path.config: /etc/logstash/conf.d
path.logs: /var/log/logstash

配置日志管道文件vim /etc/logstash/conf.d/logstash.conf

本次是使用logback直接发送tcp到logstash,所以需要这样配置, 当然log4j也是支持的

input {
	tcp {
		##host:port就是上面appender中的 destination,这里其实把logstash作为服务,开启9250端口接收logback发出的消息
		host => "127.0.0.1"
		port => 9250
		mode => "server"
		tags => ["tags"]
		codec => json_lines
	}
}
output {
	#这里是es的地址 
	elasticsearch { 
		action => "index"
		hosts => "localhost:9200"
		index => "%{[appname]}"
		
	}
	 stdout { 
		codec => rubydebug 
	}
}	      

    启动日志收集,后台运行,如果前台运行,不小心中断,则日志不再收集。

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf &

这里说下logback是怎么配置的

首先引进maven依赖
<dependency>
      <groupId>net.logstash.logback</groupId>
      <artifactId>logstash-logback-encoder</artifactId>
      <version>4.11</version>
</dependency>

在logback.xml配置 appender
    <!-- 发送日志到logstash -->
    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <!-- 这里是logstash服务地址和监听的端口 -->
        <destination>192.168.106.18:9250</destination>
        <!-- encoder必须配置,有多种可选 -->
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
            <customFields>
                {
                    "appname":"appname"
                }
            </customFields>
        </encoder>

        <connectionStrategy>
            <roundRobin>
                <connectionTTL>5 minutes</connectionTTL>
            </roundRobin>
        </connectionStrategy>

    </appender>

    <root level="INFO">
       

        <appender-ref ref="LOGSTASH" />
    </root>

启动后就能看到日志了

登录es上查看就能有数据了

安装kibana

wget -c https://artifacts.elastic.co/downloads/kibana/kibana-6.2.3-x86_64.rpm
rpm -ivh kibana-6.2.3-x86_64.rpm

      修改配置文件 /etc/kibana/kibana.yml

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://localhost:9200"

 启动和关闭

systemctl enable kibana
systemctl start kibana
systemctl stop kibana

浏览器访问 http://192.168.106.18:5601

这就搭建完成了, 具体用法自行百度,本人也不太会

 

 

安装X-pack 

X-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,也是官方推荐的

这是一个收费的,

在ES 安装x-pack,ES停用状态下执行
在ES目录下


./bin/elasticsearch-plugin install x-pack  
授权
chown -R elasticsearch.elasticsearch *

启动ES, 访问连接

修改密码

bin/x-pack/setup-passwords interactive

在kibana 目录下安装x-pack,ES停用状态下执行
在kibana目录下

./bin/kibana-plugin install x-pack
这个过程需要很长, 看个人网速

    修改kibana.yml  

elasticsearch.username: "elastic"
elasticsearch.password: "123456"

启动kibana

查看x-pack到期时间

可以看出只有一个月的时间

破解X-pack 

参考:https://blog.csdn.net/qq_20641565/article/details/78286894

替换jar 目录 /usr/share/elasticsearch/plugins/x-pack/x-pack-core/

申请一个免费license(https://license.elastic.co/registration) 注册后可以下载文件,下载后修改,例如:

主要修改:type改为platinum表示可以使用所有功能 ; expiry_date_in_millis

license.json

{
	"license": {
		"uid": "aa",
		"type": "platinum",
		"issue_date_in_millis": 1536796800000,
		"expiry_date_in_millis": 2524579200999,
		"max_nodes": 100,
		"issued_to": "aa",
		"issuer": "Web Form",
		"signature": "aa",
		"start_date_in_millis": 1536796800000
	}
}

有了权限需要密码登录,所以logstash.conf也需要改下

output {
        #这里是es的地址
        elasticsearch {
                action => "index"
                hosts => "localhost:9200"
                index => "%{[appname]}"
                user => "elastic"
                password => "123456"
        }
         stdout {
                codec => rubydebug
        }
}

启动即可 , 都这里就结束了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值