2017年11月25日 星期六

Windows Subsystem for Linux 脫離Beta

Windows Subsystem for Linux脫離Beta惹

What’s new in WSL in Windows 10 Fall Creators Update

Windows 10版本更新至1709

>更新...
>更新......
>更新.........跑很久

在Windows 10更新版本後,啟用 WSL 不需要再使用開發者模式

控制台\程式集\程式和功能
>開啟或關閉Windows功能
>適用於 Linux 的 Windows 子系統


>啟用後重新啟動系統

Microsoft Store
>Ubuntu
即可直接下載啟用

打開時需要一段時間安裝

然後設置使用者帳號以及密碼

>安裝完成
>lsb_release -a 查看Ubuntu Version
Distributor ID: Ubuntu
Description:     Ubuntu 16.04.3 LTS
Release:           16.04
Codename:       xenial

接著即可直接安裝所需的開發套件,而GUI目前在WSL尚不支援

在WSL上啟用的服務並不會持續在背景執行,當Session皆關閉後即會關閉

重新開啟後,也並不會自動啟動,所以不太適合當作常駐的環境使用

而在WSL下,本機的磁碟會被掛載在/mnt目錄下

很適合Windows開發環境部署測試使用,可以直接以WSL執行所需測試的程式

減少開發環境差異所造成的一些低能問題...

至今我還是很納悶某些人開發環境的配置

之前曾參與的專案有個很莫名的配置↓↓↓

開發機環境(Windows) = 測試機環境(Windows) ≠ 正式機環境(Linux)

常常碰到上頭很臨時的要求部署上新功能

然後開發機和測試機都沒問題,一上正式機就碰釘子,而且屢試不爽

開發測試和正式機環境皆一致當然是最好

但開發機很難更換,畢竟還是會受限於公司會綁定一些軟體僅限於Windows,且內部伺服器大部分皆為Windows Server的時候,也只能照著公司的配置使用。

雖然曾提議將測試機改用Linux環境,卻得到"太麻煩"、"有必要嗎?"等回應

開發環境不先搞好出問題卻又怪東怪西#$%^&*...唉...

至少搭配WSL多少可以減少一些環境差異的變異因子,在開發時就能提早發現

(不過我的還是Windows 7 QQ,公司換新機前我應該早就已經離開了...)

搭配VS Code

在終端機設定加入
"terminal.integrated.shell.windows": "C:\\Windows\\Sysnative\\bash.exe",
即可直接以WSL的shell啟用,取代原先的windows powershell

其餘問題可以在 Microsoft github WSL issues 尋找或提出

2017年11月17日 星期五

Smokeping 簡單使用

SmokePing官方網站

SmokePing 是一個監測網路延遲並且呈現視覺化圖表的開源軟件 開發者為Tobi Oetiker
以下以GCP上的VM環境做安裝,OS為Debian GUN/Liunx 9.2
首先檢查更新並安裝所需工具
sudo apt-get update
sudo apt-get install smokeping
sudo apt-get install curl
至smokeping資料夾目錄底下
cd /etc/smokeping/config.d/
在此需要修改pathnames、Probes、Targets主要的三個檔案

*** pathnames ***

將sendmail註解(在此不使用通知功能)
#sendmail = /usr/sbin/sendmail


使用Fping來做檢測,可在此新增檢查執行的時間間隔或次數的設定
在此每隔300秒為一區間,做10次檢測

*** Probes ***

+ FPing
binary = /usr/bin/fping
offset = 50%
step = 300
pings = 10

+ Curl
binary = /usr/bin/curl
forks = 5
offset = 50%
step = 300

urlformat = http://$host$/
因為一些網路環境比較嚴謹會擋掉封包而ping不到,但我們又需要檢測網站是否穩定
我在這增加了Curl的參數設定,為了可以針對特定port號像是網站的80或8080去監測
urlformat這邊相關設定說明可以查看官方的範例
*** Targets ***
主要設定Smokeping要監控的主機
 probe = Curl
 menu = Top
 title = Network Latency Grapher
 remark = Welcome to this SmokePing website.
 + HTTP
 menu = http
 title = HTTP latency 
 ++ myhost1
 menu = myhost1
 title = HTTP latency for myhost1
 host = myhost1.example
 ++ myhost2
 menu = myhost2
 title = HTTP latency for myhost2
 host = myhost2.example
 ++ myhost3
 menu = myhost3
 title = HTTP latency for myhost3 (port 8080!)
 host = myhost3.example
 urlformat = http://%host%:8080/
依照需要偵測的IP或者網站去設定
如果只需要監控一般網路延遲的話可以不用用到Curl
需要偵測網站特定port號即需要使用Curl
Targets內的設定,+即為用來區別階層以及各個項目
可以同時顯示多個監控結果或是只顯示一個
像是上面例子中HTTP僅為一個分類項目,並無設置監控
在頁面中點開即可看到階層內會有三個項目myhost1~myhost3
menu 為選單上顯示名稱
title 為該監控項目標題名稱
host 要監控的主機
urlformat 要偵測的網頁網址,可自動帶入host參數,這樣之後要更動會比較方便
若不需要直接在前面加上#註解掉即可

火星一日

火星一日 💡 你知道嗎? 火星一日比地球長39分 標籤:天文, 火星, 時間 📖 真相大揭密 火星平均距太陽約2.3億公里,每687地球日繞一圈,等於1.8809地球年(1年320日18.2小時)或669.6個sol。sol是自轉日,長24小...