安装及配置
这里使用 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