微服务输出到ELK

Es

下载
1.二进制包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz
2.镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.7.0
docker run -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” docker.elastic.co/elasticsearch/elasticsearch:7.7.0
安装
解压到当前目录:

tar -zxvf elasticsearch-6.4.3.tar.gz

相关配置

cd elasticsearch-6.4.3/config

vim elasticsearch.yml

– 增加如下内容:
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: “*”
Elastic Search启动:由于ES的启动不能用root账号直接启动,需要新创建用户,然后切换新用户去启动,执行命令如下:
– 创建新用户及授权

groupadd elsearch

useradd elsearch -g elsearch -p aa

cd /data/deploy/elk/

chown -R elsearch:elsearch elasticsearch-6.4.3

– 切换用户,启动

su elsearch

cd elasticsearch-6.4.3/bin

sh elasticsearch &

启动过程中,会出现一些报错信息,如:
    1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
    2、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决问题(1):将当前用户的软硬限制调大。

vim /etc/security/limits.conf

– 在后面增加一下配置后,保存退出
es soft nofile 65535
es hard nofile 65537
– 不需要重启,重新登录即生效
– 查看修改命名是否生效

ulimit -n 65535

ulimit -n

– 结果65535

ulimit -H -n 65537

ulimit -H -n

– 结果65537
解决问题(2):调大elasticsearch用户拥有的内存权限
– 切换到root用户

sysctl -w vm.max_map_count=262144

– 查看修改结果

sysctl -a|grep vm.max_map_count

– 结果显示:vm.max_map_count = 262144

– 永久生效设置

vim /etc/sysctl.conf

– 在文件最后增加以下内容,保存后退出:
vm.max_map_count=262144
验证:
http://10.4.59.118:9200/
返回json

Kibana的安装

下载安装包
– 切换到root用户

su

– 下载

cd /data/deploy/elk/

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.2-linux-x86_64.tar.gz

解压配置:

tar -zxvf kibana-6.4.2-linux-x86_64.tar.gz

cd kibana-6.4.2-linux-x86_64/config/

vim kibana.yml

– 增加如下配置:
server.port: 5601
server.host: “0.0.0.0”
elasticsearch.url: “http://localhost:9200”
kibana.index: “.kibana”
启动Kibana:

cd /data/deploy/elk/kibana-6.4.2-linux-x86_64/bin

sh kibana &

启动成功后,访问http://ip:5601,查看是否启动成功。

Logstash安装

下载安装包:
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.2.tar.gz
解压配置

tar -zxvf logstash-6.4.2.tar.gz

cd logstash-6.4.2/bin

– 新增编辑配置文件

vim logstash.conf

– 增加以下内容:
input {
tcp {
port => 5044
codec => json_lines
}
}
output {
elasticsearch {
hosts => [“localhost:9200”]
index => “springboot-logstash-%{+YYYY.MM.dd}”
}
}
启动Logstash:

cd /data/deploy/elk/logstash-6.4.2/bin

nohup sh logstash -f logstash.conf &

查看日志,无报错信息,默认启动成功。

微服务配置

pom.xml文件增加依赖

net.logstash.logback
logstash-logback-encoder
5.1

修改logback.xml配置文件

10.4.59.118:5044 UTC { "logLevel": "%level", "serviceName": "${springAppName:-}", "pid": "${PID:-}", "thread": "%thread", "class": "%logger{40}", "rest": "%message" }

    
    

Kibana的使用

通过以上的配置,基本上ELK和微服务之间,已经配置完成,接下来需要通过在Kibana中创建索引等进行日志的搜索和查看
1.配置索引 菜单Management --> Kibana Index Patterns
create Index Pattern 选择自己的日志可以配置** 本例配置的是springboot-logstash-*
Discover 通过添加filter对日志进行过滤查询,注意右上角的时间,没有数据可能是时间的问题,这里展示可以定制自己用的field
创建Visualize和Dashboard
    创建完查询后,可以在Visualize中,创建一个新的图示,通过查询进行创建。创建Dashboard,依赖Visualize图示,进行展示。
    即依赖关系:Dashboard -》 Visualize -》 Search
参考地址

Kibana官方的中文手册

https://www.elastic.co/guide/cn/kibana/current/index.html
https://github.com/logstash/logstash-logback-encoder

你可能感兴趣的:(elasticsearch,es,java)