运维工具open-falcon的配置
背景
目前运维同事的一些运维工具看jvm的信息比较麻烦,并且还没有历史指标可以监控,于是自己配置了一下。
过程
像昨天一样安装非root用户的mysql
参考这个文档:
http://book.open-falcon.org/zh/quickinstall/graphcomponents.html,后续所有的步骤都是用这个文档中的内容,写得还是挺清楚的。有时不明白的可以加一下QQ群问一下。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="" < dbschema/dashboard-db-schema.sqlmysql -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下载编译好的组件
我的放在了ns013:/disk2/zhaowei/software/openfalcon/source/of-release-v0.1.0.tar.gz在ns013:/disk2/zhaowei/software/openfalcon/source/下mkdir temp
tar -zxvf of-release-v0.1.0.tar.gz到temp中,会有一堆的tar.gz文件
解压所有的子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.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来监控。
- 在执行java程序时加上java参数,例如进入LS中,将run/service.sh的启动命令中,加入以下的:
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=11234
- 回到jmxmon,mv cfg.example.json cfg.json,修改jmx.ports=11234
- control start && control tail就可以看到发出来的信息了
- 登录dashboard,可以以counter中用jmx搜索,可以看现在的指标了。
- 如果有多个jmx端口,可以加多个,以逗号分隔。
- 这台机器需要先启动agent,因为jmxmon是向local的agent发数据的。
10.配置resin的监控
在ns013上面开通hbs,这样别的机器才可以连过来
我的tomcat在另一台机器上,于是我使用了我的nc056,只需要agent目录就成。
修改cnf.properties, 其中transfer的需要改成ns013:port,但hostname这个是自己的,写成nc056就可以了
启动./control start && ./control tail,遇到的问题的获取系统的资源有问题,改成管理员启动也没有用。这个问题没有得到解决
不过我现在在这台机器上关注的是resin和tomcat的运行的情况。所以机器情况也可以先不看了。
对于resin:
修改bin/httpd.sh文件,在args后面加入: args="-Dcom.sun.management.jmxremote.port=19999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
然后重启就可以了。目前没有做权限控制。进入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 ...