Linux日志分析ELK环境搭建.NetCore+NLog+ElasticSearch,+Logstash+Kibana——一个日志收集和检索系统
一、简介
1、ElasticSearch是一个开源分布式搜索服务器。特点:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,节点数据均等,自动搜索负载等。它提供了一个分布式多用户的全文搜索引擎,基于RESTful web接口。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
2、Logstash是一个完全开源的工具,它可以对你的日志进行收集、过滤、分析,支持大量的数据获取方法,并将其存储供以后使用(如搜索)。
3、Kibana 是一个基于浏览器页面的Elasticsearch前端展示工具,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
4、版本信息:Linux7,java(10.0.2),ElasticSearch(6.6.2),Logstash(6.6.2),Kibana(6.6.2),.Net Core2.2,NLog(4.5.11)
二、ElasticSearch
1、首先安装java(在此声明不要采用最新版的java,Logstash不支持已踩坑)
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
rpm -ivh jdk-8u201-linux-x64.rpm 查看版本 java -version
如有环境变量问题请参照
vi /etc/profile
JAVA_HOME=/usr/javajdk1.8.0_151
JRE_HOME=/usr/java/jdk1.8.0_151/jre
CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
使用Esc 键退出,输入:wq 保存并退出
执行命令 source /etc/profile 使用环境变量生效
2、安装elasticsearch
https://www.elastic.co/cn/downloads/elasticsearch
从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动,所以我们要添加一个用户
添加用户组 groupadd elasticsearch
添加用户 useradd es
设置密码passwd es
将用户添加到组中usermod -G elasticsearch es
修改用户权限visudo
新增es ALL=(ALL) ALL
切换用户su es
安装这里还是要用root账户,因为rpm安装还是要往root目录下写入文件,所以es没有权限。rpm -ivh elasticsearch-6.2.2.rpm
可以添加到开机启动服务chkconfig --add elasticsearch
启动service elasticsearch start
浏览:http://localhost:9200
三、Logstash
1、下载logstash
https://www.elastic.co/cn/downloads/logstash
2、安装
rpm -ivh logstash-6.6.2.rpm
查看安装目录 whereis logstash
安装目录bin下创建文件logstash-simple.conf
内容input {http{port=>8001}}output {elasticsearch { hosts => ["localhost:9200"] }stdout { codec => rubydebug }}
执行该文件 ./logstash -f logstash-simple.conf
浏览:http://localhost:9600
四、Kibana
1、下载kibana
https://www.elastic.co/cn/downloads/kibana
2、安装
rpm -ivh kibana-6.6.2-x86_64.rpm
可以添加到开机启动服务chkconfig --add kibana
启动service kibana start
3、配置
查找安装目录whereis kibana
打开kibana.yml
server.host:“localhost” 这里采用localhost:
elasticsearch.url: "http://localhost:9200" 这里是es地址服务器
五、.NetCore+NLog
1、安装
rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
yum install dotnet-sdk-2.2
export PATH=$PATH:$HOME/dotnet
执行命令 source /etc/profile 使用环境变量生效
2、nlog.config关键配置
https://mp.csdn.net/mdeditor/88687552#
<target xsi:type="Network"
name="ownLog-tcp"
keepConnection="false"
address ="http://localhost:8001"
layout="${message}"
/>
六、效果图