实验环境:
106.12.88.74 ---> influxdb 1.7.6 Centos 7.5
106.12.88.228 ---> Grafana 6.2.2.1 Centos 7.5
+++++++++++++++++++++++++++++++++
内存监控:[ 106.12.88.74 上面,写python 脚本。]
vim /data/influxdb/virtual_memory.py
from influxdb import InfluxDBClient
import psutil
virtual_memory = psutil.virtual_memory()
client = InfluxDBClient('127.0.0.1', 8086, 'xc', 'w…123', 'shijiange')
data_list = [{'measurement': 'memory', 'tags': {'item': 'total'}, 'fields': {'value': float(virtual_memory.total)}}]
client.write_points(data_list)
data_list = [{'measurement': 'memory', 'tags': {'item': 'available'}, 'fields': {'value': float(virtual_memory.available)}}]
client.write_points(data_list)
data_list = [{'measurement': 'memory', 'tags': {'item': 'used'}, 'fields': {'value': float(virtual_memory.used)}}]
client.write_points(data_list)
保存退出。执行脚本,登录influxdb 查看有无数据
添加到linux的crontab任务,然后图表展示观察
vim /etc/crontab
保存退出。
登录Grafana(106.12.88.228) 创建新的一个面板mem_jk存放在shijiange这个文件夹
添加图形:
内存的换算一般都是用的1024的比例,Grafana上两个单位
data(iec) 这个是按照1024比例来算的
data(metric) 这个是按照1000比例来算的
保存
磁盘监控:
vim /data/influxdb/disk.py
from influxdb import InfluxDBClient
import psutil
client = InfluxDBClient('127.0.0.1', 8086, 'xc', 'w…123', 'shijiange')
for one_disk in psutil.disk_partitions():
mountpoint = one_disk.mountpoint
diskused = psutil.disk_usage(mountpoint).percent
data_list = [{'measurement': 'disk', 'tags': {'item': 'diskused.%s' % mountpoint}, 'fields': {'value': float(diskused)}}]
client.write_points(data_list)
保存退出,运行脚本 。
添加到linux的crontab任务,然后图表展示观察
保存退出。
登录Grafana(106.12.88.228) 创建新的一个面板net_jk存放在shijiange这个文件夹
添加图形:
网卡流量监控:
vim /data/influxdb/traffic.py
from influxdb import InfluxDBClient
import psutil
client = InfluxDBClient('127.0.0.1', 8086, 'xc', 'w…123', 'shijiange')
for netname, netinfo in psutil.net_io_counters(pernic=True).items():
bytes_sent = netinfo.bytes_sent
bytes_recv = netinfo.bytes_recv
data_list = [{'measurement': 'traffic', 'tags': {'item': 'bytes_sent.%s' % netname}, 'fields': {'value': bytes_sent}}]
client.write_points(data_list)
data_list = [{'measurement': 'traffic', 'tags': {'item': 'bytes_recv.%s' % netname}, 'fields': {'value': bytes_recv}}]
client.write_points(data_list)
保存退出。运行这个脚本,登录数据库,查看数据。
添加到linux的crontab任务,然后图表展示观察
登录Grafana(106.12.88.228) 创建新的一个面板net_jk存放在shijiange这个文件夹
添加图形:
流量单位说明(每秒的流量,无负数)
通过psutil收集到的是Bytes,流量单位一般bit,所以说还乘以8
说明
influxdb+grafana的组合监控硬件并不是好选择,如果熟悉Zabbix的话,推荐Zabbix来监控硬件。
influxdb+grafana的组合用来监控业务数据是非常好用的。