安装brew
brew 是 Mac 下的一个包管理工具,类似于 centos 下的 yum,可以很方便地进行安装/卸载/更新各种软件包,例如:nodejs, elasticsearch, kibana, mysql, mongodb 等等,可以用来快速搭建各种本地环境,程序员必备工具
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
可能卡在Downloading Command Line Tools (macOS Mojave version 10.14) for
Xcode,然后接着就Failed了, Error downloading Command Line Tools (macOS Mojave
version 10.14) for Xcode:因为Xcode的新版本不自动安装Command Line Tools了
提供两个解决方案
- Terminal 运行 xcode-select --install 然后点击安装
- 登录https://developer.apple.com/download/more/ 然后下载 dmg 安装
安装成功,输入brew可以看到提示
安装grafana
最新的稳定版
brew install grafana
最新的不稳定版
brew install --HEAD grafana/grafana/grafana
然后brew tap homebrew/services
可能会一直卡在Updating Homebrew…
提供两种解决方案
- 使用移动4g热点,(速度明显上升)
- 切换为中科大源
https://mirrors.ustc.edu.cn/brew.git cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git cd ~ brew update ```
最后就可以启动了brew services start grafana
并且可以用默认用户和密码admin/admin登陆localhost:3000
准备mysql数据
这里采取jdbc生成数据
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class JdbcTest {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "111111");
Statement stat = con.createStatement();
String sql = "";
for(int i=10;i<100;i++){
sql = gen_sql(i);
System.out.println(sql);
stat.execute(sql);
Thread.sleep(1000);
}
stat.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
private static String gen_sql(int i){
String sql_masterplate = "INSERT INTO grafana_demo (num_value,ts) VALUES (";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String startTime = "2019-12-20 00:00:00";
Date date = null ;
Calendar cal =Calendar.getInstance();
String dateStr = "";
try {
date = sdf.parse(startTime);
cal.setTime(date);
cal.add(Calendar.MINUTE,5*i);
dateStr=sdf.format(cal.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
String sql = sql_masterplate+i+",'"+dateStr+"');";
return sql;
}
}
可以看到生成的数据间隔为五分钟
添加数据源
初次登陆可以直接点击
以后再添加可以在左侧找到
这里以mysql数据源为例
填写连接信息即可,最好创建一个专门的用户给grafana,这里为了方便就不创建了。
接着创建新的dashboard
指定查询的字段即可看到绘制的图像
只要不断有数据写入mysql,就能形成一种动态监测的效果。