Prometheus服务器 、 Prometheus被监控端 、 Grafana 、 监控数据库

案例

链接

Prometheus监控服务器

1.1 问题

本案例要求部署prometheus监控服务器,完成以下任务:

  1. 安装监控服务器
  2. 修改配置文件
  3. 编写service文件,管理服务
  4. 查看监控数据

1.2 方案

实验需要2台虚拟机,主机信息如表-1所示。

所有主机系统均为CentOS7,提前配置IP、主机名、系统YUM源。

表-1 实验拓扑结构(网卡名称仅供参考,不能照抄)

image

实验拓扑如图-1所示。

image

图-1

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装监控软件(192.168.4.10主机操作)

1)安装软件(软件包在第二阶段素材prometheus_soft.tar.gz中有提供)。

需要提前将软件拷贝到虚拟机。解压即可使用。

[root@prometheus ~]# tar -xf prometheus_soft.tar.gz
[root@prometheus ~]# cd prometheus_soft
[root@prometheus prometheus_soft]# tar -xf prometheus-2.17.2.linux-386.tar.gz
[root@prometheus prometheus_soft]# ls
[root@prometheus prometheus_soft]# mv prometheus-2.17.2.linux-386 /usr/local/prometheus
[root@prometheus prometheus_soft]# ls /usr/local/prometheus/

2)修改prometheus配置文件。

[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml
static_configs:
- targets: ['192.168.4.10:9090']      
#修改最后一行,将IP地址改为本机IP
[root@prometheus ~]# /usr/local/prometheus/promtool check config \
/usr/local/prometheus/prometheus.yml
#检查配置配置文件是否有语法错误

3)编写服务service文件,使用systemd管理服务。

[root@prometheus ~]# vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus Monitoring System
After=network.target
[Service]
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--storage.tsdb.path=/usr/local/prometheus/data/
[Install]
WantedBy=multi-user.target

#备注:
#--config.file和--storage.tsdb.path都是prometheus这个程序的参数
#可以通过prometheus -h查看这个程序支持哪些参数
#--config.file参数后面指定该程序使用哪个配置文件启动服务
#--storage.tsdb.path参数后面指定该程序将数据存储在哪个目录下

[root@prometheus ~]# systemctl  enable prometheus.service --now
#设置服务器开机自启动服务,并立刻启动该服务

3)设置防火墙、SELinux(如果已经关闭则可以忽略此步骤)。

[root@prometheus ~]#firewall-cmd --set-default-zone=trusted
[root@prometheus ~]#setenforce 0
[root@prometheus ~]#sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config

步骤二:查看监控控制台

1)查看监控主机、监控数据。

使用浏览器firefox或者google-chrome访问http://192.168.4.10:9090。

查看监控主机,点击《Status》--《Targets》查看主机,效果如图-2所示。

image

图-2

查看具体监控数据,点击《Graph》,选择监控数据,如go_memstats_alloc_bytes,点击《Execute》效果如图-3所示。

image

图-3

查看监控数据对应的监控图形,效果如图-4所示。

image

图-4

Prometheus被监控端

2.1 问题

本案例要求配置Prometheus被监控端主机,主要完成以下任务:

  1. 安装被监控端软件
  2. 编写service文件
  3. 修改监控服务器配置文件
  4. 查看监控数据

2.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:部署被控制端export

1)安装软件(192.168.4.11主机操作)。

安装软件,软件在第二阶段素材prometheus_soft.tar.gz中有提供。

提前将软件拷贝到虚拟机中。

[root@node1 ~]# tar -xf prometheus_soft.tar.gz
[root@node1 ~]# cd prometheus_soft
[root@node1 prometheus_soft]# tar -xf node_exporter-1.0.0-rc.0.linux-amd64.tar.gz
[root@node1 prometheus_soft]# ls
[root@node1 prometheus_soft]# mv node_exporter-1.0.0-rc.0.linux-amd64 /usr/local/node_exporter
[root@node1 prometheus_soft]# ls /usr/local/node_exporter  

2)编写服务service文件(192.168.4.11主机操作)。

[root@node1 ~]# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
[root@node1 ~]# systemctl  enable node_exporter --now

3)设置防火墙、SELinux(如果已经关闭则可以忽略此步骤)。

[root@node1 ~]#firewall-cmd --set-default-zone=trusted
[root@node1 ~]#setenforce 0
[root@node1 ~]#sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config

4)修改监控服务器配置文件(192.168.4.10主机操作)。

参考配置文件最后的模板,在文件末尾添加3行新内容,具体内容如下:

[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.4.10:9090']
- job_name: 'node1'                    #监控任务取任意名称
static_configs:
- targets: ['192.168.4.11:9100']    #被监控端主机和端口

[root@prometheus ~]# systemctl  restart prometheus.service

5)查看监控主机、监控数据。

使用浏览器访问http://192.168.4.10:9090。

查看监控主机列表,如图-5所示。

image

图-5

查看主机CPU监控数据,如图-6所示。

image

图-6

3 案例3: grafana可视化监控数据

3.1 问题

本案例要求配置grafana实现数据可视化效果,完成以下任务:

  1. 安装Grafana
  2. 修改grafana配置
  3. 导入可视化模板
  4. 查看监控图表

3.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装部署grafana(192.168.4.10主机操作)

1)安装软件(软件在第二阶段素材prometheus_soft.tar.gz中有提供)

[root@prometheus ~]# cd prometheus_soft/
[root@prometheus prometheus_soft]# yum -y install grafana-6.7.3-1.x86_64.rpm

[root@prometheus prometheus_soft]# systemctl enable grafana-server.service --now
#设置grafana服务为开机自启动服务,并立刻启动该服务

提示:grafana默认启动的是3000端口。

2)重置登录密码

浏览器访问Grafana控制台,http://192.168.4.10:3000

默认用户名和密码都是:admin。

重置密码效果如图-7所示。

image

图-7

附加知识:

有些浏览器问题,可能无法重置密码,如果无法重置密码,则可以设置grafana允许匿名登录,具体操作如下(非必要,不要执行如下操作):

[root@prometheus ~]# vim /etc/grafana/grafana.ini
[auth.anonymous]
enabled = true
org_role = Admin
[root@prometheus ~]# systemctl restart grafana-server.service

步骤二:配置Grafana

浏览器访问Grafana控制台,http://192.168.4.10:3000

1)添加数据源

Grafana可以将数据图形化,那么数据从哪里来呢?

点击《Add data source》,选择从Prometheus获取数据。

image

图-8

填写Prometheus基本信息,效果如图-9所示。

image

图-9

2)导入可视化模板

使用不同的可视化模板就可以将不同的数据进行图形化展示,下面导入prometheus图形化模板,效果如图-10、图-11所示,选择《Prometheus 2.0 Stats》。

image

图-10

image

图-11

查看监控效果如图-12所示。

image

图-12

步骤二:查看被监控主机的系统信息

1)导入主机监控的可视化模板(node_exporter模板)

模板文件在在第二阶段素材prometheus_soft.tar.gz中有提供。添加效果如图-13所示。

image

图-13

2)选择数据源

导入监控主机的可视化模板后,我们就可以查看主机的监控图形了,但是这个图形的数据从哪里获取呢,需要设置prometheus为数据源,效果如图-14所示。

image

图-14

返回Grafana首页,查看监控图形,效果如图-15、图-16所示。

image

图-15

image

图-16

监控数据库

4.1 问题

本案例要求使用prometheus监控MariaDB数据库,完成以下任务:

  1. 安装数据库
  2. 安装数据库exporter
  3. 配置数据库账户和密码
  4. 导入监控模板

4.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装MariaDB(被监控主机192.168.4.11操作)

1)安装软件,启动服务

[root@node1~]# yum -y install mariadb-server
[root@node1~]# systemctl enable  mariadb --now

2)创建数据库账户,配置密码

监控数据库,需要创建一个对数据库有权限的账户并配置密码。

[root@node1~]# mysql
> grant all on *.* to 'jerry'@'127.0.0.1' identified by '123';
> exit

备注:创建用户jerry,该用户可以从本机127.0.0.1登录服务器,该用户的密码为123。

步骤二:安装配置导出器(exporter)

(软件在第二阶段素材prometheus_soft.tar.gz中有提供)

1)安装mysqld_exporter导出器(被监控主机192.168.4.11操作)。

[root@node1 prometheus_soft]# tar -xf mysqld_exporter-0.12.1.linux-amd64.tar.gz
[root@node1 prometheus_soft]# mv mysqld_exporter-0.12.1.linux-amd64 /usr/local/mysqld_exporter
[root@node1 prometheus_soft]# vim /usr/local/mysqld_exporter/.my.cnf
[client]
host=127.0.0.1
port=3306
user=jerry
password=123

备注:创建数据库配置文件.my.cnf,到时mysqld_exporter自动读取配置文件,使用配置文件用的账户和密码信息访问数据库,获取数据库监控信息。

2)编写服务service文件,默认端口为9104(被监控主机192.168.4.11操作)。

[root@node1~]# vim /usr/lib/systemd/system/mysqld_exporter.service
[Unit]
Description=node_exporter
After=network.target
[Service]
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter \
--config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
[Install]
WantedBy=multi-user.target

#备注:
#--config.my-cnf是mysqld_exporter程序的参数,该参数后面指定数据库的配置文件
#可以使用mysqld_exporter -h查看该程序支持哪些参数

[root@node1~]# systemctl enable mysqld_exporter --now 

3)修改监控服务器配置文件(192.168.4.10主机操作)。

参考原文的配置模板,最文件最后手动添加如下3行内容,修改后重启服务。

[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml
scrape_configs:
… …
- job_name: 'mysql'                    #监控任务的名称
static_configs:
- targets: ['192.168.4.11:9104']    #被监控主机IP和端口
[root@prometheus ~]# systemctl restart prometheus.service

步骤三:配置Grafana可视化

1)查看监控主机(浏览器访问http://192.168.4.10:9090)。

查看prometheus是否已经识别到MariaDB数据库主机,效果如图-17所示。

image

图-17

2)访问Grafana导入数据库可视化模板(浏览器访问http://192.168.4.10:3000)。

导入数据库可视化模板,效果如图-18所示。

image

图-18

设置数据源,数据来源于Prometheus,效果如图-19所示。

image

图-19

如果离开监控图形时提示保存监控图形,可以任意输入名称即可,如图-20所示。

image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容