您的位置:首页 > 移动开发

从无到有写一个运维APP(二)

2016-01-31 12:13 239 查看


前言:理论上应该是一周一篇的说,但上一周回湖南浪去了,so~~~~,再者这并不是公司项目,全是自己临时起意,所以业余时间写写~~~更新也许不会太快。
  下面是个人的一些思路以及大概每篇文章的内容,也许并不规范,为了不让这篇文章看起来太干,所以第三部分放一些所谓的干货,通过Python交互elasticsearch,zabbix获取需要的数据并可视化,这也主要是为了后面做准备。
本文内容:  一: 系列文章目录  二: 所谓流程  三: 通过Python查询elasticsearch,zabbix数据(怎么可视化这些数据,另起一篇文章)
(一)系列文章目录

Blog系列文章目录:

 环境设定(一)

  环境配置

  小试牛刀

 流程文档(二)

  具体需求

  具体实现方法

  Python 访问API并简单可视化

 页面设定(三)

  左右滑动菜单

  二级三级导航

  数据保存

 API解析(四)

  angular http方法解析

  数据绑定

  mvc说明

  循环遍历

  {{ret|upper}}管道过滤

  数据获取                  

 数据可视化(五)

  bower安装chart.js

  bower安装Elasticsearch.js

 成品(六)

  全文总结

  细节优化

  代码优化

   v1.0(二 )所谓流程
连接方式:  ***或者内网访问或者公网访问 传输方式:  http协议  JSON格式数据传输
APP基于:  功能实现:AngularJS  UI框架:ionic  其他:JavaScript,H5 服务端API:  Zabbix API  Elasticsearch API  Zabbix API内容:   host --> item --> item data        elasticsearch API内容:   index --> type --> filed   search methods:      search wildcard pattern   聚合                  可视图形:   趋势图   柱状图   饼状图   counts图(显示数量)  环境配置:  SDK,NDK,JAVA,ionic,cordova,node.js,AngularJS  JS下载:bower install chart.js elasticsearch.js,zabbix.js 页面设定:  搜索框   搜索当前显示页面(主机,item,类Kibana搜索框)   左侧滑动页面内容:    日志(elasticsearch)        日志总量走势图(柱状)        访问IP数        各type总量         自定义搜索(可能不在v1.0)          时间          type          搜索字段          过滤条件                               监控(zabbix)                                   主机          监控项(时间选项)        事件          事件项(时间选项)    底部菜单栏:           主页(主要显示页面)              设置(IP,用户名等内容)           收藏(收藏的可视化图形) 数据可视化  chart.js 实现过程  日志(elasticsearch):    请求内容:Request Body search      Query      Size      Fileds                                            Aggregation        sum        value count          待定        访问方法:AngularJS  http get请求 主要功能:    一:通过手机APP实时查看监控情况(趋势图,事件v1.0)    二:通过手机APP实时查看日志情况(日志总量,自定义搜索,常用显示图v1.0)    三:远程执行命令(暂不放在此系列文章内v2.0)

     四:收发邮件(暂不放在此系列文章内v2.0)


(三)Python查询elasticsearch,zabbix数据

    elasticsearch提供现成的Python库,所以就用官方的了,至于其他非官方的也没看出有多好用,就不提了。

安装elasticsearch 库

)
    

然后通过一个实际的例子来说明

比如我们要查询2016年01月31号的nginx的访问日志,并且响应码是404

我想大多数人的索引(index)都是logstash-2016.01.01(具体情况具体说明)

因为是2016年01月31日,所以对应的索引是logstash-2016.01.31

[p]然后在构造查询语句,查询语句如下[code] body = {     "size":10,     "query": {     "filtered": {       "query": {         "query_string": {           "query": "*",           "analyze_wildcard": True         }         },     "filter": {         "bool": {           "must": [             {               "query": {                 "match": {                   "http_status": {                     "query": "404",                     "type": "phrase"                   }                 }               }             },             {               "query": {                 "match": {                   "_type": {                     "query": "nginx",                     "type": "phrase"                   }                 }               }             }           ],           "must_not": []         }       }      }     }   }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: