dashboard
功能
為使用者展示監控資料
配置檔案
- gunicorn.conf
- workers,dashboard并發程序數
- bind,dashboard的http監聽端口
- proc_name,程序名稱
- pidfile,pid檔案全名稱
- limit_request_field_size,TODO
- limit_request_line,TODO
- rrd/config.py
# dashboard的資料庫配置
DASHBOARD_DB_HOST = "127.0.0.1"
DASHBOARD_DB_PORT = 3306
DASHBOARD_DB_USER = "root"
DASHBOARD_DB_PASSWD = ""
DASHBOARD_DB_NAME = "dashboard"
# graph的資料庫配置
GRAPH_DB_HOST = "127.0.0.1"
GRAPH_DB_PORT = 3306
GRAPH_DB_USER = "root"
GRAPH_DB_PASSWD = ""
GRAPH_DB_NAME = "graph"
# dashboard的配置
DEBUG = True
SECRET_KEY = "secret-key"
SESSION_COOKIE_NAME = "open-falcon"
PERMANENT_SESSION_LIFETIME = 3600 * 24 * 30
SITE_COOKIE = "open-falcon-ck"
# query服務的位址
QUERY_ADDR = "http://127.0.0.1:9966"
BASE_DIR = "/home/work/open-falcon/dashboard/"
LOG_PATH = os.path.join(BASE_DIR,"log/")
Portal
功能
用于設定報警政策
- 維護機器分組
- 配置政策表達式
- 配置政策模版
- 設定機器維護周期
- 配置插件關聯的分組
配置檔案
frame/config.py
# 修改一下資料庫配置,資料庫schema檔案在scripts目錄
DB_HOST = "127.0.0.1"
DB_PORT = 3306
DB_USER = "root"
DB_PASS = ""
DB_NAME = "falcon_portal"
# SECRET_KEY盡量搞一個複雜點的随機字元串
SECRET_KEY = "4e.5tyg8-u9ioj"
SESSION_COOKIE_NAME = "falcon-portal"
PERMANENT_SESSION_LIFETIME = 3600 * 24 * 30
# 如果你使用的是Go版本的UIC,即Fe那個項目,下面的配置就配置成Fe的位址即可,注意端口,Fe的預設端口是1234
# internal是内網可通路的UIC(或者Fe)位址
# external是外網可通路的UIC(或者Fe)位址,即使用者通過浏覽器通路的UIC(或者Fe)位址
UIC_ADDRESS = {
'internal': 'http://127.0.0.1:8080',
'external': 'http://11.11.11.11:8080',
}
MAINTAINERS = ['root']
CONTACT = '[email protected]'
# 社群版必須維持預設配置
COMMUNITY = True
# 我們可以cp config.py local_config.py用local_config.py中的配置覆寫config.py中的配置
# 嫌麻煩的話維持預設即可,也不用制作local_config.py
try:
from frame.local_config import *
except Exception, e:
print "[warning] %s" % e
資料庫表
mysql> show tables ;
+-------------------------+
| Tables_in_falcon_portal |
+-------------------------+
| action |
| cluster |
| expression |
| grp |
| grp_host |
| grp_tpl |
| host |
| mockcfg |
| plugin_dir |
| strategy |
| tpl |
+-------------------------+
11 rows in set (0.00 sec)
關系:
程序監控和端口監控配置
- 程序監控
net.port.listen/port=8080 if all(#3) == 0 then alarm()
net.port.listen/port=8081 if all(#3) == 0 then alarm()
如果端口存在,則value為1,不存在則為0
- 端口監控
proc.num/name=ntpd if all(#2) == 0 then alarm()
proc.num/name=crond if all(#2) == 0 then alarm()
proc.num/cmdline=uic.properties if all(#2) == 0 then alarm()
proc.num表示程序數,比如程序名叫做crond的程序,其實可以有多個。支援兩種tag配置,一個是程序name,一個是配置程序cmdline,但是不能同時出現。
cmdline 指定程序啟動的指令
插件監控
在portal dashboard上的hostgroup 裡面打開plugin配置,将腳本放置在agent的plugin目錄,注意,腳本必須有執行權限,命名為
num_script
,num為腳本執行周期,script為腳本名
轉載于:https://www.cnblogs.com/pycode/p/6722406.html