一、介绍和基本安装
1、Grafana介绍
Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。
官网地址:https://grafana.com/
官方包下载地址:https://grafana.com/grafana/download
官方文档:https://grafana.com/grafana
2、Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:
1) 展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
2) 数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
3) 通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
4) 混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
5) 注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
6) 过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。
3、rpm包安装
1)安装依赖
yum install initscripts fontconfig
yum install freetype
yum install urw-fonts
2、安装Grafana
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.2.2-1.x86_64.rpm
sudo yum install grafana-enterprise-8.2.2-1.x86_64.rpm
4、二进制安装grafana
#下载二进制包
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.2.2.linux-amd64.tar.gz
# 解压二进制包
tar -zxvf grafana-enterprise-8.2.2.linux-amd64.tar.gz
# 移动安装包
mv grafana-8.2.2 /usr/local/grafana
# 创建启动用户
useradd -s /sbin/nologin -M grafana
# 创建数据目录
mkdir /usr/local/grafana/data
mkdir /usr/local/grafana/log
# 修改安装目录权限
chown -R grafana:grafana /usr/local/grafana/
5、修改配置文件
# 配置为实际的目录
vim /usr/local/grafana/conf/defaults.ini
[paths]
data = /usr/local/grafana/data
logs = /usr/local/grafana/log
plugins = /usr/local/grafana/data/plugins
provisioning = /usr/local/grafana/conf/provisioning
6、把grafana-server添加到systemd中
# 新增 grafana-server.service 文件,使用systemd来管理grafana服务
vim /etc/systemd/system/grafana-server.service
[Unit]
Description=Grafana
After=network.target
[Service]
User=grafana
Group=grafana
Type=notify
ExecStart=/usr/local/grafana/bin/grafana-server -homepath /usr/local/grafana
Restart=on-failure
[Install]
WantedBy=multi-user.target
7、启停并设置开机启动
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server
8、打开grafana的web页面
grafana已经安装完毕。默认情况下,grafana-server会启动3000端口,我们使用浏览器打开grafana页面,然后输入默认的账号密码 admin/admin登录。
9、添加数据源
grafana虽然已经安装好了,但是这个时候还没有数据,没办法作图。下面我们把grafana和prometheus关联起来,也就是在grafana中添加添加数据源。
按照上图示例添加数据源之后,点击save & test就可以了。
10、添加自带的示例图表
按照上面的指导添加数据源之后,我们就可以针对这些数据来绘制图表了。grafana最人性化的一点就是拥有大量的图表模板,我们只需要导入模板即可,从而省去了大量的制作图表的时间。
目前我们的prometheus还没有什么监控数据,只有prometheus本身的数据,我们看下这些prometheus本身数据图表是怎样的。
在添加数据源的位置上,右边的选项有个Dashboards的菜单选项,我们点击进去,然后导入prometheus2.0
二、使用Node Exporter采集主机运行数据
1、使用node-exporter来收集主机的性能信息,然后在grafana中展示。
与传统的监控zabbix来对比的话,prometheus-server就像是mysql,负责存储数据。只不过这是时序数据库而不是关系型的数据库。数据的收集还需要其他的客户端,在prometheus中叫做exporter。针对不同的服务,有各种各样的exporter,就好比zabbix的zabbix-agent一样。
这里为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。我们可以使用Node Exporter。Node Exporter同样采用Golang编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。可以从https://prometheus.io/download/#node_exporter 获取最新的node exporter版本的二进制包。
# 下载node exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
tar -xf node_exporter-1.2.2.linux-amd64.tar.gz
# 新建一个目录专门安装各种exporter
mkdir -p /usr/local/prometheus_exporter
mv node_exporter-1.2.2.linux-amd64 /usr/local/prometheus_exporter/
cd /usr/local/prometheus_exporter/
ln -s node_exporter-1.2.2.linux-amd64// node_exporter
2、启动node exporter
# 直接打开node_exporter的可执行文件即可启动 node export,默认会启动9100端口。建议使用nohup来启动
# 建议使用nohup后台运行
nohup /usr/local/prometheus_exporter/node_exporter/node_exporter >/dev/null 2>&1 &
3、加入开机启动
在 /etc/rc.local 加入上面的启动命令即可
echo "##node exporter" >> /etc/rc.local
echo "nohup /usr/local/prometheus_exporter/node_exporter/node_exporter >/dev/null 2>&1 &" >> /etc/rc.local
4、配置Prometheus,收集node exporter的数据
可以看到node exporter启动后也就是暴露了9100端口,并没有把数据传到prometheus,我们还需要在prometheus中配置,让prometheus去pull这个接口的数据。
编辑prometheus.yml文件,增加后面4行
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
#采集node exporter监控数据
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
然后重启prometheus,打开prometheus页面查看是不是有对应的数据了。
在prometheus的web界面看到这个节点是up的状态了,接下来我们在grafana中添加对应的模板。
5、导入grafana模板,数据展示
在导入界面,我们输入模板的编号,这里我使用的是9276号模板,如要使用其他的模板,请到grafana的官网去查找 https://grafana.com/dashboards
暂无评论内容