南宁网站建设优势,公司网站没做301怎么做301,icp备案服务码,wordpress标签论坛0、整体架构 整体架构目录#xff1a;ASP.NET Core分布式项目实战-目录 一、介绍ELK 1、说明#xff08;此篇ELK采用rpm的方式安装在服务器上#xff09;-牛刀小试 承接上一篇文章的内容准备部署ELK来展示asp.net core 的数据。目前此篇文章只用到单台服务器#xff0c;等下…0、整体架构 整体架构目录ASP.NET Core分布式项目实战-目录 一、介绍ELK 1、说明此篇ELK采用rpm的方式安装在服务器上-牛刀小试 承接上一篇文章的内容准备部署ELK来展示asp.net core 的数据。目前此篇文章只用到单台服务器等下一篇将会介绍如何做到集群部署ELKfilebeatMQ因为这个集群部署才是真正体现大项目的价值。当然如果是小项目或者是内部项目单台足以。 当然ELK只是在业界用的比较多但是里面所用的工具是可以替换的比如说 如下 体现价值的解决方案就是eskibanafilebeat/logstashMQRabbitMQ/Kfaka 来实现日志记录等。 多介绍一下吧 Beats包含四种工具 Packetbeat搜集网络流量数据 Topbeat搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据 Filebeat搜集文件数据 Winlogbeat搜集 Windows 事件日志数据 它是一个轻量级的日志收集处理工具(Agent) 自此解决方案很多关键在于不同的项目用不同的解决方案关键看大家的选择啦。当然如果大家有兴趣可以加一下QQ群可以互相探讨技术。 如果大家对NLog不会部署请看上一篇文章asp.net core添加全局异常处理及log4net、Nlog应用 好了接下来就要开始部署啦请准备你们的服务器和VS吧。 2、环境说明 软件版本CentOS7.4Dockerce-18.06Elasticsearch5.5.0Logstash5.5.0Kibana5.5.0VS20172017 介绍一下ELK实时日志分析平台。 Elasticsearch:是个开源分布式搜索引擎提供收集、分析、存储数据三大功能它的特点分布式、零配置、自动发现、索引自动分片、索引副本机制、restful风格接口、多数据源、自动搜索负载等。 Logstash主要是用来日志的搜集、分析、过滤日志的工具支持大量的数据获取方式。一般工作方式为c/s架构client端安装在需要收集日志的主机上server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。 Kibana:Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面可以帮助汇总、分析和搜索重要数据日志。 二、部署ELK 目前由于我在公司部署的ELK在使用docker下载官方的ELK镜像时无法下载。因此我在家里的时候就把ELK所需要的镜像下载好后放在阿里云的镜像仓库中然后在公司的电脑里面直接下载速度比较快。 如果有碰到以上下载镜像问题的同学可以尝试我这中办法。 0、前提需要安装JAVA环境 命令wget --no-check-certificate --no-cookie --header Cookie: oraclelicenseaccept-securebackup-cookie; http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm 如果发现 下载地址失效请登录https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 这个链接找寻下载地址 安装JDK8rpm -ivh jdk-8u181-linux-x64.rpm 检查 JDK是否安装成功java -version 1、部署Elasticsearch 安装官方文档https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html官方网站有很多安装方式这里采用rpm安装。 //进入local目录cd /usr/local //创建elasticsearch文件夹 mkdir elasticsearch //进入elasticsearch文件夹cd elasticsearch //开始下载wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.rpm //开始安装rpm -ivh elasticsearch-5.5.0.rpm 配置 //查找安装目录whereis elasticsearch //进入安装目录cd /etc/elasticsearch //编辑配置文件vi elasticsearch.yml 主要配置Network.host本机ip和http.port默认9200目前单节点模式其他参数请参考官方文档 启动服务 //开启端口9200firewall-cmd --add-port9200/tcp --permanent //重新加载配置firewall-cmd --reload//设置服务开机启动systemctl enable elasticsearch //启动服务systemctl start elasticsearch 在浏览器打开http://192.168.161.191:9200/,如下图所示表示启动成功了 2、部署kibana 官网文档https://www.elastic.co/guide/en/kibana/current/index.html 安装 //进入elasticsearch目录cd /usr/local/elasticsearch //下载Kibana rpm 64位包wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-x86_64.rpm //安装Kibanarpm -ivh kibana-5.5.0-x86_64.rpm 配置 //进入安装目录cd /etc/kibana //编辑配置文件vi kibana.yml 设置端口号5601Host地址:192.168.161.191 elasticsearch服务地址为http://192.168.161.191:9200 启动服务 //开启端口5601firewall-cmd --add-port5601/tcp --permanent //重新加载配置firewall-cmd --reload//设置服务开机启动systemctl enable kibana //启动服务systemctl start kibana 在浏览器打开http://192.168.161.191:5601,将进入到Kibana管理界面 3、部署logstash 官方文档https://www.elastic.co/guide/en/logstash/current/index.html 安装 //进入elasticsearch目录cd /usr/local/elasticsearch //下载logstash rpm包wget https://artifacts.elastic.co/downloads/logstash/logstash-5.5.0.rpm //安装rpm包rpm -ivh logstash-5.5.0.rpm 配置 //进入安装目录cd /etc/logstash //进入conf.d目录cd conf.d //新增配置信息vi nlog.conf 直接在logstash.conf配置即可。 input{tcp{host192.168.161.191port8001}
}
filter{grok{match{message#%{DATA:request_time}#%{DATA:log_level}#%{DATA:log_info}#}}
}
output{elasticsearch{hosts[192.168.161.191:9200]indexdefaultdocument_typelogs}
}input采用TCP监控本机8001端口的消息 filter使用grok 插件自定义消息格式推荐使用grokdebug在线进行调试 output使用elasticsearch作为数据存储 5、重启修改配置后的logstash 如果是上面的第二种方式采用tcp端口则重启需要配置 8001端口即 -p 8001:8001 docker run -d --restart always -p 8001:8001 --name logstash -v /home/logstashdata/config:/usr/share/logstash/config -v /home/logstashdata/pipeline:/usr/share/logstash/pipeline logstash:6.3.0 启动服务 //开启端口8001firewall-cmd --add-port8001/tcp --permanent //重载配置firewall-cmd --reload//设置开机启动systemctl enable logstash //启动logstashsystemctl start logstash 三、asp.net core 结合NLog 1、在项目中的nlog/config文件中添加内容如下 ?xml version1.0 encodingutf-8 ?
nlog xmlnshttp://www.nlog-project.org/schemas/NLog.xsdxmlns:xsihttp://www.w3.org/2001/XMLSchema-instanceautoReloadtrue!-- the targets to write to --targets!-- 输出到文件,这个文件记录所有的日志 --target xsi:typeFile nameallfile fileNameLog\LogAll\${shortdate}.htmlayoutHR COLORred${longdate}BR${logger}BR${uppercase:${level}}BR${message} ${exception}HR Size1 /!-- 输出到文件,这个文件记录错误日志 --target xsi:typeFile namelogError fileNameLog\LogError\${shortdate}.htmlayoutHR COLORred【异常时间】${date} BR【异常级别】${level:uppercasetrue} BR${message}HR Size1 /!-- 输出到文件,这个文件记录操作日志 --target xsi:typeFile namelogInfo fileNameLog\LogInfo\${shortdate}.htmlayoutHR COLORred【操作时间】${date} BR【操作级别】${level:uppercasetrue} BR${message}HR Size1 / target xsi:typeNetwork nameownLog-tcp-Info keepConnectionfalse address tcp://192.168.161.191:8001layout#【操作时间】${date} #【操作级别】${level:uppercasetrue} #${message}#/target xsi:typeNetwork nameownLog-tcp-Error keepConnectionfalse address tcp://192.168.161.191:8001layout#【异常时间】${date} #【异常级别】${level:uppercasetrue} #${message}#//targets!-- rules to map from logger name to target --rules!--All logs, including from Microsoft--logger name* minlevelTrace writeToallfile /logger name* minlevelError writeTologError /logger name* minlevelInfo writeTologInfo /logger name* minlevelInfo writeToownLog-tcp-Info /logger name* minlevelError writeToownLog-tcp-Error /!--Skip non-critical Microsoft logs and so log only own logs--logger nameMicrosoft.* maxLevelTrace finaltrue /!--logger nameDotNetCore.CAP.* maxLevelInfo finaltrue /logger nameIdentityServer4.* maxLevelInfo finaltrue /--/rules
/nlog配置结束运行项目。 打开kibana添加一下索引当然这个索引名称需要和上面在logstash中的es索引一样因为是要根据索引名称来查找数据的。 添加索引完后就可以查看数据啦。 等下一篇部署在Docker上。拭目以待吧。 参考文档https://www.cnblogs.com/piscesLoveCc/p/7230426.html asp.net core 交流群787464275 欢迎加群交流如果您认为这篇文章还不错或者有所收获您可以点击右下角的【推荐】按钮精神支持因为这种支持是我继续写作分享的最大动力 作者LouieGuo 声明原创博客请在转载时保留原文链接或者在文章开头加上本人博客地址如发现错误欢迎批评指正。凡是转载于本人的文章不能设置打赏功能如有特殊需求请与本人联系 微信公众号欢迎关注 QQ技术交流群 欢迎加群 转载于:https://www.cnblogs.com/guolianyu/p/9600659.html