Metadata-Version: 1.0
Name: monflux
Version: 0.0.5
Summary: collecting and reporting redis/mysql/nginx metrics , save data to influxdb
Home-page: https://github.com/peablog/monflux
Author: peablog
Author-email: peablog@qq.com
License: MIT License
Description: # 通用应用监控框架
        
        @author Danny0
        
        监控应用并将数据保存到influxdb中, 目前已经实现Redis/Mysql/Nginx监控。
        [influxdb 官方安装文档](http://docs.influxdata.com/influxdb/v1.2/introduction/installation/)
        
        # 安装
        
        ## 源码安装
        
        ```
        git clone https://github.com/peablog/monflux
        python setup.py install
        ```
        
        ## pip安装
        
        ```
        pip install monflux
        ```
        
        # 使用
        
        ## 基础配置
        
        首先在代码中添加influxdb的连接配置:
        ```
        influx_config = {
            "host": "127.0.0.1",
            "port": 8086,
            "username": "",
            "password": "",
            "database": ""
        }
        ```
        
        ## Redis监控
        设置redis连接的配置信息：
        ```
        redis_config = {
            "host": "127.0.0.1",
            "password": "",
            "port": 
        }
        ```
        引入监控类并实例化: 
        ```
        from monflux import RedisMonitor
        RedisMonitor(influx_config, redis_config, "redis_load").start()
        ```
        第三个参数是influxdb保存的measurement
        
        注：需要安装python redis客户端库，可通过`pip install redis`安装
        
        ## Mysql监控
        
        设置Mysql连接的配置信息：
        ```
        mysql_config = {
            "host": "127.0.0.1",
            "username": "",
            "password": "",
            "port": 3306
        }
        ```
        
        引入监控类并实例化: 
        ```
        from monflux import MysqlMonitor
        MysqlMonitor(influx_config, mysql_config, "mysql_load").start()
        ```
        注：需要安装python mysql客户端库，可通过`pip install mysql-python`安装
        
        ## Nginx监控
        
        设置Nginx的配置信息：
        ```
        nginx_config = {
            "url": "http://10.110.95.67/nginx_status",
        }
        ```
        
        引入监控类并实例化: 
        ```
        from monflux import NginxMonitor
        NginxMonitor(influx_config, nginx_config, "nginx_load").start()
        ```
        
        ## 其他
        您可以参考Redis或者Nginx的监控实现来写您自己的插件。  
        具体教程待补充。
        
        # 数据展现
        
        可通过Grafana来展示保存到influxdb中的监控数据。
        mysql配置示例：
        ![](http://img.peablog.com/2017-06-13-14973476197412.jpg)
        
        mysql监控展示效果：
        ![](http://img.peablog.com/2017-06-13-14973477306458.jpg)
        
        您还可以通过influxdata自家的Chronograf来展示，毕竟是influxdata自家的东西，对influxdb的支持应该要好一些。
        
        # 类似工具
        influxdb的开发商influxdata旗下本身已有一款监控工具：Telegraf. 它不仅支持自家的influxdb, 也支持Es、Kafka等其他流行开源工具, 支持的输入插件也非常多。
        但它的使用方式是通过配置文件来实现的，部分配置感觉略复杂。
        
Platform: UNKNOWN
