Posted on

prometheus執行時更新config的方式

參考官方文件的教學如下:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/

Prometheus can reload its configuration at runtime. If the new configuration is not well-formed, the changes will not be applied. A configuration reload is triggered by sending a SIGHUP to the Prometheus process or sending a HTTP POST request to the /-/reload endpoint (when the –web.enable-lifecycle flag is enabled). This will also reload any configured rule files.

而實際的應用方式則是:

  • 第一種,向prometheus進行發信號
    kill -HUP pid
  • 第二種,向prometheus發送HTTP請求
    curl -XPOST http://127.0.0.1:9090/-/reload
    但是會需要先設定--web.enable-lifecycle參數

     template:
        metadata:
          labels:
            ...
            prometheus: rancher-monitoring-prometheus
        spec:
          containers:
          - args:
            - --web.enable-lifecycle
            image: rancher/mirrored-prometheus-prometheus:v2.27.1
            imagePullPolicy: IfNotPresent
            name: prometheus
            ....
Posted on

Dockerfile簡單範例

如何製作docker image

  1. 到docker hub尋找適合的基礎容器或官方提供的映像檔
  2. 自行撰寫需要客製化的部分
  3. 撰寫Dockerfile內容
  4. 執行command line,指向專案資料夾
  5. docker build –tag NAME .

  6. 上傳映像檔至儲存庫

Dockerfile的指令介紹

範例:

  1. FROM: 從某個別人建好的容器開始製作自己的容器。如centos:6.7
  2. ENV: 定義一些變數後面可使用
  3. ARG: 在BUILD IMAGE時可帶入參數
    docker build –build-arg SCRIPT=tmp.js .
  4. WORKDIR: 指定下指令的位置
  5. RUN: 於CONTAINER下指令
  6. COPY: 複製檔案進去
  7. CMD: 最後要開始主程式的指令
  8. ENTRYPOINT:與CMD相同,差在不會被docker run時帶的指令蓋掉,而是相加
Posted on

k8s指令筆記

YAML範本:redis-master-controller.yaml

apiVersion: v1
kind: ReplicationController
metadata:
 name: redis-master
 labels:
  name: redis-master
spec:
 replicas: 1
 selector:
  name: redis-master
 template:
  metadata:
   labels:
    name: redis-master
  spec:
   containers:
   - name: master
     image: kubeguide/redis-master
     ports:
     - containerPort: 6379

建立這個Pod

kubectl create -f redis-master-controller.yaml

查看這個ReplicationController

kubectl get rc

查看現有的Pod

kubectl get pods

查看現有ReplicationController的狀態

 kubectl describe rc frontend
Posted on

在centos裡為nginx安裝rtmp模組

必備模組

  • openssl
  • zlib
  • pcre

安裝步驟

cd /tmp
# 下載並安裝pcre
wget https://ftp.pcre.org/pub/pcre/pcre-8.42.zip
unzip pcre-8.42.zip
tar -zxf pcre-8.41.tar.gz
cd pcre-8.41
./configure
make && make install
# 下載並安裝zlib
cd /tmp
wget https://www.zlib.net/zlib-1.2.11.tar.gz
tar -xzvf zlib-1.2.11.tar.gz
tar -zxf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install
# 下載並安裝openssl
cd /tmp
wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz
tar -xzvf openssl-1.1.0h.tar.gz
tar -zxf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k
./config -fPIC --prefix=/usr
make && make install
# 下載所需的rtmp安裝包
cd /tmp
git clone https://github.com/sergey-dryabzhinsky/nginx-rtmp-module.git
# 下載並安裝nginx
tar -xzvf nginx-1.14.0.tar.gz
useradd nginx # 建立系統使用者
tar zxf nginx-1.12.2.tar.gz
cd nginx-1.12.2
wget https://nginx.org/download/nginx-1.14.0.tar.gz
./configure --user=nginx --add-module=nginx-rtmp-module
make && make install
cd /tmp
rm -f *.tar.gz *.zip

參考資料

Posted on

使用Charles抓取手機網路使用

使用Charles抓取手機網路使用資訊

  1. 將電腦和手機連上同一個WIFI網路
  2. 輸入ifconfig(MAC電腦)取得電腦的內網IP,如下圖可得知內網IP為192.168.1.104
  3. 設置Charles上的Proxy settings

  4. 設置手機上的WIFI的PROXY
  5. 此時即可在電腦上看到手機的網路使用狀況
Posted on

好用的API測試工具 – POSTMAN

軟體介紹


官方下載點 : https://www.getpostman.com/
Chrome 擴充功能版 : 下載連結

Postman 是一個可以模擬 HTTP Request 的工具,其中包含常見的 HTTP 的請求方式,例如: GET 、POST、PUT、DELETE,而它的主要功能就是能夠快速的測試你的 API 是否能夠正常的請求資料,並得到正確的請求結果。

使用帳號

使用帳號去同步設定,可以選擇新創一個帳號或者使用google帳號去同步在不同電腦裡的POSTMAN設定

這樣在不同電腦裡面,使用紀錄或者儲存的Collection等都可以被同步。

發送Request教學

在登入帳號後,按下左上方的+New按鈕,會可以看到一個創建Request的畫面

有些API的網址會有變數,這時可以使用https://api.library.com/:entity/並且藉由下面這樣的設定來取代變數entity

在發送Request時,正確的header資訊非常重要,可在下面這個頁籤做設定

也可以選擇發送的模式是要使用POST或GET

更多詳細的教學請見:官方教學

Pre-request scripts

如果我們希望每一次打出的某個變數能夠不一樣,這時可以撰寫pre-request scripts來達到這個目的,如下圖:

這時可以在傳送的參數裡用{{timestampHeader}}來存取timestampHeader這個變數

把儲存的測試API資料變成文件

在POSTMAN測試的資料可以轉換成精美的HTML API文件

更多資料請見官網

使用Postman API去自動化呼叫API測試

在下面的畫面裡按下『Get API Key』的按鈕可以取得呼叫API測試的密鑰

參考資料

Posted on

使用VSCode繪製UML文件

PlantUML介紹

PlantUML是一個VSCode的插件,可以透過直觀的文字描述產生對應 UML 的模型生成工具,官方網站已經提供了詳細的範例以及說明,相關語法其實不用一開始就先死背,需要時至網站查詢即可,上手難度不大,目前提供下列 UML 模型:

  • 循序圖
  • 用例圖
  • 類圖
  • 活動圖
  • 組件圖
  • 狀態圖
  • 對像圖
  • 部署圖
  • 定時圖

安裝方式,.

  1. 按下插件ICON
  2. 在搜尋名稱打入: PlantUML
  3. 按下install

參考資料

  1. 用筆記也可以管理專案(二):Markdown Preview Enhanced
  2. [TIL] 在 vscode 上面安裝並且使用 PlantUML
  3. PlantUML in a nutshell

Posted on

好用的Markdown線上共筆工具 – HackMD

HackMD介紹

HackMD網站位置:https://hackmd.io/recent

HackMD 是個跨平台的 Markdown 即時協作筆記,可以在電腦、平板甚至是手機與其他人做筆記!
同時也可以透過 Facebook、Twitter、GitHub、Dropbox 登入。
和StackEdit相比,HackMD增加了上傳圖片的功能,將圖片上傳至imgur,我們可以不用煩惱MD文章的圖片要如何處理,並且它非常適合用來做為大型研討會的線上共筆,Agile Summit及JSDC等大型研討會都是使用這個網站來做為線上共筆平台。

功能介紹

官方功能介紹:功能介紹
線上協作時可以設定不同使用者有不同的讀寫權限:

也支援讓所編輯出的文件以投影片的方式做展示:
slide-example
按下右上角的分享裡的簡報模式,便可以以投影片方式展示

語法介紹

這邊有HackMD支援的語法介紹,按下編輯可以看到成果與語法的比較圖
HackMD支援的語法介紹
同樣支援MathJax數學符號功能,UML 圖表,還支援五線譜語法,功能非常強大

更多關於 循序圖 語法 在這裡.
更多關於 流程圖 語法 在這裡.
更多關於 graphviz 語法 在這裡
更多關於 mermaid 語法 在這裡
更多關於 abc 語法 在這裡

Posted on

好用的Markdown線上編輯工具- StackEdit

StackEdit

網址:https://stackedit.io/

StackEdit是一個可以在線上編輯跟預覽 Markdown 文件的工具。除了基本的 Markdown
GitHub Flavored Markdown 格式外,還額外支援 LaTeX 數學表達符號與 UML 圖表支援。登入Google 帳號還能自動跟雲端硬碟同步文件,是一套相當不錯的線上筆記工具!

Markdown 語法

一打開StackEdit,會有一個預設的歡迎頁
歡迎頁裡面使用的所有較常被使用到的Markdown語法展示

標準常用的格式如下:

  1. 斜體:在兩邊加上 *星號* 或是 _底線_
  2. 粗體:在兩邊加上 **兩個星號** 或是 __兩個底線__,也可以用 **星號_底線_**
  3. 刪除線:在兩邊加上 ~~兩個波浪~~
  4. 引言(註解): > 引言內容
  5. 標題:# H1## H2### H3#### H4##### H5###### H6
  6. 超連結:[連結標題](http://網址)
  7. 圖片:![圖片說明](http://圖片網址)

歡迎頁會有打字區與最後效果的對比呈現

中間那條可以選擇變更現在的編輯版面顯示樣式

其他特殊語法

  1. 數學表達式:請參考KaTeX
$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$

會有這樣的呈現

$$
\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.
$$

會變這樣

2. UML diagrams
要畫UML流程圖時,可以直接用文字來畫出圖片,相關語法請參考:Mermaid

```mermaid
sequenceDiagram
Alice ->> Bob: Hello Bob, how are you?
Bob-->>John: How about you John?
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: Bob thinks a long
long time, so long
that the text does
not fit on a row. Bob-->Alice: Checking with John... Alice->John: Yes... John, how are you? ```

會顯示右邊的圖

同步編輯的檔案或匯出成PDF/HTML

按下右上角的Icon,右側會跳出一個選單

我們可以在這邊將檔案同步至Google雲端或者匯出成HTML/PDF檔案

點選左上角的資料夾,則可以開啟許多不同的文件