.Net Core微服务入门——ELK日志中心

2023-05-16

.Net Core微服务入门——ELK日志中心

Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash 是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用。

kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

NLog 一个普普通通的.Net日志记录框架,类似log4net的作用。

一、Elasticsearch 安装

1、获取Elasticsearch 镜像

进入https://hub.docker.com/,搜索Elasticsearch ,查看最新版本(7.14.0)

docker pull elasticsearch:7.14.0

2、运行容器

docker run -d --name elasticsearch  -e "discovery.type=single-node"  -v "/home/es":/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 elasticsearch:7.14.0

3、运行成功,查看
在这里插入图片描述
4、浏览器打开访问

http://192.168.8.27:9200/

在这里插入图片描述

常见错误:

1、 cannot read directory ‘/usr/share/elasticsearch/data’: Permission denied

没有目录权限,设置权限:

chown -R root:root /home/es
chmod 777 /home/es

2、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

使用下面命令解决:

vi /etc/sysctl.conf

添加 一行

vm.max_map_count=655360

加载参数

sysctl -p

重启

dockerr start esmaster

3、Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/docker-cluster.log

解决方法:
run 命令增加 -e “discovery.type=single-node”

重新run时,需要把/home/es/目录下所有文件清楚,否则会因为文件被lock导致无法运行成功。

二、kibana 安装

1、下载镜像

docker pull kibana:7.14.0

2、运行安装

docker run -d --name kibana --link elasticsearch:elasticsearch -p 5601:5601 kibana:7.14.0

3、 打开:
http://192.168.8.27:5601/app/home

在这里插入图片描述
成功!

常见问题:

打开 http://192.168.8.27:5601/app/home,出现 Kibana server is not ready yet

经调查,发现网上很多是这种命令:

docker run -d --name kibana -e ELASTICSEARCH_URL=http://192.168.8.27:9200 -p 5601:5601 kibana:7.14.0

发现根本连不上 Elasticsearch ,注意一定要用 --link

三、安装logstash

1、获取镜像

docker pull logstash:7.14.0

2、安装

docker run -it -d --name=logstash -p 9600:9600 -p 4560:4560 \
 -v /home/logstash/logstash.yml:/usr/share/logstash/logstash.yml \
 -v /home/logstash/conf.d/:/usr/share/logstash/conf.d/ logstash:7.14.0

运行成功!

四、.Net Core 接入ELK

1、修改nlog.config

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      internalLogToConsole="true">
	<extensions>
		<add assembly="NLog.Targets.ElasticSearch"/>
	</extensions>

	<targets>
		<!--ElasticSearch保存日志信息-->
		<target name="ElasticSearch" xsi:type="ElasticSearch" ConnectionStringName="ElasticSearchServerAddress"
				index="userapi-${date:format=yyyy.MM.dd}" documentType="doc" includeAllProperties="true"
					 layout="[${date:format=yyyy-MM-dd HH\:mm\:ss}][${level}] ${logger} ${message} ${exception:format=toString}">
			<field name="MachineName" layout="${machinename}" />
			<field name="Time" layout="${longdate}" />
			<field name="level" layout="${level:uppercase=true}" />
			<field name="logger" layout=" ${logger}" />
			<field name="message" layout=" ${message}" />
			<field name="exception" layout=" ${exception:format=toString}" />
			<field name="processid" layout=" ${processid}" />
			<field name="threadname" layout=" ${threadname}" />
			<field name="stacktrace" layout=" ${stacktrace}" />
			<field name="Properties" layout="${machinename} ${longdate} ${level:uppercase=true} ${logger} ${message} ${exception}|${processid}|${stacktrace}|${threadname}" />
		</target>
	</targets>
	<rules>
		<logger name="*" minlevel="INFO" writeTo="ElasticSearch" />
	</rules>
</nlog>

2、appsettings.json 增加配置 ElasticSearchServerAddress

"ConnectionStrings": {
    "ElasticSearchServerAddress": "http://192.168.8.27:9200"
  }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.Net Core微服务入门——ELK日志中心 的相关文章

  • ROS笔记——创建简单的主题发布节点和主题订阅节点

    在安装好ROS后 xff0c 接着学习如何创建节点和节点之间的通信方式 xff0c 以一个简单的主题发布节点和主题订阅节点说明 节点是连接ROS网络等可执行文件 xff0c 是实现某些功能的软件包 xff0c 也是一个主要计算执行的进程 一
  • SVN常用命令总结

    svn使用总结 SVN检出操作 svn checkout path svn checkout svn 192 168 0 1 project 简写 xff1a svn co SVN查看状态 span class token string 3
  • vue-cli3搭建的vue改造成SSR项目

    vue cli3搭建的vue改造成SSR项目 一 文章简介二 搭建vue项目三 改造成SSR首先安装ssr的所需相关依赖改造router ts改造store ts改造main ts创建entry client ts创建entry serve
  • VSCode配置Git随记

    vscode中对git进行了集成 很多操作只需点击就能操作 无需写一些git指令 不过这就需要你对vscode进行配置 下面我会讲到git的配置与免密码上传github 一 安装Git管理工具 可上官网安装 安装路径Git 安装路径默认C
  • VSCode插件推荐(2018.5.31)

    前言 vscode我觉得是用过最好用的编辑器 xff0c 相对而言没有webStorm myeclipse那么卡 xff0c 而且最主要是免费的 xff0c 不用烦每次更新软件的时候破解码无法使用 xff0c 这篇博客主要是记录我自己发现的
  • VSCode配置 Debugger for Chrome插件

    Debugger for Chrome这个插件是直接在vscode里面进行调试js文件 xff0c 跟谷歌的控制台是一样的功能 xff0c 下载了它就不用打开浏览器的控制台就能进行打断点 首先在左侧扩展栏找到这个插件下载好了后重启编辑器之后
  • VSCode打开vue项目的vue组件提示错误的解决办法及key属性的作用

    本博文为学习过程中随记 xff0c 如有抄袭请评论告知谢谢 xff01 最近重新拾起了vue项目 xff0c 因为之前开始习惯使用VSCode编码 xff0c 因此在打开vue项目时 xff0c vue的语法v for默认报错 以下是解决方
  • vue搭建脚手架及部署vue项目随记

    本博文是用于介绍搭建vue脚手架及使用webpack部署vue脚手架目录 1 依赖软件 Node js 1 1下载node js http nodejs cn download https npm taobao org mirrors no
  • 最新版XAMPP中php7.2配置mongodb3.6扩展

    本博文为本人配置mongo随记 第一步下载xampp xff0c 地址 xff1a https www apachefriends org zh cn download html xff0c 这里我下载的是最新版php7 2 8 安装完之后
  • nginx的进程模型

    文章目录 一 Nginx进程模型master进程worker进程示意图 二 Nginx reload配置文件过程三 worker进程处理请求的过程四 Nginx多进程模型的好处 一 Nginx进程模型 Nginx启动后 xff0c 以dae
  • 基于docker的github升级之路

    基于docker的github升级之路 公司的gitlab目前的版本是8 13 2 xff0c 运行在docker容器内 该版本使用的api版本是V3 xff0c 已经不适合一些监控统计工具的调用了 xff0c 看了gitlab官网上对最新
  • .frm,.myd,myi转换为.sql导入数据库

    先说说这几种文件是干什么的 xff1a frm是描述了表的结构 xff0c myd保存了表的数据记录 xff0c myi则是表的索引 其实一个 frm文件就是对应的数据库中的一个表 表示数据表的表结构 MYD文件 这应该是INNODB引擎外
  • linux idea无法输入中文

    linux idea无法输入中文 1 系统输入法切换快捷键 xff08 ctrl 43 space xff09 与idea快捷键冲突 xff0c 更改输入法快捷键 xff0c 如改为 ctrl 43 6
  • linux设置systemd服务

    linux设置systemd服务 access dir etc systemd system create file whose name ended with service chmod 644 xx service edit xx se
  • 普通用户使用docker命令

    普通用户使用docker命令 add docker group sudo cat etc group docker sudo groupadd g 999 docker add user to docker group sudo gpass
  • samba服务器

    samba服务器 install samba edit etc samba smb conf default comment 61 default path 61 opt es backups valid users 61 zsk13 wr
  • linux安装mongodb

    install mongodb tar zxvf mongodb linux x86 64 4 0 22 tgz useradd mongod init passwd with mongod passwd mongod mkdir for
  • linux制作iso启动盘

    制作iso启动盘 sudo fdisk l umount dev sdb umount dev sdb1 umount dev sdd2 umount dev sdd3 sudo mkfs ext4 dev sdb sudo dd if 6
  • ros2+opencv抓取rtsp视频流

    遇到的坑 xff1a rtsp视频流和转ros2 topic放到一个线程里 xff0c 频繁提示解码丢帧的情况 解决这个问题需要将opencv获取rtsp视频流单独开一个线程 xff0c 不能在里面处理任何多余的代码 代码如下 xff1a
  • 机械臂标定实战

    硬件资源 xff1a 机械臂viper300 摄像头realsense d435i 软件版本 xff1a 操作系统 xff1a Ubuntu18 04 ROS Melodic 标定算法 xff1a 采用easy handeye 算法包 ht

随机推荐