24*7*365 web 系統(tǒng)建設(shè)<二>——統(tǒng)一日志:分布式日志采集系統(tǒng)exceptionless

參考
1.247365 web 系統(tǒng)建設(shè)<一>——nginx+iis實(shí)現(xiàn)負(fù)載均衡
2.Exceptionless搭配log4net記錄日志
3.Exceptionless 本地部署
4.Exceptionless 本地部署 官方文檔

源代碼:https://git.oschina.net/zhaord/DispersedDemo.git


介紹

通過參考1,可以搭建基本的web負(fù)載均衡,在結(jié)尾也提出了幾個(gè)可能的問題,這篇文章,主要是針對(duì)其中的一個(gè)問題:日志,而給出的解決方案


部署 exceptionless 本地服務(wù)

官方的exceptionless 是有存儲(chǔ)限制的,所以,最后將 exceptionless 部署到本地,具體部署教程可以看 參考3、參考4


配置 exceptionless log4net

打開web.config文件,修改后的內(nèi)容如下

  <section name="exceptionless" 
             type="Exceptionless.Log4net.ExceptionlessAppender,Exceptionless.Log4net" />
  

打開log4net.config文件,配置后的內(nèi)容如下

<?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 的屬性,最后一個(gè)的 '/' 一定要有,否則會(huì)發(fā)送不到采集系統(tǒng)


運(yùn)行結(jié)果

首先部署參考1程序到三個(gè)站點(diǎn),然后分布啟動(dòng)站點(diǎn),運(yùn)行nginx,并訪問 http://127.0.0.1:10080/account/login.
通過在瀏覽器訪問 exceptionless ,發(fā)現(xiàn)以下內(nèi)容

圖片.png

通過日志,我們可以清楚的看到,訪問網(wǎng)站的請(qǐng)求,是被均衡到三個(gè)站點(diǎn)上的,并且也實(shí)現(xiàn)了三個(gè)站點(diǎn)的日志收集,通過exceptionless,可以實(shí)現(xiàn)分布式系統(tǒng)的日志收集。


總結(jié)

通過學(xué)習(xí)和使用 exceptionless,我們可以搭建 分布式系統(tǒng)的日志采集,進(jìn)而統(tǒng)一分布部署的日志內(nèi)容,可以幫助我們分析日志和查看日志內(nèi)容。


QQ:1260825783
如有任何關(guān)于本文章的問題,都可以通過此QQ聯(lián)系我!

我的公眾號(hào)

我的公眾號(hào)

``

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 開放源代碼已經(jīng)成為一些大型網(wǎng)站的基本原則。而在這些網(wǎng)站成長(zhǎng)的過程中,一些優(yōu)秀的實(shí)踐經(jīng)驗(yàn)和規(guī)則也出現(xiàn)在他們的結(jié)構(gòu)中。...
    零一間閱讀 1,034評(píng)論 0 4
  • 億級(jí)Web系統(tǒng)搭建:?jiǎn)螜C(jī)到分布式集群 當(dāng)一個(gè)Web系統(tǒng)從日訪問量10萬逐步增長(zhǎng)到1000萬,甚至超過1億的過程中,...
    meng_philip123閱讀 784評(píng)論 1 23
  • 承載量是分布式系統(tǒng)存在的原因 當(dāng)一個(gè)互聯(lián)網(wǎng)業(yè)務(wù)獲得大眾歡迎的時(shí)候,最顯著碰到的技術(shù)問題,就是服務(wù)器非常繁忙。當(dāng)每天...
    XYLY閱讀 1,468評(píng)論 1 48
  • 當(dāng)一個(gè)Web系統(tǒng)從日訪問量10萬逐步增長(zhǎng)到1000萬,甚至超過1億的過程中,Web系統(tǒng)承受的壓力會(huì)越來越大,在這個(gè)...
    莊寧文閱讀 563評(píng)論 1 49
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139