度量驱动开发之Grafana

安装及配置

这里使用 docker 来简化安装配置的复杂性

 

bash

复制代码

FROM ubuntu:14.04.4 MAINTAINER Walter fan (walter.fan@gmail.com) RUN rm /bin/sh && ln -s /bin/bash /bin/sh RUN apt-get -qq update && apt-get -qqy install curl apt-transport-https wget adduser libfontconfig RUN curl -sL https://repos.influxdata.com/influxdb.key | apt-key add - RUN source /etc/lsb-release RUN echo deb https://repos.influxdata.com/ubuntu trusty stable | tee /etc/apt/sources.list.d/influxdb.list RUN wget https://grafanarel.s3.amazonaws.com/builds/grafana_3.1.1-1470047149_amd64.deb RUN dpkg -i grafana_3.1.1-1470047149_amd64.deb RUN echo "deb https://packagecloud.io/grafana/stable/debian/ jessie main" >> /etc/apt/sources.list RUN curl https://packagecloud.io/gpg.key | apt-key add - RUN apt-get -qq update && apt-get -qqy install influxdb grafana ADD startup.sh . ENTRYPOINT ["/bin/sh", "startup.sh"]

  • startup.sh

整理了一份面试笔记包括了:Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题

需要全套面试笔记的【点击此处即可】即可免费获取

bash

复制代码

service influxdb start service grafana-server start influx -execute 'CREATE DATABASE metrics WITH DURATION 6h REPLICATION 1 NAME "default"' while true; do sleep 3600; done

写一个简单的构建, 运行和停止的 fabric 文件

 

less

复制代码

@task def graflux_build(): cmd = "docker build --tag graflux docker/graflux" print(cmd) local(cmd) @task def graflux_start(): grafana_port = 3000 influx_api_port = 8086 influx_web_port = 8083 cmd = "docker run --name local-graflux -d -p %d:3000 -p %d:8086 -p %d:8083 graflux" % (grafana_port, influx_api_port, influx_web_port) print(cmd) local(cmd) @task def graflux_stop(): container_name = "local-graflux" cmd1 = "docker kill %s|| true" % container_name print(cmd1) local(cmd1) cmd2 = "docker rm -v %s || true" % container_name print(cmd2) local(cmd2) @task def influx(): cmd = "docker exec -it local-graflux influx" print(cmd) local(cmd)

执行如下命令即可构建和启动 grafana 和 influx

 

复制代码

fab graflux_build fab graflux_start

Grafana

访问 http://localhost:3000 就可以看到 Grafana 的 页面 初始登录的用户和密码可以从 grafana 中获取

 

bash

复制代码

docker exec graflus cat /etc/grafana/grafana.ini

一般默认的是 admin/admin

 

ini

复制代码

[security] # default admin user, created on startup ;admin_user = admin # default admin password, can be changed before first start of grafana, or in profile settings ;admin_password = admin

首先要配置数据源, 这里就配置默认数据源是 InfluxDB

其后就是写 influxDB SQL 来创建 Dashboard 和 Diagram

 

sql

复制代码

SELECT sum("count") FROM "http.response" WHERE "environment" = 'bts' AND "servicename" =~ /(?i)kanban/ AND $timeFilter GROUP BY time($interval), "method", "path" fill(0) SELECT mean("duration") FROM "http.response" WHERE "environment" = 'bts' AND "servicename" =~ /(?i)kanban/ AND $timeFilter GROUP BY time($interval), "method", "path" fill(none) SELECT sum("count") FROM "http.response" WHERE "environment" = 'bts' AND "servicename" =~ /(?i)kanban/ AND "response.code" =~ /^[0-9][0-9][0-9]$/ AND $timeFilter GROUP BY time($interval), "response.code" fill(0)

在代码中可以做一些切面,调用 influxdb 的API 或程序库,将所需数据写入influxdb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值