Centos7安装Grafana对接prometheus监控

一、介绍和基本安装

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中添加添加数据源。
grafana1添加数据源
按照上图示例添加数据源之后,点击save & test就可以了。

10、添加自带的示例图表

按照上面的指导添加数据源之后,我们就可以针对这些数据来绘制图表了。grafana最人性化的一点就是拥有大量的图表模板,我们只需要导入模板即可,从而省去了大量的制作图表的时间。
目前我们的prometheus还没有什么监控数据,只有prometheus本身的数据,我们看下这些prometheus本身数据图表是怎样的。
在添加数据源的位置上,右边的选项有个Dashboards的菜单选项,我们点击进去,然后导入prometheus2.0
图片[2]众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站图片[2]众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站

二、使用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页面查看是不是有对应的数据了。

图片[3]众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站
在prometheus的web界面看到这个节点是up的状态了,接下来我们在grafana中添加对应的模板。

5、导入grafana模板,数据展示

在导入界面,我们输入模板的编号,这里我使用的是9276号模板,如要使用其他的模板,请到grafana的官网去查找 https://grafana.com/dashboards

 

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容