既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
CREATE USER influx WITH PASSWORD ‘123456’ WITH ALL PRIVILEGES
#查看用户
SHOW USERS
复制代码
创建数据库
#创建数据库
CREATE DATABASE golang123
#查看数据库
SHOW DATABASES
复制代码
打开`/etc/influxdb/influxdb.conf`, 把 [http] 标签下的 auth-enabled 选项值改为 true
[http]
bind-address = “:8086”
auth-enabled = true
复制代码
重启influxdb
systemctl restart influxdb
复制代码
### 第二步: 安装Telegraf
点击Telegraf, 出现弹框, 会有各系统下**Telegraf**的安装方法, 如centos, 输入以下两行命令进行安装
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.6.0-1.x86_64.rpm
sudo yum localinstall telegraf-1.6.0-1.x86_64.rpm
复制代码
安装完后,暂时不要启动,先编辑/etc/telegraf/telegraf.conf,打开StatsD相关注释:
[[inputs.statsd]]
protocol = “udp”
service_address = “:8125”
复制代码
然后,配置InfluxDB的信息:
[[outputs.influxdb]]
urls = [“http://127.0.0.1:8086”]
database = “golang123”
username = “influx”
password = “123456”
复制代码
启动telegraf服务:
systemctl start telegraf
netstat -naup|grep 8125 #确认端口已监听
复制代码
### 第三步 安装Grafana
访问[grafana.com/grafana/dow…]( ) ,查看各系统的安装方法
如果是centos的话,输入以下两行命令
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.0.4-1.x86_64.rpm
sudo yum localinstall grafana-5.0.4-1.x86_64.rpm
复制代码
启动grafana服务
$ systemctl daemon-reload
$ systemctl start grafana-server
$ systemctl status grafana-server
复制代码
设置开机启动
systemctl enable grafana-server.service
复制代码
通过浏览器访问 [http://127.0.0.1:3000]( ) 来登陆grafana的web界面,输入默认的用户名 admin,密码 admin。 点击按钮 Add data source来添加数据源, 如下图所示
| 配置项 | 说明 |
| --- | --- |
| Name | 数据源名称 |
| Type | 数据源类型, 这里我们使用的是InfluxDB |
| URL | 填写InfluxDB对应的API地址即可,如果Grafana跟InfluxDB不在同一台机器,将localhost换成IP即可 |
| Access | API访问方式,一共有Direct和Proxy两个选项。建议选择ProxyDirect: 浏览器直连数据源API,然后由Grafana解析返回的数据Proxy: Grafana后端通过API访问数据源,然后返回给浏览器展示 |
| Database | InfluxDB数据源对应数据库名称 |
| User | InfluxDB数据源账号 |
| Password | InfluxDB数据源密码 |
CentOS7中Grafana配置文件位置是: **/etc/grafana/grafana.ini** CentOS7中Grafana日志文件位置是: **/var/log/grafana/grafana.log**
### 第四步 集成statsd client
先安装`go-statsd-client`
go get github.com/cactus/go-statsd-client
复制代码
再编写代码,收集统计数据
import (
“fmt”
“log”
“time”
"github.com/cactus/go-statsd-client/statsd"
)
func main() {
// 第一个参数是连接地址,
// 第二个参数是statsd客户端前缀,这里我们不要前缀,直接设为""
// 第三个参数是发送数据包的最大时间间隔,这里设为300毫秒
// 第四个参数是数据包最大达到多少时,就发送,这里设为512字节
client, err := statsd.NewBufferedClient(“127.0.0.1:8125”, “”, 300*time.Millisecond, 512)
if err != nil {
log.Fatal(err)
}
defer client.Close()
for {
time.Sleep(300 * time.Millisecond)
if err := client.Timing("get\_article", 100, 1); err != nil {
fmt.Println(err)
} else {
fmt.Println("Your Send operation was successful")
}
}
}
复制代码
### 第五步 创建仪表盘(Dashboard)



**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**
1715556622396)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**