同样由于项目需要,在节点上部署了influxdb,Prometheus,Grafana三个工具。
若直接使用搭建好的服务器,请登陆101节点,启动三个服务
Influxdb:
service influxdb start
Prometheus:
systemctl start prometheus.service
Grafana:
systemctl start grafana-server.service
解决方案:Prometheus+ceph_exporter+Grafana
服务器需求:ceph_exporter安装在ceph服务器上
Prometheus和Grafana安装在一个独立服务器(pve)上
·Wget http://static.zybuluo.com/zphj1987/jiwx305b8q1hwc5uulo0z7ft/ceph_exporter-2.0.0-1.x86_64.rpm
rpm -qpl ceph_exporter-2.0.0-1.x86_64.rpm
rpm -ivh ceph_exporter-2.0.0-1.x86_64.rpm
/usr/bin/ceph_exporter &
wget http://static.zybuluo.com/zphj1987/jiwx305b8q1hwc5uulo0z7ft/ceph_exporter-2.0.0-1.x86_64.rpm`
wget https://github.com/prometheus/prometheus/releases/download/v2.0.0/prometheus-2.0.0.linux-amd64.tar.gz
tar zxvf prometheus-2.0.0.linux-amd64.tar.gz
cd prometheus-2.0.0.linux-amd64/
sudo cp prometheus /usr/bin/
sudo cp promtool /usr/bin/
vim /lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus: the monitoring system
Documentation=http://prometheus.io/docs/
[Service]
ExecStart=/usr/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.console.templates=/etc/prometheus/consoles --web.console.libraries=/etc/prometheus/console_libraries --web.listen-address=0.0.0.0:9090 --web.external-url=
Restart=always
StartLimitInterval=0
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo mkdir /etc/prometheus/
sudo cp -R consoles console_libraries prometheus.yml /etc/prometheus/
sudo mkdri /var/lib/prometheus/
sudo systemctl daemon-reload
sudo systemctl enable prometheus.service
sudo systemctl start prometheus.service
sudo vim /etc/prometheus/prometheus.yml
...
scrape_configs:
- job_name: 'ceph_exporter'
static_configs:
- targets: ['${cephmonitor的IP}:9128']
labels:
alias: ceph_exporter
...
sudo systemctl restart prometheus.service
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.5.2_amd64.deb
sudo apt-get -f install
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_4.5.2_amd64.deb
启动grafana
Systemctl start grafana-server.service
登陆Grafana网站
ip:3000
可根据配置文件设置grafana登陆用户名和密码
如图,点击datasource按钮提那就数据库信息
其中,虚拟机的资源监控是通过influxdb存储的,而ceph信息监控是使用Prometheus存储的。一次性添加两类数据库信息
在influxdb数据库信息中,需要输入influxdb访问URL,端口默认8086,进一步输入数据库名称和用户名密码,点击Save&Test按钮保存并测试数据库是否连接成功。
在Prometheus数据库信息中,只需要填写访问URL即可
Grafana主页中点击import
将文件夹下的json内容复制到框中,点击load,注意修改json中的datasource名称为grafana
解决方案:telegraf+influxdb+grafana
服务器需求:将influxdb,Prometheus,grafana安装在同一台服务器(虚拟机)中。
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.4_amd64.deb
sudo dpkg -i influxdb_1.2.4_amd64.deb
bind-address = “虚拟机ip:8088”
service influxdb start
create database telegraf_data
查看数据库保存数据时间
SHOW RETENTION POLICIES ON telegraf_data
进入数据库
USE telegraf_data
修改数据库数据保存时间为1天
create retention policy "24_hours" on "telegraf_data" duration 24h replication 1 default
(若需要动态添加监控的虚拟机,则直接在新的虚拟机中安装telegraf即可)
(监控工具是根据虚拟机hostname来区分每台虚拟机的监控数据的)
vim /etc/hostname
将其中的outputs.influxdb的urls修改为influxdb所在虚拟机的ip和端口号。
配置文件位置:/etc/telegraf/telegraf.conf
注意!:
在influxdb启动后,为新的机器配置telegraf并启动后,influxdb需要重新启动,不然grafana前端页面由于influxdb出现问题而造成卡顿。
Influxdb目前安装在192.168.11.101节点上,执行命令systemctl restart influxdb.service
http://www.zphj1987.com/2018/07/17/ceph-web-monitor-system-grafana/
https://m.2cto.com/net/201801/712794.html
https://blog.51cto.com/nuestan/1878235
https://www.jianshu.com/p/fe11d681bd58
解决方案:
为了方便监控数据的统一查看,将接口调用失败次数放入grafana统一展现。
API接口调用失败后,后台自动向memsql数据库中的tbl_api_error_log表中插入一条数据记录。
在Grafana中添加一个mysql数据源,输入数据库访问的用户和密码。
点击grafana页面中的仪表盘导入按钮,将API接口调用次数统计.json文件的内容复制进入 paste Json中,点击Load按钮即可成功,注意json中的datasource名应该与配置的数据库名称一致。