标签:环境 常用 enable 组件 开源 时间序列数据 程序 images roc
一、前言Grafana是一个开源指标分析和可视化套件,常用于可视化基础设施的性能数据和应用程序分析的时间序列数据。也可以应用于其他领域,包括工业传感器,家庭自动化,天气和过程控制。但请注意,我们使用Grafana最关心的是如何把数据进行聚合后进行展示。
Grafana支持多种不同的时序数据库数据源,Grafana对每种数据源提供不同的查询方法,而且能很好的支持每种数据源的特性。它支持下面几种数据源:Graphite、Elasticsearch、CloudWatch、InfluxDB、OpenTSDB、Prometheus、MySQL、Postgres、Microsoft SQL Server (MSSQL)。每种数据源都有相应的文档,可以将多个数据源的数据合并到一个单独的仪表板上。
Prometheus是一个开源监控系统,集数据采集、存储与展示为一体,功能十分强大,官网架构图如下
架构图中各模块功能解析:
Prometheus Server:Prometheus Sever是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储及查询
Exporters:Exporter将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server,Prometheus Server通过访问该Exporter提供的Endpoint端点,即可以获取到需要采集的监控数据
Alertmanager:实现prometheus的告警功能
webui:通过grafana来实现webui展示
PushGateway:Prometheus数据采集基于Prometheus Server从Exporter pull数据,因此当网络环境不允许Prometheus Server和Exporter进行通信时,可以使用PushGateway来进行中转。通过PushGateway将内部网络的监控数据主动Push到Gateway中,Prometheus Server采用针对Exporter同样的方式,将监控数据从PushGateway pull到Prometheus Server。
Prometheus从exporters中收取数据并入库,grafana从prometheus中提取数据图表展示
节点:
Node1:192.168.143.130 Prometheus server & grafana
Node2:192.168.143.131 node_exporter
软件版本:
Granafa 5.3.2
Prometheus 2.5.0
Node1:
rpm -ivh grafana-5.3.2-1.x86_64.rpm
tar xzf prometheus-2.5.0.tar.gz -C /usr/local/
vim prometheus.yml
scrape_configs:
- job_name: ‘node2_sys‘
static_configs:
- targets: [‘192.168.143.131:9100‘]
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus
chown -R prometheus:prometheus /usr/local/prometheus-2.5.0/
vim start.sh
#!/bin/bash
#
./prometheus --config.file=prometheus.yml >>Prometheus.log &>/dev/null &
prometheus:./start.sh
Grafana:systemctl start grafana-server.service
Node2:
tar xzf node_exporter.tar.gz -C /usr/local/
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus
chown -R prometheus:prometheus /usr/local/node_exporter/
vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter --web.listen-address=:9100 --collector.textfile.directory=/usr/local/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl start node_exporter.service
systemctl enable node_exporter.service
url:http://192.168.143.130:9090
根据输入的key找到你要监控的数据,Element下面的是向grafana上添加的公式
url: http://192.168.143.130:3000
默认用户名密码admin
添加DataSource,type中选择prometheus,url中输入prometheus地址,name中输入该DataSource名称,保存
在DataSource选择添加好的数据源,在空白处填入监控公式
import导入
输入表盘模版url: https://grafana.com/dashboards/8919
选择数据源
启动时加参数--collector.textfile.directory
[root@node2 node_exporter]# cat /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter --web.listen-address=:9100 --collector.textfile.directory=/usr/local/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
[root@node2 node_exporter]# cat mysql_status.sh
#!/bin/bash
systemctl status mariadb.service |grep running &>/dev/null
if [ $? -eq 0 ];then
echo "mysql_status 0"
else
echo "mysql_status 1"
fi
后缀为.prom,文件中存自定义的key value值
./mysql_status.sh >mysql_status.prom
参考文章
? Prometheus github:https://github.com/prometheus
? grafana github:https://github.com/grafana/grafana
? Prometheus node_exporter:https://github.com/prometheus/node_exporter
? Prometheus配置文件详解:https://prometheus.io/docs/prometheus/latest/configuration/configuration/
? 公司大牛写的部署文档
标签:环境 常用 enable 组件 开源 时间序列数据 程序 images roc
原文地址:https://blog.51cto.com/jiayimeng/2380214