系统性能指标监控工具搭建

同样由于项目需要,在节点上部署了influxdb,Prometheus,Grafana三个工具。

若直接使用搭建好的服务器,请登陆101节点,启动三个服务

Influxdb:

service influxdb start

Prometheus:

systemctl start prometheus.service

Grafana:

systemctl start grafana-server.service

一、Ceph文件系统指标监控

解决方案:Prometheus+ceph_exporter+Grafana
服务器需求:ceph_exporter安装在ceph服务器上
Prometheus和Grafana安装在一个独立服务器(pve)上

1、ceph_export搭建(在任意一台ceph_monitor上搭建)

(1)下载ceph_exporter

·Wget http://static.zybuluo.com/zphj1987/jiwx305b8q1hwc5uulo0z7ft/ceph_exporter-2.0.0-1.x86_64.rpm

(2)安装

rpm -qpl ceph_exporter-2.0.0-1.x86_64.rpm
rpm -ivh ceph_exporter-2.0.0-1.x86_64.rpm

(3)启动

/usr/bin/ceph_exporter &

2、Prometheus搭建(安装在独立服务器中)

(1)下载安装

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/

(2)配置service

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

(3)启动

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

(4)修改Prometheus配置文件

sudo vim /etc/prometheus/prometheus.yml
...
scrape_configs:
- job_name: 'ceph_exporter'
static_configs:
- targets: ['${cephmonitor的IP}:9128']
  labels:
    alias: ceph_exporter
...

(5)重启

sudo systemctl restart prometheus.service

3、Grafana安装(安装在独立服务器中(pve))

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登陆用户名和密码

4、添加grafana数据库连接信息

如图,点击datasource按钮提那就数据库信息
其中,虚拟机的资源监控是通过influxdb存储的,而ceph信息监控是使用Prometheus存储的。一次性添加两类数据库信息

在influxdb数据库信息中,需要输入influxdb访问URL,端口默认8086,进一步输入数据库名称和用户名密码,点击Save&Test按钮保存并测试数据库是否连接成功。

在Prometheus数据库信息中,只需要填写访问URL即可

5、添加grafana仪表盘

Grafana主页中点击import

将文件夹下的json内容复制到框中,点击load,注意修改json中的datasource名称为grafana

二、各台服务器性能指标监控

解决方案:telegraf+influxdb+grafana
服务器需求:将influxdb,Prometheus,grafana安装在同一台服务器(虚拟机)中。

1、Influxdb安装指南

(1)下载

wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.4_amd64.deb
sudo dpkg -i influxdb_1.2.4_amd64.deb

(2)修改配置信息/etc/influxdb/influxdb.conf

bind-address = “虚拟机ip:8088”

(3)启动influxdb

service influxdb start

(4)创建数据库

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

2、telegraf安装指南

(若需要动态添加监控的虚拟机,则直接在新的虚拟机中安装telegraf即可)

(1)修改虚拟机hostname

(监控工具是根据虚拟机hostname来区分每台虚拟机的监控数据的)
vim /etc/hostname

(2)修改本文档所在文件夹下的telegraf.conf

将其中的outputs.influxdb的urls修改为influxdb所在虚拟机的ip和端口号。

(3)将telegraf.sh和telegraf.conf放入虚拟机中的任意目录下(两个文件必须在同一个目录下)

(4)root运行telegraf.sh(运行后自动启动telegraf)

(5)Telegraf安装完成后启动程序自动生成到/usr/bin/目录下的telegraf文件

配置文件位置:/etc/telegraf/telegraf.conf

(6)在grafana中查看虚拟机信息(host下拉框可切换虚拟机)

注意!:
在influxdb启动后,为新的机器配置telegraf并启动后,influxdb需要重新启动,不然grafana前端页面由于influxdb出现问题而造成卡顿。
Influxdb目前安装在192.168.11.101节点上,执行命令systemctl restart influxdb.service

相关教程链接:

Ceph监控:

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

三、API接口调用失败次数

解决方案:
为了方便监控数据的统一查看,将接口调用失败次数放入grafana统一展现。

(1)数据来源

API接口调用失败后,后台自动向memsql数据库中的tbl_api_error_log表中插入一条数据记录。

(2)Grafana数据源添加

在Grafana中添加一个mysql数据源,输入数据库访问的用户和密码。

(3)Grafana仪表盘导入

点击grafana页面中的仪表盘导入按钮,将API接口调用次数统计.json文件的内容复制进入 paste Json中,点击Load按钮即可成功,注意json中的datasource名应该与配置的数据库名称一致。

你可能感兴趣的:(服务运维)