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

 

posted @ 2021-07-27 20:21  大辉哥  阅读(481)  评论(0编辑  收藏  举报