Grafana配置

Grafana(https://grafana.com/grafana)是一个可视化的平台监控和分析⼯工具。 xxxx的生产环境通过配置Grafana的Docker实例进⾏监控。 本⽂结合xxxx项目的实际应用,介绍Grafana的基本配置方法。

0. 安装Docker CE和Docker Compose

Docker CE

Ubuntu安装Docker CE请参考:https://store.docker.com/editions/community/docker-ce-server-ubuntu

其它平台安装Docker CE指引请在这里查询。

Docker Compose

Linux安装Docker Compose步骤:

sudo bash -c "curl -L https://github.com/docker/compose/releases/download/1.22.0-

rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose" 

sudo chmod +x /usr/local/bin/docker-compose

更多内容请参考:https://github.com/docker/compose/releases

1. 安装Docker镜像

docker pull kamon/grafana_graphite
安装完后最好查看下镜像列列表:
  docker images

更多内容请参考Docker Hub:https://hub.docker.com/r/kamon/grafana_graphite

2. 配置docker-compose

docker-compose.yml⽂文件内容如下:

version: '2'
services:
    grafana_graphite: 
        build: .
        image: kamon/grafana_graphite 
        container_name: kamon-grafana-dashboard 
        ports:
            - '8000:80'
            - '8001:81'
            - '8125:8125/udp' 
            - '8126:8126'
            - '2003:2003'

        environment:
            - GF_USERS_ALLOW_SIGN_UP=false
            - GF_USERS_ALLOW_ORG_CREATE=false
            - GF_USERS_AUTO_ASSIGN_ORG_ROLE=Read Only Editor 
            - GF_DATABASE_TYPE=mysql
            - GF_DATABASE_HOST=<host>:<port>
            - GF_DATABASE_NAME=<database_name>
            - GF_DATABASE_USER=<user>
            - GF_DATABASE_PASSWORD=<password>

其中, ports配置说明如下:

80:Grafana⽹⻚界面。 
81:Graphite⽹络端口。 
8125:StatsD端⼝。 
8126:StatsD管理端口。 
2003:Graphite数据端口。

environment配置说明如下:

GF_USERS_ALLOW_SIGN_UP:设置为false时表示禁止⽤用户注册/创建用户账号,默认为false;但管理员用户仍然可以从Grafana管理界面创建用户
GF_USERS_ALLOW_ORG_CREATE:设置为false禁⽌用户创建新组织,默认为false。 GF_USERS_AUTO_ASSIGN_ORG_ROLE: 新⽤户将分配给主要组织的角色,默认为Viewer,其他有效选项为Admin和Editor。
GF_DATABASE_TYPE:数据库类型,⽆非就是mysql、postgres或者sqlites。
GF_DATABASE_HOST: 仅适⽤于mysql或postgres,包括ip或主机名和端口,例如,对于Grafana在同一台 主机上运行时MySQL: host = 127.0.0.1 : 3306
GF_DATABASE_NAME: Grafana数据库名称,下述中为是定义为grafana_test。 
GF_DATABASE_USER:数据库用户,不适用于sqlites3。
GF_DATABASE_PASSWORD: 数据库⽤户密码(不适⽤于sqlites),如果密码中包含#或;则必须用3个
  
引号包装它,例如 """ #password; """

注:在conf / grafana.ini中定义的所有选项都可以通过语法使用环境变量来覆盖 GF_<SectionName>_<KeyName>, 上述<host>、<port>、<database_name>、<user>、<password>等 尖括号项请结合实际情况具体配置。

更多的配置可参考http://docs.grafana.org/installation/configuration/

3. Mysql授权GRANT ALL PRIVILEGES

配置mysql

根据docker-compose.yml⽂文件中environment的配置,按照如下配置Mysql即可:

其中,

Host:内⽹网ip,对应environment配置中的‘<host>’。
Username : 对应environment配置中的'<database_name>'。
Password : 对应environment配置中的 '<password>'。 
Database : 对应environment配置中的'<database_name>'。
配置完后你可以⽤用如下命令看看能不不能远程连接数据库:
mysql -h ‘<host>’ -u '<user>' -p

注:当远程接数据库的时候你会发现可能还是会报Can't connect to MySQL server (10060)的错 误,原因有两个:一个是当前用户被mysql服务器拒绝,另外一个原因是3306端口被防⽕墙禁掉,⽆法接到该端口。

登录MYSQL

注:⼀般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。

@>mysql -u root -p 
@>密码

赋予任何主机访问数据的权限

mysql>GRANT ALL PRIVILEGES ON *.* TO '<user>'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

刷新系统权限表

  mysql>flush privileges;

打开防⽕火墙

在“系统偏好设置->安全与隐私->防⽕墙”中打开防火墙。

修改mac下my.cnf配置⽂文件

sudo find / -name my.cnf
nano /usr/local/etc/my.cnf
nano /usr/local/Cellar/mysql/5.7.22/.bottle/etc/my.cnf bind-address = 0.0.0.0

注:my.cnf中有选项bind-address=127.0.0.1,是说mysql server监听的是本地发来的请求,如果是任意主机都可以请求,则写为0.0.0.0,但是这⼜不太安全。监听某ip,指定此ip地址即可,但是要保证mysql的 user中有允许此ip访问,否则不能对数据库操作。

改完配置后重启mysql数据库使之生效:

brew services restart mysql

4.运行docker-compose 执行命令

docker-compose -f docker-compose.yml up

或

docker-compose up

启动docker实例例。

安装完成且正常运⾏行行后,访问service_ip:8000正常的效果如下所示:

注:我的service_ip即本地ip,故我本地访问地址为:http://127.0.0.1:8000/login

初始登录账号/密码为:admin/admin。建议首次登录后立即修改初始账号密码,修改路径如下所示:

5.监控窗⼝配置使用
 

service_ip:8000访问的实际上是grafana的套件,主要需要配置Data Sources与Dashboards两部分。

Data Sources配置

Data Sources主要是配置获取graphite的数据源,配置样例如下:(出于隐私问题,图片要很模糊)

更更多内容可参考:http://docs.grafana.org/features/datasources/graphite/ 

Dashboards配置

可参考:http://docs.grafana.org/reference/dashboard/

猜你喜欢

转载自blog.csdn.net/LYX_WIN/article/details/107949137