Grafana官网地址:https://grafana.com/
官方文档:https://grafana.com/grafana
下载安装
wget https://dl.grafana.com/oss/release/grafana-6.5.3-1.x86_64.rpm
sudo yum localinstall grafana-6.5.3-1.x86_64.rpm
配置文件默认位于/etc/grafana/grafana.ini,保持默认即可。
设置开机自启动
启动可以使用service命令
service grafana-server start
也可以使用systemctl命令进行管理
systemctl enable grafana-server
systemctl start grafana-server
默认运行端口为3000
设置iptables
由于我是个人学习,在虚拟机上关闭了防火墙,故不用设置。
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
service iptables restart
默认用户admin,密码admin,第一次登陆后要求修改密码。如下为Grafana的主页面。
Grafana的简单使用
添加数据源
我虚拟机使用docker安装的一个mysql,填写相关连接信息,并测试下连接。
实战篇(grafana+prometheus快速搭建MySql监控系统)
接下来我们需要使用Grafana监控我虚拟机的mysql数据库,并使用可视化的形式展现。
安装Mysqld-Exporter
docker pull prom/mysqld-exporter
创建容器并启动
下载镜像完成之后,需要按照指定的格式把数据库的一些账号与密码以及地址名称等信息传入进入,参考格式如下方命令:
docker run -d -p 9104:9104 -e DATA_SOURCE_NAME="root:123456@(192.168.169.133:3306)/blog" prom/mysqld-exporter
访问出现如下
Prometheus 安装
wget https://github.com/prometheus/prometheus/releases/download/v2.3.2/prometheus-2.3.2.darwin-amd64.tar.gz
tar -zxvf prometheus-2.3.2.darwin-amd64.tar.gz
cd prometheus-2.3.2
./prometheus
如上启动使用默认配置文件 prometheus.yml 启动,默认启动端口9090
也可以使用docker安装
docker run --name prometheus -d -p 9090:9090 \
-v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /tmp/prometheus-data:/prometheus-data \
prom/prometheus
现在,Prometheus 和 mysqld_exporter 服务都已经启动起来了,那么接下来就需要将二者关联起来,让 Prometheus 来定时抓取 Exporter 提供的数据。我们需要修改 Prometheus 的配置文件 prometheus.yml 增加 mysql 相关 exporter job。
$ vim prometheus.yml
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus
- job_name: 'mysql'
static_configs:
- targets: ['http://192.168.169.135:9104/']
labels:
instance: mysql
增加了一个 job_name 为 mysql 的任务,targets 为指向 mysqld_exporter 提供的 Http 接口服务,labels 为该 job 配置一个标签,方便下边 Grafana 页面显示。
修改完成后,重启 Prometheus 服务。此时,我们再次访问 http://localhost:9090/,点击 “Status” 下 “Targets” 可以查看所有的 Targets 了,这里就有默认的 prometheus 和新配置的 mysql 啦!
在Grafana添加数据源的时候,就不是选mysql了。
Type 处选择 Prometheus,URL 处填写 Prometheus 连接地址,因为我们上边服务安装在本地,所以这里填写 http://192.168.169.135:9090/,其他默认即可,填写完毕,点击下方 “Save & Test” 按钮,如果配置成功,会提示 Data source is working 消息。