关于ELK搭建日志系统环境搭建

ELK基础配置和使用 阅读详情

好久没有更新博客啦,昨天在群里面和一起大神讨论一些关于日志系统搭建,所碰到 的一些问题吧导致没有搭建成功,幸好我也是最近研究了一些用ELK来搭建一些日志系统,这个日志系统环境搭建是一个比较初级的,使用ELK搭建的,我们用.Net log4net 进入日志记录写进ES中,好了 废话不说了 开始进入正题

1 ELK是什么

elk是 Elasticsearch,Logstash,Kibana 三大开源框架的简写 在这里插入图片描述上面的图形只是对三大开源框架的一个简单分析 大概先了解下,

ELK安装

安装着是三个框架需要有Java环境 ,要安装JDK ,先检查本地是否有Java环境 如果没有先安装JDK:
JDK安装:
在这里插入图片描述
如果有Java环境 那我们现在开始安装,首先先安装ES
ES下载 选择与自己对应的版本
在这里插入图片描述
下载好之后解压 进入bin目录找到elastucsearch.bat双击就可以运行 ES ,
ES默认端口是9200
在这里插入图片描述
下图是ES启动成功
在这里插入图片描述

安装LogStash

LogStash下载
选择对应的版本

在这里插入图片描述
下载后之后在bin目录下添加一个配置文件图下图
在这里插入图片描述
把下面这段代码写到tcp.conf里面去

input {
       tcp {
                port => "4567"
                mode => "server"
                type => "tcplog"
			ssl_enable => false
    	codec =>  "json"
        }
}

output{
        elasticsearch{
             hosts => "127.0.0.1:9200"
             index => "tcplog-%{+YYYY.MM.dd}"
        }
}

简单介绍上面配置说明
input :是输入 ,我的理解就是从哪个位置读取数据😄
tcp:是配置一tcp的形式进行数据收集,

codec :是指收集数据的编码, 他的值有 plain ,json plan 是普通文本格式数据 json 传json的数据
output:输出,意思是通过读取过来的数据,放在哪里存储,配置中我们放在了ES里面,
hosts是es所在的位置和端口(es默认端口是9200可以通过配置文件进行修改)
index是ES的索引名称

安装Kibana

Kibana 下载

进入bin目录 启动即可 有点慢 (机子太烂)
在这里插入图片描述

下图启动成功
在这里插入图片描述
在浏览器输入
http://127.0.0.1:5601/ 访问

准备工作已经好了 ,现在我们开始写程序把
我们建立一个控制台程序 导入log4net包,配置log4net.config,平时我们用的日志不是写库就是把日志写进文件,那么今天我们把日志已tcp的形式写进服务器,下面是配置把日志已TCP的协议写进服务器

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
<!--日志相关配置-->
<log4net>
<!--把日志文件已网络的形式传输  -->
<appender name="SocketAppender" type="log4net.Appender.SocketAppender, Log4netSocketAppender">
	  <RemoteAddress value="127.0.0.1"/>
	  <RemotePort value="4567" />
	  <AddressFamily value="InterNetwork" />
	  <SocketType value="Stream" />
	  <ProtocolType value="Tcp" />
	  <ConAttemptsCount value="5" />
	  <ConAttemptsWaitingTimeMilliSeconds value="3000" />
	  <UseThreadPoolQueue value="true" />
	    <layout type="TestLogStash.Log.BusinessIDPatternLayout">
 <conversionPattern value="%SystemLogFrom" />
	</layout>
	</appender>
  <!--引入-->
  <root>
    <level value="ALL" />
<appender-ref ref="SocketAppender" />
  </root>
</log4net>
</configuration>

解释下上面的配置:
RemoteAddress:是你服务器地址
RemotePort: 端口
SocketType;类型
ProtocolType:协议类型
注意:
TestLogStash.Log.BusinessIDPatternLayout 这个类是我自定义的 格式输出,把配置文件放到项目bin目录下
1.导入logHelper.cs

using log4net;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;

namespace Common.Utility
{
    public static class Log
    {
       
       
        public static void Debug(object message)
        {
           
            LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Debug(message);

        }
       

        public static void Debug(object message, Exception ex)
        {
        
            LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Debug(message, ex);
        }

        public static void Error(object message)
        {
        
            LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Error(message);
        }

        public static void Error(object message, Exception exception)
        {
        
            LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Error(message, exception);
        }



        public static void Info(object message)
        {
        
            LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Info(message);
        }

        public static void Info(object message, Exception ex)
        {
        
            LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Info(message, ex);
        }

        public static void Warn(object message)
        {
        
            LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Warn(message);
        }

        public static void Warn(object message, Exception ex)
        {
        
            LogManager.GetLogger(Common.Utility.Log.GetCurrentMethodFullName()).Warn(message, ex);
        }

        private static string GetCurrentMethodFullName()
        {
            StackFrame frame;
            string str;
            string str1;
            bool flag;
            try
            {
                int num = 2;
                StackTrace stackTrace = new StackTrace();
                int length = stackTrace.GetFrames().Length;
                do
                {
                    int num1 = num;
                    num = num1 + 1;
                    frame = stackTrace.GetFrame(num1);
                    str = frame.GetMethod().DeclaringType.ToString();
                    flag = (!str.EndsWith("Exception") ? false : num < length);
                }
                while (flag);
                string name = frame.GetMethod().Name;
                str1 = string.Concat(str, ".", name);
            }
            catch
            {
                str1 = null;
            }
            return str1;
        }
    }
}

重写Log4net格式输出类 PropresPatternConvert:`

using log4net.Core;
using log4net.Layout.Pattern;
using System;
using System.IO;
using Newtonsoft.Json;
using System.Text;
namespace TestLogStash.Log
{
    public class PropresPatternConvert : PatternLayoutConverter
    {
        //自定义输出模版
        protected override void Convert(TextWriter tw, LoggingEvent loggingEvent)
        {
            //StringBuilder sb = new StringBuilder();
            //日志输出换行符
            string lineOperator = "\r\n";
            var businessID = loggingEvent.MessageObject as BusinessLog;
            if (businessID == null) return;
            //sb.Append("======================SystemLogFrom:" + businessID.SystemLogFrom+ "==========================="+ lineOperator);
            //sb.Append("Message==========>" + businessID.Message + lineOperator);
            //sb.Append("DateTime==========>" + businessID.Date + lineOperator);
            //sb.Append("Exception==========>" + businessID.Exception + lineOperator);
            //sb.Append("=================================================================" + lineOperator);
           var str = "{\"LogData\":{\"SystemLogFrom\":\"" + businessID.SystemLogFrom + "\"," +
               "\"Message\":\"" + businessID.Message + "\", " + "\"DateTime\":\"" + businessID.Date +
               "\"," + "\"Exception\":\"" + businessID.Exception + "\"}}";
            tw.Write(str);
        }
    }
    //输出
    public class BusinessIDPatternLayout : log4net.Layout.PatternLayout
    {
        public BusinessIDPatternLayout()
        {
            this.AddConverter("SystemLogFrom", typeof(PropresPatternConvert));
        }
    }
    //封装日志参数
    class BusinessLog {
        public string SystemLogFrom { get; set; }
        public string Message { get; set; }
        public DateTime Date { get; set; }
        public Exception Exception { get; set; }
        public BusinessLog(string SystemLogFrom,string Message , DateTime Date, Exception Exception) {
            this.SystemLogFrom = SystemLogFrom;
            this.Message = Message;
            this.Date = Date;
            this.Exception = Exception;
        }
        public override string ToString()
        {
            return base.ToString();
        }
    }
}

//下面是主程序`

using Common.Utility;
using log4net.Appender;
using log4net.Config;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TestLogStash.Log;
using TradingSystemBackgroundApp.Config;
namespace TestLogStash
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                var str = Console.ReadLine();
                new LogIni();
                Common.Utility.Log.Debug(new BusinessLog("交易系统", str, DateTime.Now, new Exception("异常")));
                Console.ReadLine();
            }    
            catch (Exception)
            {

                throw;
            }
            
        }
        public  void LogIni()
        {
            string logConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config");
            XmlConfigurator.Configure(new FileStream(logConfigPath, FileMode.Open));
        }
    }
}

进入Kibana 查看索引
在这里插入图片描述
现在我们启动程序 开始进行写日志
在这里插入图片描述
进入Kibana查看
在这里插入图片描述
LogIni 方法:`

using log4net.Config;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TradingSystemBackgroundApp.Config
{
    /// <summary>
    /// 日志初始化
    /// </summary>
   public  class LogIni
    {
        public LogIni() {
            string logConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config");
            XmlConfigurator.Configure(new FileStream(logConfigPath, FileMode.Open));
        }
    }
}

好了 简单的ELK日志搭建 环境已经好了 在这里简单记录一下

Windows环境搭建ELK日志系统 电脑必须有jdk1.8的环境 elk环境:下载地址 安装elasticsearch cd到elasticsearch文件夹的bin目录下 cmd 运行 elasticsearch-service install,会提示安装成功 cmd 运行 elasticsearch-service manager 会弹出服务管理界面 浏览器访问下面路径 安装Logstash 新建文件logstash-elasticsearch.conf 编辑文件最好选择 notepad 打开 必须是 UTF-8 witho 阅读详情

相关推荐

从分立到集成:深入解析Buck电路的核心模块与设计权衡

本文深入解析Buck电路的核心模块与设计权衡,从分立到集成方案的优缺点对比。详细探讨Buck电路的高效能量转换、小型化设计及灵活电压调节能力,并结合实际案例分享分立方案中的PWM生成、反馈环路设计及保护电路优化经验,为工程师提供实用设计参考。

weixin_29306317的博客 225

ELK日志分析系统搭建

奶妈级ELK日志分析系统搭建

mwx17630337353的博客 2093

多孔材料吸附性质模拟程序RASPA的离线和在线安装方法

RASPA-2.0是今年美国西北大学教授Randall Q. Snurr等人开发的针对于MC,MD,分子力学优化等用途的程序,相比于之前开发的MUSIC软件,RASPA的功能更加齐全,操作更加简便,可以在MC的吸附过程中考虑骨架的柔性,也可以想MUSIC一样先制作积分格点(music中的map)。 A、离线安装(centos为例): (1)、安装之前要检查一下是否装了automake,

youyno的博客 1万+

ELK超详细配置

一、ELK日志分析系统简介 ELK日志分析系统是Logstash、Elasticsearch、Kibana开源软件的集合,对外是作为一个日志管理系统的开源方案,它可以从任何来源、任何格式进行日志搜索、分析与可视化展示 1.1、ELK日志分析系统组成 elasticsearch(es):通过搭建群集;存储日志数据,索引日志数据 logstash :收集日志,收集到了后给es存储 kibana :视图形式展现日志信息,更加人性化 1.2、日志处理步骤 1.将日志进行集中化管理 2.将日志格式化(Logstash

weixin_47403060的博客 1万+

矢量网络分析仪(矢网)组成和原理简介

一、概述 矢量网络分析仪是一种常见的射频测量仪器,主要用来测量高频器件、电路及系统的性能参数,如线性参数、非线性参数、变频参数等。 1.1 分类 矢量网络分析仪一般以频率来划分,截止频率越高,价格也越贵; 根据测试端口的数量可分为:双端口、 3 端口、 4 端口、 6 端口; 常见的厂家有:美国的安捷伦( Agilent)、德国的罗德与施瓦茨( R&S) , 国内的有南京普纳和中电 41 所。 1.2 常用功能 常用的测试器件有:功分器、合路器、滤波器、衰减器、天线、电缆、放大器、混频器、双工器、耦

大音希声 5万+

【回归预测】GRNN广义回归神经网络-MATLAB

广义回归神经网络(GRNN)是一种基于径向基函数(RBF)的神经网络模型,主要用于非线性回归任务。与传统的回归分析方法相比,GRNN具有更强的非线性映射能力和学习速度,能够快速逼近复杂的非线性关系。输入层、模式层、求和层和输出层。输入层接收输入数据,模式层通过径向基函数将输入映射到高维空间,求和层对模式层的输出进行加权求和,最后输出层生成预测结果。GRNN的核心思想是利用高斯核函数计算输入与训练样本之间的相似度,然后根据相似度加权平均得到预测值。

2303_77200324的博客 1093

2023 年值得关注的 6 个开源日志管理工具

公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !日志管理包含日志数据存储、处理、分析和可视化,通过利用日志管理工具,可以监控性能趋势、解决问题、检测异常并优化整体系统性能。近年来,开源日志管理解决方案在大家寻求灵活且经济有效的方式来管理现代系统典型的大量日志数据时,获得了显著的关注。这些工具为商业产品提供了有力的替代方案,使各种规模的企业都能有效地管理日志数据。在...

easylife206的专栏 2976

避坑指南:STM32CubeMX安装后,你的第一个工程为什么中文全是乱码?

本文详细解析了STM32CubeMX安装后中文乱码问题的根源及解决方案。从诊断乱码现象到分析编码冲突背景,提供了新项目UTF-8化、旧项目GBK兼容及版本降级等多种实用方案,帮助开发者彻底解决这一常见问题。

weixin_30699955的博客 475

ELK日志系统的搭建

ELK日志系统搭建

adminstate的博客 3203

【华为OD技术面试真题 - 技术面】- python面试题(1)

华为OD面试技术面准备指南 华为OD面试技术面常见问题解答 华为OD面试技术面经验分享 华为OD面试技术面注意事项 华为OD面试技术面攻略 华为OD面试技术面模拟题目与解析 华为OD面试技术面知识点梳理 华为OD面试技术面常考

算法大师! 5537

UNet改进(54):当医学图像分割遇上频域学习与自监督

本文提出了一种改进U-Net的方法,通过频域增强模块和代理任务模块提升医学图像分割性能。频域增强模块在傅里叶空间对特征图进行可学习的频率调制,重点增强高频细节特征;代理任务模块通过图像重建约束编码器保留关键信息。两个模块协同工作,在仅增加5%参数量的情况下,形成空间域、频域和重建约束三条互补的信息路径。该方法特别适用于需要精细边缘分割的医学图像任务,预期能提升5%-10%的边缘分割精度,在小样本场景效果更显著。部署时可移除代理任务模块,不影响推理效率。未来可探索空间自适应频域调制和更丰富的代理任务设计。

2501_91516851的博客 228

ELK日志系统环境搭建

近期由于项目需求,需要建立一套日志聚合系统,采用经典的ELK(logstash =》elasticsearch =》kibana)日志系统架构,本文则是记录相关elasticsearch\logstash\kibana\filebeat等环境的安装过程!说明:数据流走向:filebeat => logstash => elasticsearch => kibana组件启动顺序:elasticsearch => logstash => kibana (ELK名称的来源?

2401_85131673的博客 720

华为OD新系统机试真题 - 端口流量统计

华为OD机试新系统真题【端口流量统计】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统4月26号机试真题【端口流量统计】。

qq_45776114的博客 766

springboot集成Elk做日志系统(一) 环境搭建

本系统采用springboot+springcloud+gradle构建, 日志采用logback进行采集, 一、ELK 介绍 ELK是三个开源软件的缩写,分别表示:elasticsearch、logstash、kibana Elasticsearch、Logstash、Kibana作用 Elasticsearch: 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等 ,用于存储日志信息 Logstash: 日志

qq_35146059的博客 2915

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Linux 环境 离线 ELK Stack搭建分布式日志系统搭建宝典

文章目录使用模块功能简介安装包下载HeadingHeadingHeadingHeading 使用模块功能简介 Filebeat+Logstash +Kibana+Elasticsearch+Kafka Filebeat轻量型日志采集器。Filebeat 内置有多种模块(auditd、Apache、NGINX、System、MySQL 等等),可针对常见格式的日志大大简化收集、解析和可视化过程...

指尖疯客的博客 723

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【产品环境】使用ELK搭建日志系统

为什么80%的码农都做不了架构师?>>> ...

weixin_34358092的博客 277

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

测试开发之路之开发环境搭建(一)ELK日志系统搭建教程

在复杂的企业应用服务群中,记录日志方式多种多样,并且不易归档以及提供日志监控的机制。无论是开发人员还是运维人员都无法准确的定位服务、服务器上面出现的种种问题,也没有高效搜索日志内容从而快速定位问题的方式。因此需要一个集中式、独立的、搜集管理各个服务和服务器上的日志信息,集中管理,并提供良好的UI界面进行数据展示,处理分析。得此:ELK提供一套开源的解决方案,能高效、简便的满足以上场景。ELK分别是Elasticsearch、Logstash、Kibana三个开源框架缩写。

测试开发成长之路 979

ELK 日志采集使用

ELK 即 Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统,在目前这种分布式微服务系统中,通过 ELK 会非常方便的查询和统计日志情况.

优快云博客技术,java高级工程师,业务层架构师,高级管理认证,毕业设计可以联系我 2673

【Golang 实战 ELK 日志系统全流程教程(三):ElasticSearch和kibanna环境搭建】

本文介绍如何搭建Elasticsearch和Kibana环境来构建Go应用的日志系统。主要内容包括: 使用Docker Compose部署Elasticsearch 9.4.1和Kibana 9.4.1,确保版本一致 配置单节点Elasticsearch环境,关闭安全认证以简化本地开发 重点说明关键配置项:单节点模式、JVM内存限制、Kibana连接ES的服务名等常见误区 提供详细的环境验证步骤,包括ES健康检查、Kibana访问和日志查看 最后通过手动写入一条模拟的Go应用日志,确认整个链路可正常工作 文

写写代码做做饭 5848

ELK分布式日志系统的搭建以及使用

ELK的组成 ELK是elasticsearch、logstash、kibana三个开源框架的首字母简写,logstash负责采集日志文件并写入elasticsearch集群,kibana是从elasticsearch集群快速查询日志的客户端; 下载准备 下载elasticsearch,https://www.elastic.co/cn/downloads/elasticsearch; 下载no...

qq_40184563的博客 1056

ELK日志分析平台搭建全过程

一、使用背景     当生产环境有很多服务器、很多业务模块的日志需要每时每刻查看时 二、环境 系统:centos 6.5 JDK:1.8 Elasticsearch-5.5.3 Logstash-5.5.3 kibana-5.5.3 三、安装 1、安装JDK 下载JDK:http://www.oracle.com/technetwork/java/javase/download...

weixin_41676972的博客 353

分布式日志系统搭建-ELK(1)

需求分析            日志是作为线上系统排错的关键,通常我们在本机代码调试的时候,错误会直接打印在控制台上,因此我们才能进行错误的判断。当系统运行在线上的时候,如果单纯的通过捕获异常 ,使用**e.printStackTrace()**进行打印肯定是不行的。因为其他的运行信息或者...

qq_36676682的博客 503

ELK日志系统介绍

1.为什么要用ELK系统: 当我们的系统发生故障时,我们需要登录到各个服务器上,使用 grep / sed / awk 等 Linux 脚本工具去日志里查找故障原因。 在没有日志系统的情况下,首先需要定位处理请求的服务器,如果这台服务器部署了多个实例,则需要去每个应用实例的日志目录下去找日志文件。 每个应用实例还会设置日志滚动策略(如:每天生成一个文件),还有日志压缩归档策略等,等数据过期之...

林老师带你学编程 1295
上一篇: .Net版本 递归生成多级菜单
下一篇: Net使用Msbuild工具来编译你的项目
_徐林
博客等级 码龄9年 6粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值