• 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访问平均值

  • 相关阅读:
    git
    redis
    Hexo-butterfly-magicv3.0.1(持续更新中....)
    转发好文章1
    0x07 Nagios Notifications
    0x06 nagios监控状态
    0x05 Nagios Host Check
    0x03 Nagios Plugins介绍
    0x02 Nagios CGI的认证和授权
    0x01 Nagios配置文件
  • 原文地址:https://www.cnblogs.com/dahuige/p/15067726.html
Copyright © 2020-2023  润新知