Syslog 顧名思義就是系統日誌或系統記錄,是一種透過 TCP/IP 來傳遞記錄訊息的標準,很多網路設備像 Router、Switch、Firewall…等都有支援,它的運作模式就是架設一個 syslog 伺服器等待接收記錄訊息,在 ELK 就有 syslog 插件可以用,只不過收到的記錄訊息格式都不太一樣,每台網路設備都會自定義自己的記錄格式,收到記錄之後要有 pretty printing 的話,我們就要仰賴 Logstash 了。
[料理佳餚] ELK 搭檔 NXLog 收集 IIS Log
IIS Log 是記錄 HTTP Request 的重要記錄檔,我們可以從 IIS Log 中得知 Client 端對 Server 端的所有 HTTP 要求,IIS Log 一般以檔案的型式儲存在磁碟中,因此要收 IIS Log 就用監看檔案的方式,只要檔案有異動就把異動的部分往 Elasticsearch 送,這樣不僅每次傳輸的資料量不大,而且快又即時,接下來我們來看看 ELK 怎麼來達成這件事情。
[食譜好菜] 使用 ASP.NET SignalR 實現主動式即時廣播通知
ASP.NET SignalR 技術出來好幾年了,一直沒有為它發個文,網路上也有很多相關的文章,大家 Google 一下就很多了,我參考了黑大的文章,而黑大的文章裡面也有連結到其他兩位專家的文章,大家可以去看看,我這邊僅記錄自己實作過程及心得。
[料理佳餚] 為 Elasticsearch 加上 Shield 身份驗證的安全防護
- 1310
- 0
- Elasticsearch
如果我們希望為 Elasticsearch 加上登入的身份驗證,透過帳號密碼來控制存取服務的權限的話,有一個 Plugin 可以用 - Shield,裝起來之後不用做太多設定它就能運作了,而且還可以做 IP 的過濾、整合 AD,如果角色不夠用還可以自訂角色,做更彈性的權限控制。
[料理佳餚] 在 CentOS 7 與 ELK(Elasticsearch + Logstash + Kibana)初次相遇
ELK(Elasticsearch + Logstash + Kibana) 是這兩三年來很火紅的日誌收集分析平台,尤其是 Logstash 的部分,提供了各式各樣的日誌收集及輸出的 Plugin,搭配 Elasticsearch 這種分散的索引搜尋系統,收集日誌只是一塊蛋糕而已,如果你有收集大量日誌的需求可以考慮用 ELK,畢竟 Splunk 很貴啊啊啊!
[料理佳餚] FluentValidation + Autofac.Extras.DynamicProxy2 實現參數條件檢查的 AOP 攔截器
之前在[料理佳餚] 使用 Decorator Pattern 分離參數檢查與資料處理這篇文章有提到我想要用 AOP 的方式來把參數的條件檢查分離出來,當時還沒有什麼好的做法,但是在遇到 FluentValidation 之後有了新的想法,只要搭配 Autofac 及 Autofac.Extras.DynamicProxy2 就可以實現參數條件檢查的 AOP 攔截器。
[料理佳餚] 讓 FluentValidation 把參數的檢查條件口語化
先前在[料理佳餚] 使用 Decorator Pattern 分離參數檢查與資料處理這篇文章裡分享過如何分離參數的條件檢查及資料處理的邏輯,讓程式碼的職責可以更聚焦,不過那篇文章裡面參數檢查條件的範例部分是單純用 if...else... 兜出來的,看起來有點「阿雜」。
有一個 Package 叫 FluentValidation,它可以將單純用 if...else... 兜出來的參數檢查條件,用口語化的方式來表達,讓程式碼可以更貼進人的閱讀習慣。
[料理佳餚] 在 CentOS 7 上安裝 Go Git Service 並透過 LDAP 接 AD 驗證使用者
[料理佳餚] 使用 Entity Framework Code First 應該要知道的 TPH、TPT、TPC
- 2812
- 0
- Entity Framework
- 2016-05-08
在[料理佳餚] Entity Framework Code First 不算太難用這篇有講到要使用 Code First 不難,難的地方是不要讓 Entity Framework 拿我們設計出來的 Model 去建出低效的資料表。
要避免 Entity Framework Code First 建出低效資料表,了解 TPH、TPT、TPC 這三種資料表被建立的方式是必須要做的功課之一。
[料理佳餚] Entity Framework Code First 不算太難用
- 18441
- 0
- Entity Framework
- 2016-06-28
Entity Framework(本篇討論的是 6.x 版本)基本上有 3 種 ORM 的方式:Database First、Model First、Code First。
一般人對 Code First 的恐懼是它必須透過程式碼來控制 Table Schema、Field Attribute…等來完成資料庫的設計,比起用 SSMS 透過 GUI 來操作顯得不是很方便。