Vscode terminal ctrl + p 關閉 quckopen

Vscode Terminal control + p 無法切換前一個命令 常用的 terminal 工具原始設定使用 ctrl + p 熱鍵,切換到上一個命令。 但在 vsocde 裡的 terminal 會變成 quick open 如果想讓熱鍵可以是切到上一個命令可調整 Preferences > Setting > 搜尋框輸入 terminal.intergrated.commandToSkipShell > Add item -workbench.action.quickOpen

November 18, 2024

Loki 使用 Ruler's Record Data 處理大量日誌統計

Loki 環境說明 Loki 版本 2.9.2 Loki 使用 3台 Monolithic mode 的 cluster ring kvstore 使用 memberlist Storage 在 AWS S3 情境說明 目前使用 Loki 記錄 nginx 的訪問日誌, 日誌有點份量之後,Loki 原生的統計函數變得相當吃緊,查詢請求動不動就跑到 CPU 100% 然後 timeout。 嘗試過將機器規格提升到兩台 32 core 的機器,雖然可以感覺到查詢速度有變快,但效果還是非常不理想。 沒人查詢時基本上 CPU 也是整個空閒,相當的浪費資源。 官方文件上有看到 record data 的做法。 基本上是利用 ruler 模組,定期執行統計,記錄到 prometheus 或其它支援的 storage,不用每次都跑一堆計算,可以改拉 prometheus 預算好的資料。 下圖取自 record data 後拉取的資料 (24小時有 272M筆訪問記錄,284GB) Ruler 單機的 Loki 你可以將 rule 規則存放在 Disk 中,直接編輯, 如果是 cluster 可以啟用 rule api 來管理規則,將規則存放到類似 S3 的 storage 供每個節點存取。...

October 31, 2023

Windows rsync (cwRsync) 權限排序不正確

Windows 使用 rsync 引發的權限問題 如果你在 Linux 上使用過 rsync 指令,多少需要瞭解一下檔案權限的問題。 在 Windows 上 Rsync,可以透過一些模擬 Linux API 的指令來實現 這裡用到的是 cwRsync,可以到官網下載 rsync client 純指令版 (rsync-client 是 free 的,其它有些東西可能需要付費,看自己的需求) 這裡列舉幾個我自己在 Windows 上遇到的權限問題 rsync 後的檔案或資料夾,無法開啟或刪除檔案 資料夾安全性顯示 權限排序不正確 跟 null sid 權限問題處理 1. 無法開啟或刪除資料夾 可以試著在執行 rsync 指令時加上參數 --chmod=ugo=rwX -r 來改變檔案的權限 rsync -avz --chmod=ugo=rwX -r <source> <destination> 2. 資料夾安全性顯示 權限排序不正確 跟 null sid 如果權限排序不正確,可以試著在 cwrsync/etc 底下加入 fstab 檔, 設定 noacl 來排除,具體可以參考 refer 連結,範例如下: # /etc/fstab none /cygdrive cygdrive binary,noacl,posix=0,user 0 0 正確權限示意圖(沒有出現 null sid)...

May 3, 2023

Windows OS cd 指令,你應該注意的事 (device 切換)

場景 事情是這樣的, 某天我弄了一個 windows 的 bat 檔,預計使用 rsync 將檔案同步到 windows 本地目錄。 於是搞了個腳本,類似這樣, dirpath 則以環境變數的方式代入。 cd %dirpath% rsync --delete remote local 想了想, 如果前面程序如果失敗,沒有將 dirpath 建立出來, 我這個 rsync –delete 就可怕了,於是加了一行判斷 cd 失敗就終止。 cd %dirpath% if %ERRORLEVEL% NEQ 0 exit %ERRORLEVEL% rsync --delete remote local 本機測試完後,開開心心的到其它機器去測試。 結果開始噴 rsync delete 一些奇奇怪怪的檔案。 我心裡想 cd 失敗的話, 沒有 pathdir 不是應該會退出程序嗎? 細查後 dirpath 資料夾也有正常建立, 為什麼 cd 不成功也沒有 return error code 呢? 實測 原因是我自己電腦上測試的時候都在 c 碟上面進行, 當涉及 device (c, d 碟) 切換的時候, cd 指令並不會成功。...

April 17, 2023

Systemd Timer 執行秒級排程,可替代 crontab

crontab 每 30 秒執行 大家應該都有用過 crontab 的經驗吧? crontab 每次執行的最小單位就是分鐘,如果遇到秒級需求的任務排程。 很常見到類似底下的 crontab 的設定。 設定上相當方便,不過我們可以認識一下另一種 systemd timer 的作法。 或是你可以想像一下,如果 5秒要執行一次,crontab 會長什麼樣子。 * * * * * dosomething * * * * * sleep 30; dosomething systemd timer 特點 使用 timer 來執行 service,可以避免上一個任務還沒進行完,又開始一個新的任務。 systemd timer jobqueue.service / systemd service file 建立一個 jobqueue.service 設定檔,內容如下: [Unit] Description=Execute jobqueue [Service] Type=simple ExecStart=/bin/bash -c '/usr/bin/date >> /tmp/date.log' 建立完成後重載一下 systemctl daemon-reload 接著當你執行 systemctl start jobqueue.service 時,就會執行一次 ExecStart 的命令...

April 15, 2023

Grafana 備份工具 - grafana-backup-tool

説明 最近剛好要做 Grafana 的資料遷移, 理論上遷移時將 grafana 的 sqlite 一起搬過去應該是沒問題, 但牽涉到版本升級,有點不確定性。 剛好看到一個不錯的工具 grafana-backup-tool,是透過 api 的方式進行備份還原, 正好試用看看,平常備份也可以使用。 情境 Grafana 資料遷移 - 域名為假設域名 原站 - http://grafana.example.com (version: 6.4.3) 新站 - http://new.grafana.example.com (version: 7.3.4) 步驟 一. 安裝 grafana-backup-tool 隨便找一台可以訪問到 Grafana site 的 Linux pip install grafana-backup 二. 建立 API Token 在要備份 與 要還原的 Grafana 都建立 API KEY 三. 設定檔 建立備份目標的設定檔 grafana.json (token 填入上方所建立的) { "grafana": { "url": "http://grafana.example.com", "token": "{YOUR_GRAFANA_TOKEN}", } } 建立還原目標的設定檔 grafana-new.json (token 填入上方所建立的)...

April 1, 2021

Windows 10 設定好用的拼音輸入法

前言 已經好幾年沒使用 Windows 電腦工作了,筆者目前公司工作機又是 Windows OS。 一直沒有在 Windows 上找到好用的拼音輸入法,需要中文輸入的時候整個手殘(兩年前嘗試用拼音輸入法取代注音,我現在連注音都打不好了 XD) 總之前幾天發現了像在 Mac 上一樣好用的拼音輸入法, 跟大家分享一下,如果你剛好需要的話。 微軟注音的拼音輸入法 對比 微軟拼音的拼音輸入法 標題很繞口我知道,不過不是很重要。。。 微軟注音 的拼音輸入法 示意 微軟拼音 的拼音輸入法 示意 功能比較 微軟注音 的拼音輸入法 選字很難選 無法拼音校正 按 Enter 確定 微軟拼音 的拼音輸入法 按空白鍵確定 使用 [ 跟 ] 符號切換待選字 (比上下鍵方便很多) 可連續輸入很多字再空白鍵確定 可以中英文混打,不需切換輸入法 可以輸入頭一個字碼,組合出句子 設定方式 微軟注音 > 漢語拼音 原本的微軟注音的拼音輸入法應該是這樣設定 微軟拼音 拼音輸入法 繁體 設定 主要就是使用 Windows 內建 中國拼音輸入法的拼音,在設定成繁體即可

March 26, 2021