open-falcon之dashboard\portal说明.md

时间:2021-11-27 19:05:49

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 = 'ulric.qin@gmail.com' # 社区版必须维持默认配置 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为脚本名