zoukankan      html  css  js  c++  java
  • ELK集群之grafana(8)

    Grafana的安装和读取ES数据
    模拟es数据产生sjgtest.py
    import time
    import datetime
    from elasticsearch import Elasticsearch
    es = Elasticsearch(['http://elastic:sjgpwd@192.168.238.90:9200', 'http://elastic:sjgpwd@192.168.238.92:9200'])
    for i in range(10000):
      curtime=datetime.datetime.utcnow().isoformat()
      body = {"name": "sjg{0}".format(i), "@timestamp": curtime, "sjgcount": i}
      es.index(index='sjg', body=body)
      time.sleep(1)
      print('insert {0}'.format(i))
    
    Kibana创建sjg索引查看
    
    Grafana安装
      yum localinstall grafana-6.7.2-1.x86_64.rpm  -y
    
    启动Grafana
      systemctl restart grafana-server
      访问:端口是3000,默认是admin/admin,密码需要更改
    汉化https://github.com/tghfly/grafana-chinese
    Grafana添加数据源sjges
      url: http://192.168.238.90:9200
      选择基础认证
      索引和时间配置
    
    最简单的count图创建
    Grafana的安装和读取ES数据
    启动Grafana
      systemctl restart grafana-server
      访问:端口是3000,默认是admin/admin,密码需要更改
    汉化https://github.com/tghfly/grafana-chinese
    Grafana添加数据源sjges
      url: http://192.168.238.90:9200
      选择基础认证
      索引和时间配置

    添加数据源

    最简单的count图创建

     添加绘制饼图工具:

    psutil工具安装
    yum install gcc python3-devel -y
    pip3 install psutil==5.7.0 -i https://mirrors.aliyun.com/pypi/simple/
            Grafana多维度展示Nginx日志分析-线图
    logstash配置
    input {
      beats {
        host => '0.0.0.0'
        port => 5044
      }
    }
    filter {
      json {
        source => "message"
        remove_field => ["message"]
      }
    }
    output {
      elasticsearch {
        hosts => ["http://192.168.238.90:9200", "http://192.168.238.92:9200"]
        user => "elastic"
        password => "sjgpwd"
        index => "sjgjson-%{+YYYY.MM.dd}"
      }
    }
    
    filebeat配置
    filebeat.inputs:
    - type: log
      tail_files: true
      backoff: "1s"
      paths:
          - /var/log/nginx/access.json.log
    
    processors:
    - drop_fields:
        fields: ["agent","ecs","log","input"]
    
    output:
      logstash:
        hosts: ["192.168.238.90:5044"]
    
    数据模拟
      while true;do curl 172.17.166.172/sjg666; curl 172.17.166.172/sjg; curl 127.0.0.1; sleep 5; done
      while true;do curl 172.17.166.172/sjg666; curl 172.17.166.172/sjg; curl 39.106.69.56; sleep 5; done
    Grafana多维度展示Nginx日志分析-线图

    Grafana展现-线图

    1. 每分钟日志量展现Kibana上有
    2. IP分布查看term remove_addr_keyword
    3. 状态码分布查看
    4. 请求分布查看

    每分钟日志量展现

     IP分布查看term remove_addr_keywor 可选单位 排序方式 展现方式等 以addr进行分组

    状态码分布查看

     

     ##饼图可选显示样式

    请求分布查看

     Grafana多维度展示metricbeat采集信息

    metricbeat采集系统信息

    cpu load

     ##以hostname分组,显示load1,load5,load15 展示信息输出hostname及field(采集的值的type)

    cpu 负载

     #选择百分比单位

    磁盘使用率

     内存使用率

     流量情况

    #采集为1分钟总带宽值单位bit,所以要/60等于每秒平均带宽*8字节等于1kb。第二次采集到的值为总值的平均值所以要去减去前一次的平均值。展示的为前一次总消耗量的平均值与后一次总平均量的差值。

    nginx每秒访问平均值

     nginx与采集流量类似 都是总的值/60 后一次与前一次结果平均的差为当前nginx访问平均值

  • 相关阅读:
    安装docker
    docker安装完成后测试feisky/nginx:latest 出现问题(Unable to find image 'feisky/nginx:latest' locally)
    负载均衡详细介绍
    docker(一)
    AppCrawer使用(2)
    AppCrawer使用入门(转自https://www.cnblogs.com/alwayswyy/p/7576964.html,感谢原作者)
    获取包名和活动名
    (十八)Collection集合
    (十七)面向对象之内部类
    (十五)final关键字
  • 原文地址:https://www.cnblogs.com/dahuige/p/15067726.html
Copyright © 2011-2022 走看看