node-exporter是基於prometheus+grafana的程序監控程式
安裝prometheus+grafana
sudo
mkdir /opt/process-exporter
cd /opt/process-exporter/
sudo vim process-exporter.yml
node-exporter.yml配置
yml配置說明
組名選擇器
配置說明:
每一項都process_names提供了用於識別和命名過程的方法。可選name標記定義用於命名匹配過程的模板;如果未指定,則name預設為}。
可用的模板變數:
} 包含原始可執行檔案的基本名稱,即 /proc//stat
} 包含可執行檔案的基本名稱
} 包含可執行檔案的標準路徑
} 包含有效使用者的使用者名稱
} 地圖包含所有因應用cmdline正規表示式而產生的匹配項
}包含過程的pid。請注意,使用pid意味著該組將僅包含乙個程序。
}包含過程的開始時間。與pid結合使用時,這很有用,因為pid會隨著時間的推移而被重用。
不建議使用pid或氣starttime::這幾乎不是您想要的,並且可能會導致基數過高,而prometheus會遇到麻煩。
預設配置:
process_names:
- name: "}"
cmdline:
- '.+'
程序選擇器
每個專案中process_names必須包含乙個或多個選擇(comm,exe 或cmdline); 如果存在多個選擇器,則它們必須全部匹配。每個選擇是乙個字串列表來匹配過程的comm,ar**[0]或在的情況下cmdline,乙個正規表示式應用到命令列。cmdline regexp使用go語法。
對於comm和exe,字串列表是乙個or,這意味著與任何字串匹配的任何程序都將新增到該項目的組中。
對於cmdline,正規表示式列表為and,表示它們都必須匹配。regexp中的任何捕獲組都必須使用該?p選項為捕獲分配乙個名稱,該名稱用於填充.matches。
process_names:
# comm is the second field of /proc//stat minus parens.
# it is the base executable name, truncated at 15 chars.
# it cannot be modified by the program, unlike exe.
- comm:
- bash
# exe is ar**[0]. if no slashes, only basename of ar**[0] need match.
# if exe contains slashes, ar**[0] must match exactly.
- exe:
- postgres
- /usr/local/bin/prometheus
# each must match, and any captures are added to the .matches map.
- name: "}:}"
exe:
- /usr/local/bin/process-exporter
cmdline:
- -config.path\s+(?p\s+)
例如
process_names:
- comm:
- chromium-browse
- bash
- prometheus
- **im
- exe:
- /sbin/upstart
cmdline:
- --user
name: upstart:-user
編輯配置檔案
process_names:
- name: "}"
cmdline:
- 'greenplum'
- exe:
- /usr/local/greenplum-db-6.7.0/bin/postgres
docker方式啟動
docker run -itd --rm -p 9256:9256 --privileged -v /proc:/host/proc -v /opt/process-exporter:/config ncabatoff/process-exporter --procfs /host/proc -config.path config/process-exporter.yml
啟動後登陸**ip:9256看是否可以訪問
在prometheus的配置檔案中新增剛剛配置的位址
- job_name: sdw2-process
static_configs:
- targets: [
'10.0.61.43:9256'
]
put /-/reload
post /-/reload
或者執行命令
ps -ef |
grep prometheus
kill -hup [pid]
登陸prometheus在target中檢視是否成功連線
import dashboard 匯入模板。模板 id 249,至此就配置完成了,開啟配置的dashboard看是否有對程序的監控
使用ps命令搜尋機器上的greenplum節點
gpadmin 2699 1 0 13:26 ? 00:00:00 /usr/local/greenplum-db-6.7.0/bin/postgres -d /data/data2/primary/gpseg3 -p 6001
gpadmin 2700 1 0 13:26 ? 00:00:02 /usr/local/greenplum-db-6.7.0/bin/postgres -d /data/data1/primary/gpseg2 -p 6000
gpadmin 2703 1 0 13:26 ? 00:00:02 /usr/local/greenplum-db-6.7.0/bin/postgres -d /data/data2/mirror/gpseg1 -p 7001
gpadmin 2704 1 0 13:26 ? 00:00:00 /usr/local/greenplum-db-6.7.0/bin/postgres -d /data/data1/mirror/gpseg0 -p 7000
配置process-exporter
process_names:
- name: "}"
cmdline:
- 'postgres'
- exe:
- /usr/local/greenplum-db-6.7.0/bin/postgres -d /data/data2/primary/gpseg3 -p 6001
- /usr/local/greenplum-db-6.7.0/bin/postgres -d /data/data1/primary/gpseg2 -p 6000
使用docker命令停止process-exporter的容器,因為有–rm容器會自動銷毀,重新run乙個process-exporter 使用GraphEdit使用
1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....
MySQL使用學習使用 mysql學習使用
1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...
學習使用CSDN markdown使用
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...