暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Prometheus监控神器-Grafana实践

笑谈IT 2021-07-25
917

系统环境:CentOS 7.9

Grafana:Grafana8.0.6

项目介绍

之前分享了prometheus的部署实践,及如何使用exporter的一些经验,这次我们继续分享关于Prometheus监控神器中,一个必不可少的组件,就是Grafana

组件介绍
  • Grafana 是什么?


Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

2、数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

3、通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;

4、混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

5、注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;

6、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

  • Prometheus 官方架构图



安装及配置
  • 二进制安装部署

选择对应的版本,我这里下载的是最新的8.0.6版本,地址是:

    https://dl.grafana.com/oss/release/grafana-8.0.6.linux-amd64.tar.gz

    如服务器有访问外网权限,也可直接使用Wget命令来下载

      wget -P opt https://dl.grafana.com/oss/release/grafana-8.0.6.linux-amd64.tar.gz

      将下载好的包进行解压并重命名

        cd opt
        tar -zxvf grafana-8.0.6.linux-amd64.tar.gz
        mv grafana-8.0.6.linux-amd64.tar.gz /usr/local/grafana

        这样我们就可以进入到Grafana目录下检查是否安装成功

          cd usr/local/grafana/bin/
          ./grafana-cli --version
          Grafana CLI version 8.0.6
          • 创建并启用自启动服务

            $  vi usr/lib/systemd/system/grafana-server.service
            [Unit]
            Description=Grafana
            Documentation=http://docs.grafana.org
            After=network.target


            [Service]
            Type=notify
            Restart=on-failure
            ExecStart=/usr/local/grafana/bin/grafana-server -homepath usr/local/grafana
            --config=${CONF_FILE} \
            --pidfile=${PID_FILE_DIR}/grafana-server.pid \
            --packaging=rpm \
            cfg:default.paths.logs=${LOG_DIR} \
            cfg:default.paths.data=${DATA_DIR} \
            cfg:default.paths.plugins=${PLUGINS_DIR} \
            cfg:default.paths.provisioning=${PROVISIONING_CFG_DIR}


            LimitNOFILE=10000
            TimeoutStopSec=20


            [Install]
            WantedBy=multi-user.target
            $ systemctl daemon-reload
            $ systemctl enable grafana-server
            $ systemctl start grafana-server

            Grafana这个组件的默认端口是3000,我们可以通过修改defaults.ini里面的端口参数,去调整端口,这里就不作演示了。

               vi usr/local/grafana/conf/defaults.ini
              http_port = 3000

              防火墙开启3000端口

                firewall-cmd --zone=public --add-port=3000/tcp --permanent
                firewall-cmd --reload
                firewall-cmd --list-ports
                3000/tcp

                检查Grafana服务是否启用

                  $ ps -ef | grep grafana
                  root 2182 1 0 17:02 ? 00:00:02 /usr/local/grafana/bin/grafana-server -homepath /usr/local/grafana

                  检查Grafana服务端口是否处于监听状态

                    ss -nlpt |grep 3000
                    LISTEN 0 128 [::]:3000 [::]:* users:(("grafana-server",pid=2182,fd=8))

                    至此,我们确认服务和端口都没有问题后,就可以通过http://ip:3000来访问我们刚部署好的Grafana了。

                    我们第一次登录的账号密码是admin/admin,在初始登陆时,web会提示我们需要修改密码。

                    登录进来后,我们第一要配置数据源,将我们Prometheus数据源加入到Grafana中来。

                    • 选择"Add your first data source"

                    • 选择"Prometheus"

                            输入Prometheus的URL地址后,在最下方选择“Save&test”,即完成了Prometheus数据源的添加。

                    我们也可以在这里面去调整Grafana从Prometheus里面去获取数据的时间设定以及抓取方式。


                    加入完毕后,我们也可在Configuration—Data sources里面确认。

                    添加常用的监控看板

                    添加监控看板的方式有多种,我们可以使用PromQL表达式去自行的设定,也可通过Grafana的官方Dashboards里面已经制作好的JSON模板直接生成,我们只需在Import里直接输入看板的ID号即可。比如我们之前提及到的Blackbox_exporter看板,ID号:9965;然后还有node_exporter看板,ID号:8919;等等。

                    官方Dashboards地址:

                      https://grafana.com/grafana/dashboards

                      因自动添加看板过于简单,所以次我们演示下怎样去手动添加看板,这也适用于大多数服务器没有互联网的环境

                      下载node_exporter.json,node_exporter.json地址

                        https://grafana.com/api/dashboards/8919/revisions/24/download

                        然后在Greate中选择import,再选择"Upload JSON file",将我们下载好的json文件上传至Grafana

                        这个看板的默认名称是"1    Node Exporter for Prometheus Dashboard CN v20201010"我们也可修改看板的名称,比如我们修改成“node_Exporter”,然后选择我们刚刚添加的Prometheus数据源,点击最后的import。

                                这样,我们就能在Grafana中,可视化的了解node_exporter的实时运行状态


                        文章转载自笑谈IT,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                        评论