运维工具open-falcon的配置

背景

目前运维同事的一些运维工具看jvm的信息比较麻烦,并且还没有历史指标可以监控,于是自己配置了一下。

过程

  1. 像昨天一样安装非root用户的mysql

  2. 参考这个文档:
    http://book.open-falcon.org/zh/quickinstall/graphcomponents.html,后续所有的步骤都是用这个文档中的内容,写得还是挺清楚的。有时不明白的可以加一下QQ群问一下。

  3. git clone https://github.com/open-falcon/scripts.git
    cd ./scripts/
    mysql -h localhost -u root --password="" < dbschema/graph-db-schema.sql
    mysql -h localhost -u root --password="" < db
    schema/dashboard-db-schema.sql

    mysql -h localhost -u root --password="" < dbschema/portal-db-schema.sql mysql -h localhost -u root --password="" < dbschema/links-db-schema.sql
    mysql -h localhost -u root --password="" < db_schema/uic-db-schema.sql

  4. 下载编译好的组件
    我的放在了ns013:/disk2/zhaowei/software/openfalcon/source/of-release-v0.1.0.tar.gz

  5. 在ns013:/disk2/zhaowei/software/openfalcon/source/下mkdir temp

  6. tar -zxvf of-release-v0.1.0.tar.gz到temp中,会有一堆的tar.gz文件

  7. 解压所有的子tar:
    for x in `find ./temp/ -name "*.tar.gz"`;do app=`echo $x|cut -d '-' -f2`; mkdir -p $app; tar -zxf $x -C $app; done 现在的目录结构长这样: ├── agent ├── aggregator ├── alarm ├── dashboard ├── fe ├── gateway ├── graph ├── hbs ├── judge ├── links ├── nodata ├── of-release-v0.1.0.tar.gz ├── portal ├── query ├── scripts ├── sender ├── task ├── temp ├── transfer └── virtualenv

  8. 安装缓图组件

    8.1 安装Transfer:进入/disk2/zhaowei/software/openfalcon/source/transfer mv cfg.example.json cfg.json && ./control start

    8.2 安装Agent: cd ../agent && mv cfg.example.json cfg.json && ./control start

    8.3 安装Graph 安装前先修改一下配置: 11 "rrd": { 12 "storage": "/disk2/zhaowei/software/openfalcon/install/rrd" 13 },

    15 "dsn": "root:yourmysqlpassword@tcp(127.0.0.1:3306)/graph?loc=Local&parseTime=true" 安装和启动:mv cfg.example.json cfg.json && ./control start

    8.4 安装query: cd ../query && mv cfg.example.json cfg.json && ./control start

    8.5 安装Dashboard:这个是一个看图的面板,主要是为了能在浏览器中看到数据图表。

    安装这个需要一下linux的管理员权限装一下python-virtualenv,这一步跳不开。 待运维同事装好后,需要事先配置一下:

直接进入dashboard,执行
virtualenv ./env  
./env/bin/pip install -r pip_requirements.txt


然后修改配置:
vim ./gunicorn.conf  
我的长这样:
workers = 4  
bind = ':8081'  
proc_name = 'falcon-dashboard-opensource'  
pidfile = '/disk2/zhaowei/software/openfalcon/install/pid/pidfile'  
limit_request_field_size = 0  
limit_request_line = 0

再修改./rrd/config.py
vi ./rrd/config.py  
以下是修改的字段:
  GRAPH_DB_PASSWD = "yourpassword",需要改成我们自己的mysql用户密码
 29 BASE_DIR = "/disk2/zhaowei/software/openfalcon/source/dashboard",这里需要改成有权限的绝对路径

最后启动dashboard:./control start

然后就可以在web页面中看到了:
http://host:8081/  
endpoint:{host},再点全局搜索,可以列出所有的指标。  

9.配置java程序的监控
9.1. 下载jmxmon:https://github.com/toomanyopenfiles/jmxmon/releases/tag/v0.0.2 以及解压。注意,执行时需要使用java1.7及以上才行。所以你的服务可以是1.6部署的,但可以换一个用户使用1.7来监控。

  1. 在执行java程序时加上java参数,例如进入LS中,将run/service.sh的启动命令中,加入以下的:
    -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=11234
  2. 回到jmxmon,mv cfg.example.json cfg.json,修改jmx.ports=11234
  3. control start && control tail就可以看到发出来的信息了
  4. 登录dashboard,可以以counter中用jmx搜索,可以看现在的指标了。
  5. 如果有多个jmx端口,可以加多个,以逗号分隔。
  6. 这台机器需要先启动agent,因为jmxmon是向local的agent发数据的。

10.配置resin的监控

  1. 在ns013上面开通hbs,这样别的机器才可以连过来

  2. 我的tomcat在另一台机器上,于是我使用了我的nc056,只需要agent目录就成。

  3. 修改cnf.properties, 其中transfer的需要改成ns013:port,但hostname这个是自己的,写成nc056就可以了

  4. 启动./control start && ./control tail,遇到的问题的获取系统的资源有问题,改成管理员启动也没有用。这个问题没有得到解决

  5. 不过我现在在这台机器上关注的是resin和tomcat的运行的情况。所以机器情况也可以先不看了。

  6. 对于resin:
    修改bin/httpd.sh文件,在args后面加入: args="-Dcom.sun.management.jmxremote.port=19999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
    然后重启就可以了。目前没有做权限控制。

  7. 进入nc056的jmxmon,配置端口为19999,启动:control start && control tail,然后就可以在web页面中可以看到这台机器的19999端口的情况了。


重启

有时候机器会重启,所以先重启一下mysql:

cd /disk2/zhaowei/software/install

./bin/mysqld_safe --defaults-file=/disk2/zhaowei/software/install/my.cnf --user=zhaowei --basedir=/disk2/zhaowei/software/install --datadir=/disk2/zhaowei/software/install/mysqldata/ --pid-file=/disk2/zhaowei/software/install/mysqld.pid

然后一个个执行:

cd /disk2/zhaowei/software/openfalcon/source  
cd agent && ./control start && cd ../hbs/ && ./control start && cd ../transfer && ./control start  && cd ../query && ./control start  && cd ../graph && ./control start  && cd ../dashboard ...  
comments powered by Disqus