本篇详细部署安装 prometheus 的监控节点。
实验环境
192.168.122.101 主
192.168.122.102 新加节点
[root@pre2 ~]# systemctl stop firewalld
[root@pre2 ~]# setenforce 0
# 解压
[root@pre2 ~]# wget -c https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
[root@pre2 ~]# tar zxf node_exporter-0.18.1.linux-amd64.tar.gz
[root@pre2 ~]# ls
anaconda-ks.cfg node_exporter-0.18.1.linux-amd64.tar.gz
node_exporter-0.18.1.linux-amd64
[root@pre2 ~]# mv node_exporter-0.18.1.linux-amd64 node
[root@pre2 ~]# ls
anaconda-ks.cfg node node_exporter-0.18.1.linux-amd64.tar.gz
移动文件目录位置
[root@pre2 ~]# mv node /usr/local/node_exporter
[root@pre2 ~]# cd /usr/local/node_exporter
[root@pre2 node_exporter]# ls
LICENSE node_exporter NOTICE
[root@pre2 node_exporter]# cp node_exporter /usr/local/bin/
添加为系统服务
[root@pre2 node_exporter]# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
添加至开机自启
[root@pre2 node_exporter]# systemctl daemon-reload
[root@pre2 node_exporter]# systemctl enable node_exporter.service
Created symlink from /etc/systemd/system/multi-user.target.wants/node_exporter.service to /usr/lib/systemd/system/node_exporter.service.
[root@pre2 node_exporter]# systemctl start node_exporter.service
[root@pre2 node_exporter]# netstat -antuple | grep node_exporter
tcp6 0 0 :::9100 :::* LISTEN 0 24837 2247/node_exporter
在 Prometheus 添加相应节点
[root@pre1 ~]# cd /usr/local/prometheus/
[root@pre1 prometheus]# ls
conf consoles LICENSE prometheus relus
console_libraries data NOTICE promtool tsdb
[root@pre1 prometheus]# cd conf/
[root@pre1 conf]# ls
prometheus.yml prometheus.yml.bak
[root@pre1 conf]# vim prometheus.yml
重启 Prometheus 服务
[root@pre1 conf]# promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: 0 rule files found
[root@pre1 conf]# systemctl restart prometheus.service
注意:一定要注意yml文件中的空格缩进
访问 IP 查看 Prometheus
查看 Promrtheus 的服务发现
Grafana 基本介绍
Grafana 是近几年兴起的开源可视化工具,采用 Go 语言所编写,天然支持 Prometheus,不仅如此,Grafana
还支持多种数据源,包括 Elasticsearch,InfluxDB,MySQL,OpenTSDB。我们把 Prometheus 部署好之后,访问并使用了它的 Web 界面,我们可以看到它的 Web界面较为简陋,通常适合查看指标和呈现单个图表,另外它支持的可视化图标类型也有限,所以这个时候我们就需要为 Prometheus 添加一个功能较为全面的可视化平台。
Grafana 基本术语
DataSource(数据源)
在上面我们说到了,Grafana 支持多种数据源,包括但不限于 Prometheus,而数据源通俗来讲就是提供数据的对象,比如 Zabbix,比如 Prometheus
Dashboard(仪表盘)
仪表盘就是一个呈现页面,当我们添加好对应的数据源以后,这个时候就需要实现数据的可视化,在 Grafana 中,可以通过 Dashboard 来组织和管理数据可视化图表
Row(行)
行是 Dashboard 的组成单元,一个 Dashboard 可以包含多个行,而一个行当中又可以展示一种或者多种信息的组合,比如负载状态,内存使用率,磁盘使用率
Panel(面板)
面板我们可以理解为是 Row 展示信息的方式,它支持表格(tables),列表(alert list),热图(heatmap),在Grafana 当中,所有的面板均以插件的形式进行使用
Query Editor(查询编辑器)
查询器的作用是指定获取哪一部分的数据,这个有点类似于 SQL 语句,但我们如果添加的数据源为 Prometheus,那实际上使用的为 PromQL
User(用户)
用户和我们平常登录系统的用户概念一样,Grafana 中包含三种角色,分别为 admin,editor,viewer,read only editor,在这其中,admin 的权限最高,它可以执行如何操作,editor 只能创建 DashBoard,viewer 只能查看DashBoard,read only editor可以修改 DashBoard,但不允许保存
Organization(组织)
在 Grafana 当中,DataSource 与 Dashboard 属于一个组织,每个用户可以拥有多个不同的组织,在不同的组织当中,可以为不同的用户赋予不同的权限需要知道的是,不同组织之间的数据源和仪表板都不同,每当在 Grafana 当中创建一个组织,就相当于开启了一个全新的视图,这时候所有的数据源与仪表盘等内容都要重新去添加和配置
Grafana 安装部署
安装 主节点上
[root@pre1 ~]#wget -c https://dl.grafana.com/oss/release/grafana-6.6.1-1.x86_64.rpm
[root@pre1 ~]# yum install grafana-6.6.1-1.x86_64.rpm -y
修改配置文件
[root@pre1 ~]# cd /etc/grafana/
[root@pre1 grafana]# ls
grafana.ini ldap.toml provisioning
[root@pre1 grafana]# cp grafana.ini grafana.ini.bak
[root@pre1 grafana]# vim grafana.ini
[paths]
# 定义数据存储路径
data = /var/lib/grafana
# 存储数据的时间,默认24小时
temp_data_lifetime = 24h
# 定义日志存储路径
logs = /var/log/grafana
# 定义插件存储路径
plugins = /var/lib/grafana/plugins
# 配置路径
provisioning = conf/provisioning
[server]
# 访问协议
protocol = http
# 监听IP地址
http_addr = 10.0.0.21
# 监听的端口
http_port = 3000
# 定义在浏览器中访问Grafana的全路径
root_url = %(protocol)s://%(domain)s:%(http_port)s/
serve_from_sub_path = false
# 是否记录web请求日志,默认为关闭
router_logging = false
# 前端静态文件的存储路径
static_root_path = public
enable_gzip = true
……
[users]
# 是否允许普通用户登录,默认为允许
allow_sign_up = true
# 是否允许普通用户创建组织,默认为允许
allow_org_create = true
# 如果为true,则自动把新增的用户增加到id为1的组织中,如果为false,则新建用户的时候会新增一个组织 ,默认为true
auto_assign_org = true
# 默认的背景页面,也可以选择light
default_theme = dark
设置开机自启
[root@pre1 grafana]# systemctl enable grafana-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.
[root@pre1 grafana]# systemctl start grafana-server.service
[root@pre1 grafana]# netstat -antuple | grep grafana
tcp 0 0 192.168.122.101:3000 0.0.0.0:* LISTEN 997 25306 2210/grafana-server
进行访问
默认账号:admin
默认密码:admin
第一次登录会让你设置新密码,也可以点击跳过
Grafana添加主机
add data source
选择promethus
写出url 保存
Grafana 添加模板
点击import
导入的是中文版