Wednesday, April 20, 2022

[Golang] 一個簡單範例使用gopacket去解析LLDP封包內容

因為工作上需要查看主機上所收到任何的LLDP封包,故在網上搜尋了一下資料與範例程式碼,組成下列一個簡單範例。

本程式會找出所有在此本機上的Net Devices ( Interface ),並依序收集封包,一旦發現有LLDP則會列印相關資訊在console上。

Saturday, April 16, 2022

[CI/CD] 自建 DroneCI + Gitea + Docker Registry + Docker Registry Web 一次搞定

本篇將提供一個 Docker Compose YAML file 的範例,可產生 DroneCI + Gitea + Docker Registry + Docker Registry Web 的 CI/CD環境

Gitea 是蠻多公司的選擇,所以我選用它。同時,在這個講求效率的開發時代,必須要搭配一個 CI/CD 的平台。Drone CI 這是一套開源的持續整合框架,可以幫工程師節省非常多上版的時間,從測試、包版、image化到部屬全部一條龍服務,而且非常容易上手,易於維護,因此我們選用作為平台。

另外,Docker Registry 這就不用再多說了,而方便查詢Registry的Web可以提供快速與便利的介面來查看在Registry內的Docker Images。

先整理一下 Port Mapping List:

Saturday, April 9, 2022

[Parca]測試 Polar Signals 開源 Parca (基於eBPF 的profiler)

前陣子發現在Github上有個open-source projects: Parca (包含Server & Agent ),扒文了一下,Parca是Solar Signals的一個開源項目。它是持續分析存儲、查詢引擎和一個基於eBPF 的profiler。其目的在通過系統地測量代碼性能將可觀察性空間提升到一個新的水平,使每個人都能夠優化他們的代碼。

Parca 旨在將持續分析技術帶給所有人;其打包了許多開箱即用的功能,包括收集、存儲和提供可用於長期查詢的profiles 的能力— 包括CPU 分析,以確定CPU 執行一段特定代碼所需的時間。相關資源如下: