参考
1.247365 web 系统建设<一>——nginx+iis实现负载均衡
2.Exceptionless搭配log4net记录日志
3.Exceptionless 本地部署
4.Exceptionless 本地部署 官方文档
源代码:https://git.oschina.net/zhaord/DispersedDemo.git
介绍
通过参考1,可以搭建基本的web负载均衡,在结尾也提出了几个可能的问题,这篇文章,主要是针对其中的一个问题:日志,而给出的解决方案
部署 exceptionless 本地服务
官方的exceptionless 是有存储限制的,所以,最后将 exceptionless 部署到本地,具体部署教程可以看 参考3、参考4
配置 exceptionless log4net
打开web.config文件,修改后的内容如下
<section name="exceptionless"
type="Exceptionless.Log4net.ExceptionlessAppender,Exceptionless.Log4net" />
打开log4net.config文件,配置后的内容如下
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
<file value="App_Data/Logs/Logs.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10000KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" />
</layout>
</appender>
<!--使用 exceptionless-->
<appender name="exceptionless" type="Exceptionless.Log4net.ExceptionlessAppender,Exceptionless.Log4net" />
<root>
<appender-ref ref="RollingFileAppender" />
<!-- 添加 exceptionless-->
<appender-ref ref="exceptionless"/>
<level value="DEBUG" />
</root>
<logger name="NHibernate">
<level value="WARN" />
</logger>
</log4net>
使用 exceptionless
在方法 Application_Start
中添加初始化exceptionless的代码
protected override void Application_Start(object sender, EventArgs e)
{
AbpBootstrapper.IocManager.IocContainer.AddFacility<LoggingFacility>(
f => f.UseAbpLog4Net().WithConfig("log4net.config")
);
ExceptionlessClient.Default.Configuration.ApiKey="API_KEY";
ExceptionlessClient.Default.Configuration.ServerUrl = "http://localhost:8004/";
base.Application_Start(sender, e);
}
注意 ServerUrl 的属性,最后一个的 '/' 一定要有,否则会发送不到采集系统
运行结果
首先部署参考1程序到三个站点,然后分布启动站点,运行nginx,并访问 http://127.0.0.1:10080/account/login.
通过在浏览器访问 exceptionless ,发现以下内容
通过日志,我们可以清楚的看到,访问网站的请求,是被均衡到三个站点上的,并且也实现了三个站点的日志收集,通过exceptionless,可以实现分布式系统的日志收集。
总结
通过学习和使用 exceptionless,我们可以搭建 分布式系统的日志采集,进而统一分布部署的日志内容,可以帮助我们分析日志和查看日志内容。
QQ:1260825783
如有任何关于本文章的问题,都可以通过此QQ联系我!
我的公众号
``